AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 761173
Accepted
user3450548
user3450548
Asked: 2023-11-11 06:43:13 +0800 CST2023-11-11 06:43:13 +0800 CST 2023-11-11 06:43:13 +0800 CST

fdisk -l em uma unidade USB dá uma resposta muito estranha

  • 772

Hoje eu detonei uma antiga unidade flash USB3 de 8 GB em uma máquina Linux com:

dd if=/dev/random of=/dev/sdb

então coloquei em um pc windows, ele me pediu para formatá-lo, fiz uma formatação estendida com valores padrão como tamanho de bloco 4k, fat32 e assim por diante, copiei alguns arquivos que precisava e coloquei na minha nova máquina instalada com debian 12 e isso é o que o fdisk diz:

Disk /dev/sdb: 7.32 GiB, 7864320000 bytes, 15360000 sectors
Disk model: ****************
Units: sector of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minum/optimal): 512 bytes/ 512 bytes
Disklabel type: dos
Disk identifier: 0x********

Device      Boot         Start             End     Sectors    Size  Id  Type
/dev/sdb1            778135908      1919645538  1141509631  544.3G  72  unknown
/dev/sdb2            168689522      2104717761  1936028240  923.2G  65  Novell Netware 386
/dev/sdb3           1869881465      3805909656  1936028192  923.2G  79  unknown
/dev/sdb4           2885681152      2885736650  55499        27.1M   d  unknown

Partition table entries are not in disk order.

Por que existem 4 partições na unidade USB, sendo 2 delas com cerca de 900 gigas e uma de 500 em uma unidade USB de 8 GB? É um making of da máquina windows? Durante a formatação no Windows solicitei explicitamente um formato estendido (zerofilling).

Tentei montar a unidade com:

mount -t vfat /dev/sdb /mnt/flashdrive

e o conteúdo está montado corretamente, os arquivos que copiei do windows pc estão lá.

Devo considerar a unidade danificada ou sequestrada por algum tipo de vírus? Esta unidade pode ser confiável ou devo considerar isso um problema de segurança? Poderia ser um bug do fdisk?

Obrigado


Achei que poderia ser algo relacionado ao fato de ter escrito dados aleatórios e talvez esses dados aleatórios no setor mbr pudessem ter feito com que a unidade aparecesse com múltiplas partições, mas não é o caso. Eu tenho 3 pen drives idênticos e repeti o mesmo procedimento desta vez dd if=/dev/zeroem vez de aleatório e obtive o mesmo resultado.

Para mim, o Windows formata a unidade de uma maneira estranha, tornando a unidade uma unidade flash fat32 funcional, mas deixando o fdisk e o gdisk enlouquecidos.

Tentei colocar a unidade dentro do Acronis Disk Director e ela os detectou corretamente como unidades flash fat32, no entanto, como o Acronis Disk Director ainda é uma distribuição Linux, alternando no console e executando fdisk -l, o mesmo esquema de partição estranho acontece. Embora a GUI do Acronis detecte tudo corretamente, o fdisk do console não. Acronis GUI, no entanto, mesmo que permita o formato da partição principal, não permite que o disco seja limpo, crie partições adicionais ou algo parecido, também o chama de "Super Floppy" ...

Poderia ser um problema causado pela forma como o fabricante criou a unidade USB?


EDIT: adicionei saída gdisk

gdisk -l /dev/sdb
GPT fdisk (gdisk) version 1.0.9

Partition table scan:
    MBR: MBR only
    BSD: not present
    APM: not present
    GPT: not present

***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************

Exact type not match not found for type code 7200; assigning type code for
'Linux filesystem'
Exact type not match not found for type code 6500; assigning type code for
'Linux filesystem'
Exact type not match not found for type code 7900; assigning type code for
'Linux filesystem'
Exact type not match not found for type code 0D00; assigning type code for
'Linux filesystem'

Warning! Secondary partition table overlaps the last partition by
3790549690 blocks!
You will need to delete this partition or resize it in another utility.
Model: DataTraveler 3.0
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): *************************
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 15359966
Partitions will be aligned on 1-sector boundaries
Total free space is 15359933 sectors (7.3 GiB)

