mkfsdos: define o tamanho do sistema de arquivos FAT16 | 32 no USB pendrive no Linux

3

Pergunta : Como se define o tamanho de um sistema de arquivos FAT16 / FAT 32 com mkdosfs no Linux

Eu quero criar um sistema de arquivos FAT16 | 32 de 2 GB em uma partição no tamanho de 8 GB ou mais?

Isto é o quão longe eu cheguei:

  • criou uma partição com fdisk
  • mkdosfs -F 16 /dev/sdb1 cria um sistema de arquivos FAT16 sobre a partição INTEIRA - desde que não seja maior que 4 GB, eu sei
  • mkdosfs -F 32 /dev/sdb1 cria um sistema de arquivos FAT32 sobre a partição INTEIRO. Eu sei que este é o padrão e que eu não especificaria -F 32 , mas por questão de perfeição e estilo…
  • de acordo com man mkdosfs , o tamanho do sistema de arquivos deve ser definido como o último argumento
  • COMO ?! Até agora, todas as minhas tentativas de definir o tamanho retornaram mensagens de erro. Todos eles.

Adivinhando que acabei de me deparar com um mal-entendido de massice e de estar frustrado por não conseguir resolver uma pergunta tão simples sozinho, eu realmente me pergunto onde diabos eu senti falta de algo para definir o tamanho?

    
por erch 15.02.2014 / 18:40

1 resposta

4

Isso funcionou para mim:

# truncate -s 8G foobar
# losetup -f --show foobar
/dev/loop0
# mkdosfs -F 32 /dev/loop0 $((2*1024*1024))
mkfs.fat 3.0.25 (2014-01-17)
Warning: block count mismatch: found 8388608 but assuming 2097152.
Loop device does not match a floppy size, using default hd params
# mount /dev/loop0 /mnt/tmp
# df -h /mnt/tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      2.0G  4.0K  2.0G   1% /mnt/tmp

Uma abordagem alternativa, caso o mkfs não tenha uma opção para limitar o tamanho, é criar um dispositivo de loop com limite:

# losetup -f --show --sizelimit $((2*1024*1024*1024)) /dev/loop0
/dev/loop1
# mkdosfs -F 32 /dev/loop1
mkfs.fat 3.0.25 (2014-01-17)
Loop device does not match a floppy size, using default hd params
# mount /dev/loop0 /mnt/tmp
# df -h /mnt/tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop0      2.0G  4.0K  2.0G   1% /mnt/tmp

Claro, se for uma partição, você também pode reduzir a partição e ampliá-la novamente.

    
por 15.02.2014 / 19:22

Tags