Tamanho USB errado após gravação dd de uma imagem ISO

Tamanho USB errado após gravação dd de uma imagem ISO

Acabei ddde colocar o arquivo ISO do Kali Linux em meu USB. Tentei então instalar o Kali Linux via USB, mas não consegui porque a imagem de instalação estava corrompida. Inicializei novamente em meu outro sistema operacional Linux (antergos) e tentei usar ddnovamente. Meu stick USB agora diz que tem 32 KB e o fdisk não consegue detectá-lo.

É originalmente um stick USB 2.0 de 8 GB.

Para substituir o MBR e a tabela de partição, tentei sem sucesso:

dd if=/dev/zero of=/dev/sdx bs=512 count=1

Responder1

Seu pendrive falhou.

Algumas unidades retornam tamanhos diferentes quando falham, embora eu só tenha lido sobre isso em relação aos "SSDs", que possuem controladores mais complexos.

Para verificar novamente o tamanho da unidade como um todo, eu usaria lsblkou examinaria o log do kernel dmesg. (O tamanho das partiçõesdentro deo dispositivo pode ser completamente falso dependendo da tabela de partições; você poderia fazer isso sem ter uma falha de hardware).

Se o tamanho estiver bom, existem maneiras de tentar recuperar dados importantes. Mas não parece que você precisa - você ainda tem acesso ao arquivo Kali ISO.

Pendrives USB simples não foram projetados com nenhum diagnóstico de hardware extra[*]. Depois de saber que o hardware falhou, é isso. O tamanho da unidade como um todo está errado ou a unidade não retorna os dados que você gravou (sugerido pela falha de fdisk), seria suficiente para indicar tal falha.

[*] Acho que eles nem foram projetados para usos em que os ciclos máximos de reescrita esperados do armazenamento flash se tornem um problema. É muito mais provável que eles simplesmente quebrem ou se percam.

Responder2

Isso pode acontecer quando o virtualgeometria do discoé detectado incorretamente. Primeiro tente reiniciar antes de continuar.

Aviso :Não acho que isso possa ser prejudicial para sua chave USB, mas se você não quiser correr nenhum risco, teste primeiro a formatação no Windows.

Este guia pressupõe que você dirige /dev/sdb, adapte-o às suas necessidades.
Em um terminal, pesquise a saída de dmesgtal linha sd 5:0:0:0: [sdb] 62545920 512-byte logical blocks: (32.0 GB/29.8 GiB)
. Isso informa:

  • O número de setores (blocos lógicos):62545920
  • O tamanho dos setores: 512bytes
  • O tamanho real da mídia:32.0 GB/29.8 GiB

Agora calcule o tamanho exato da mídia em bytes: 62545920 * 512 = 32023511040 bytes = 30540 MiB(29,82GiB).
Em seguida, encontre uma combinação CHS válida que leve a C * H * S = 62545920
Ou se você estiver com preguiça, com tamanho de bloco de 512 bytes, isso deve funcionar: C=30540(o tamanho em MiB!), H=64eS=32

Finalmente, execute sudo fdisk -C 30540 -H 64 -S 32e escreva uma nova tabela de partição para corrigir.
Reinicie se as alterações não forem detectadas corretamente.

Responder3

Eu sei que este lugar é sobre unix, mas quando tenho esse problema encontro uma windowsmáquina e uso diskpart(é necessário acesso de administrador). Porque quando fdiskfalha, isso simplesmente funciona; talvez ajude alguém.
Não posso tentar as instruções agora, mas deve ser algo como: list disk, select disk i, clean, create partition primary, format fs=fat32 quick, active, assign, exit.
E o tamanho do seu stick USB agora está OK (mas é claro que você perdeu seus dados).
Também estou interessado em uma maneira equivalente de conseguir isso com o Linux.

NB: Não tenho certeza se o tamanho errado indica que ddfalhou. De qualquer forma, não se esqueça de anexar && syncao seu ddcomando.

informação relacionada