Number          Start (sector)      End(sector)          Size           Code                Name
   1                 778135908      1919645538      544.3 GiB           8300    Linux filesystem
   2                 168689522      2104717761      923.2 GiB           8300    Linux filesystem
   3                1869881465      3805909656      923.2 GiB           8300    Linux filesystem
   4                2885681152      2885736650       21.7 MiB           8300    Linux filesystem
debian
  • 2 2 respostas
  • 56 Views

2 respostas

  • Voted
  1. Best Answer
    xhienne
    2023-11-11T21:12:56+08:002023-11-11T21:12:56+08:00

    Não conheço o formato estendido do Windows, mas você disse que mount -t vfat /dev/sdb /mnt/flashdriveestá montado corretamente dá uma dica útil.

    Com esse comando, você está montando a unidade inteira, não uma partição dela ( /dev/sdb1,, /dev/sdb2etc.). Isso significa que o Windows não criou uma tabela de partição e usou todos os setores, do primeiro ao último, como área VFAT.

    Se não houver tabela de partições, então o que fdisk(ou gdisk) é exibido não é relevante.

    Devo considerar a unidade danificada

    Não, a menos que você tenha salvo a "tabela de partição" com fdisk(ou gdisk).

    ou sequestrado por algum tipo de vírus?

    Não.

    Esta unidade pode ser confiável ou devo considerar isso um problema de segurança?

    Nada na sua pergunta sugere que não seja confiável.

    Poderia ser um bug do fdisk?

    Não. fdiské uma ferramenta para manipular uma tabela de partições. O que ele exibe é qual seria a tabela de partições se houvesse uma, mas não há nenhuma. É por isso que é importante que você não modifique/salve a tabela de partições com fdisk.

    Achei que poderia ser algo relacionado ao fato de eu ter escrito dados aleatórios (...)

    Não, é a forma como o disco foi formatado.

    • 2
  2. Kamil Maciorowski
    2023-11-11T21:18:24+08:002023-11-11T21:18:24+08:00

    Um superfloppy (uma unidade com um sistema de arquivos em todo o dispositivo, sem uma tabela de partição) ainda contém o fragmento que de outra forma define uma tabela de partição DOS.

    O objetivo de fdiskou gdiské trabalhar com tabelas de partição. Se não houver, nenhuma das ferramentas sabe disso antecipadamente e tenta ao máximo interpretar os dados como uma tabela de partição. Em alguns casos eles podem dizer com certeza que não existe tabela de partição (por exemplo, quando há todos zeros), em muitos casos não podem.

    A questão é que até dados aleatórios podem ser interpretados como uma tabela de partição (mais ou menos insana). Isto é o que você vê no seu dispositivo. Uma configuração semelhante está nesta questão: O Windows não monta superfloppy USB NTFS ; você pode obter algumas dicas da minha resposta lá.

    Ver tabelas de partições malucas é uma das razões para preferir criar uma tabela de partições mesmo para um único sistema de arquivos . Parece que o seu Windows sabia melhor. O Windows e apenas o Windows são os culpados. O disco em si está bom (ou melhor, não há evidências de que esteja danificado).

    Contanto que você possa montar o sistema de arquivos em todos os sistemas que usa, não há problema. Não sei dizer se o Windows nunca será enganado pela "bagunça" que fez, mas no Linux você sempre pode montar explicitamente /dev/sdbe simplesmente não usar /dev/sdb1e tal, se aparecerem.

    Mas se você quiser tornar a configuração mais sensata, comece de novo. Use dd if=/dev/zero of=/dev/sdb bs=512 count=1, então fdisk /dev/sdbe crie uma tabela de partição dos com exatamente uma partição primária (os valores padrão dos setores inicial e final devem ser adequados), seu tipo deve ser 0C( W95 FAT32 (LBA)). Deixe a ferramenta escrever a tabela de partições. Em seguida, crie um sistema de arquivos FAT32 sdb1(no Linux; ou deixe o Windows fazer isso, espero que respeite a nova tabela de partições).

    • 2

relate perguntas

  • Configuração do GRUB para reconhecer diferentes ambientes de desktop (instalações) da mesma distribuição Linux

  • astyle não altera a formatação do arquivo de origem

  • Recebendo e-mail em um novo Debian fresco

  • Debian Stretch: gnome-software segfault em libgs_plugin_systemd-updates.so

  • Como digitar ü no Pinyin IME?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve