Não é possível definir o tipo de partição corretamente usando o parted

1
Estou tentando criar um pendrive inicializável com o FreeDos para atualizações do BIOS no Centos 6.5, seguindo instruções de: "este site"> chtaube.de

Eu criei o arquivo img vazio de 30 MB usando dd :

[root@dumbledore freedos_boot]# dd if=/dev/zero of=FreeDos-image.img bs=1M 
count=30
30+0 records in
30+0 records out
31457280 bytes (31 MB) copied, 0.0756911 s, 416 MB/s

O autor do artigo mencionado diz que este comando deve copiar 30MB e 31MB. Isso é um problema?

Então eu uso parted para criar partições no arquivo FreeDos-image.img resultante.

root@dumbledore freedos_boot]# parted FreeDos-image.img 
GNU Parted 2.1
Using /home/dthacker/freedos_boot/FreeDos-image.img
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit %
(parted) mklabel msdos                                                     
(parted) mkpart primary fat16 0 100%
Warning: The resulting partition is not properly aligned for best performance. 
Ignore/Cancel? C                                                          
(parted) mkpart primary fat32 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I                                                          
(parted) set 1 boot on                                                    
(parted) p                                                                  
Model:  (file)
Disk /home/dthacker/freedos_boot/FreeDos-image.img: 100%
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start  End   Size  Type     File system  Flags
1      0.00%  100%  100%  primary               boot, lba                                                                                                               

O tipo de sistema de arquivos deve ser FAT16, mas não está sendo definido.

O que preciso fazer de diferente para configurá-lo corretamente?

    
por user2299797 03.07.2014 / 16:28

1 resposta

2

Eu sou o autor dessas instruções no chtaube.eu:)

dd é um pouco inconsistente quando se trata de tamanhos: bs=1M define um tamanho de bloco de 1 mebibyte significando 1024 * 1024 bytes. 30 mebibytes são 30 * 1024 * 1024 = 31457280 bytes. A saída final de dd usa o megabyte decimal com 1 MB = 1000 * 1000 bytes. É por isso que é mostrado como 31 MB. Então não há nada para se preocupar. Eu escolhi conservativamente o tamanho um pouco menor do que 32 mebibytes para garantir que caberia em uma unidade flash USB anunciada como "32 MB".

Acabei de verificar esse problema com parted no Arch Linux e no Debian e consegui reproduzir isso.

Parece um problema cosmético de parted para mim, já que a saída do comando p (print) mostra um sistema de arquivos "em branco" enquanto a partição é criada corretamente como FAT16.

Você pode verificar isso com fdisk -l FreeDos-image.img , exatamente como eu fiz nesse texto datilografado abaixo:

ct@darkstar ~/tmp % dd if=/dev/zero of=Freedos.img bs=1M count=30
30+0 records in
30+0 records out
31457280 bytes (31 MB) copied, 0.150141 s, 210 MB/s
ct@darkstar ~/tmp % parted Freedos.img 
WARNING: You are not superuser.  Watch out for permissions.
GNU Parted 3.1
Using /home/ct/tmp/Freedos.img
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit %                                                           
(parted) mklabel msdos                                                    
(parted) mkpart primary fat16 0 100%                                      
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i                                                          
(parted) set 1 boot on                                                    
(parted) p                                                                
Model:  (file)
Disk /home/ct/tmp/Freedos.img: 100%
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End   Size  Type     File system  Flags
 1      0.00%  100%  100%  primary               boot, lba

(parted) q                                                                
ct@darkstar ~/tmp % fdisk -l Freedos.img 

Disk Freedos.img: 30 MiB, 31457280 bytes, 61440 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0007cae1

Device       Boot Start       End Blocks  Id System
Freedos.img1 *        1     61439  30719+  e W95 FAT16 (LBA)

ct@darkstar ~/tmp % 

Portanto, não deve haver nada de errado ao seu lado. De qualquer forma, obrigado por apontar isso. Vou dar uma olhada mais profunda no comportamento de parted e atualizar o manual na minha página de acordo.

    
por 03.07.2014 / 21:15