Disco USB de 8 GB listado apenas a 512B ou 10MB?

1

Eu fiz uma unidade USB do Arch Linux ISO e estou tentando restaurá-la usando as instruções do wiki do Arch Linux. Depois de correr:

$ sudo dd count=1 bs=512 if=/dev/zero of=/dev/sde && sync

parted apenas reconhece um setor com 512 bytes:

$ sudo parted /dev/sde -s print
Error: /dev/sde: unrecognised disk label
Model:  (file)
Disk /dev/sde: 512B
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

E não consigo criar novas partições:

$ sudo parted /dev/sde -s mklabel msdos
$ sudo parted /dev/sde -s mkpart primary fat32 0% 100%
Error: Can't have the end before the start! (start sector=1 length=0)
Error: Unable to satisfy all constraints on the partition.

Deixar as sinalizações count e bs para dd resultam em apenas 10 MB sendo escrito, e não o disco inteiro:

$ sudo dd if=/dev/zero of=/dev/sde && sync
dd: writing to ‘/dev/sde’: No space left on device
20481+0 records in
20480+0 records out
10485760 bytes (10 MB) copied, 0.0177212 s, 592 MB/s
$ sudo parted /dev/sde -s print
Error: /dev/sde: unrecognised disk label
Model:  (file)
Disk /dev/sde: 10.5MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
    
por randomdev2 08.12.2015 / 22:32

2 respostas

3

(Como sugerido por Gilles), você não está trabalhando no seu dispositivo USB.

A pista número um é a Model na saída de

$ sudo parted /dev/sde -s print
Error: /dev/sde: unrecognised disk label
Model:  (file)                                     <= file!
...
  • Seu comando:

    sudo dd count=1 bs=512 if=/dev/zero of=/dev/sde && sync
    

cria um arquivo preenchido com zero em /dev/sde de 512 bytes.

  • Quando você tenta gravar em disco inteiro:

    sudo dd if=/dev/zero of=/dev/sde && sync
    

você escreve no arquivo /dev/sde até que não haja mais espaço na partição contendo /dev .

    dd: writing to ‘/dev/sde’: No space left on device

Como /dev , (provavelmente), é na verdade disco RAM, ( udev ), você exaure o limite definido nessa partição ...

Ao trabalhar com dd , o trabalho no disco correto é extremamente importante. Se você tivesse outro disco chamado /dev/sde , ele teria sido apagado. Completamente. Conforme observado em seu Arch Wiki vinculado:

Warning: This will irrevocably destroy all data on /dev/sdx.

Depois de conectar o dispositivo USB, veja, por exemplo:

lsblk

Se você quiser mais informações, por exemplo, veja man ou -h :

lsblk -o NAME,STATE,RM,HOTPLUG,TYPE,TRAN,SIZE,PHY-SEC,LOG-SEC,FSTYPE,MODEL,VENDOR,LABEL,PARTLABEL

E: Os dispositivos NÃO recebem a mesma entrada dev/xxx todas as vezes. É aleatório.

Outras notas:

Quando você faz:

sudo parted /dev/sde -s mklabel msdos

você cria uma tabela de partições msdos no arquivo /dev/sde . Isso funciona bem. Mas quando você prossegue:

sudo parted /dev/sde -s mkpart primary fat32 0% 100%

você tenta criar uma partição primária no arquivo e receber o erro:

Error: Can't have the end before the start! (start sector=1 length=0)

porque ele se recusa a iniciar a partição no setor 0, onde sua tabela de partições, aqui msdos , reside. Portanto, teste para start setor 1, ou offset 512. Mas como o arquivo tem apenas 512 bytes, o setor end também estaria em 512 e você obtém um “ terminar antes do início ”.

O tamanho mínimo para uma partição fat32 é de qualquer forma 65.527 clusters, ou cerca de 32MB.

    
por 09.12.2015 / 07:19
3

Eu resolvi um problema muito semelhante com:

rm /dev/sdb

com meu drive USB conectado (e listado como / dev / sdb).

Depois disso, posso criar uma nova tabela de partições para toda a unidade.

    
por 05.02.2016 / 14:45