mkfsdos: определить размер файловой системы FAT16 | 32 на USB-накопителе в Linux

Вопрос : Как определить размер файловой системы FAT16 / FAT 32 с помощью mkdosfs в Linux?

Я хочу создать файловую систему размером 2 ГБ FAT16 | 32 на разделе размером 8 ГБ или больше?

Вот как я догадался:

  • создал раздел с fdisk
  • mkdosfs -F 16 /dev/sdb1 создает файловую систему FAT16 над разделом WHOLE – если это не больше, чем 4 ГБ, я знаю
  • mkdosfs -F 32 /dev/sdb1 создает файловую систему FAT32 над разделом WHOLE. Я знаю, что это значение по умолчанию и что я не буду указывать -F 32 но ради полноты и стиля …
  • по словам man mkdosfs размер файловой системы должен определяться как последний аргумент
  • КАК?! Пока все мои попытки определить размер возвратили сообщения об ошибках. Все они.

Угадав, что я просто столкнулся с недоразумением в массе и разочаровался в том, что не смог решить такой простой вопрос сам по себе, я действительно задаюсь вопросом, где, черт возьми, я что-то пропустил, определяя размер ?!

  • dpkg заменяет файлы в файловой системе FAT
  • Почему Linux помечает FAT как «грязную» просто из-за ее установки?
  • One Solution collect form web for “mkfsdos: определить размер файловой системы FAT16 | 32 на USB-накопителе в Linux”

    Это сработало для меня:

     # 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 

    Альтернативный подход, если mkfs не имеет возможности ограничить размер, заключается в создании устройства с ограничением:

     # 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 

    Конечно, если это раздел, вы также можете уменьшить размер раздела, а затем снова увеличить его.

    Linux и Unix - лучшая ОС в мире.