Fat32 и диски больших объемов

Версия для печатиВерсия для печати

Недавно появилась задача использовать старый жесткий диск от ноутбука как обычную флэшку и присоединять его к dvd-плейеру, который может читать флэш-накопители. Размер диска составляет 40 Gb и его родная файловая система глазами Windows - ntfs. Но dvd-плейер про данный формат файловой системы ничего не слышал, в результате, как говорится "кина не будет".

Дело в том, что штатными средствами Windows 2000, Windows XP, Windows Vista и Windows 7 невозможно создать разделы FAT32 более 32 ГБ, но с такими разделами возможно работать, если они были созданы в других операционных системах. Причиной этого является то, что, по мнению Microsoft, при увеличении размера тома FAT32 выше 32 ГБ существенно падает производительность системы, и что более подходящее решение в данном случае - использование NTFS, то есть родной формат файловой системы для Windows 2000 и Windows XP.

Максимально возможное число кластеров в FAT32 равно 268 435 445, что позволяет использовать тома (логические диски) объёмом до 8 Тб. При использовании размера сектора, равного 32768 байт, максимальный размер тома составит чуть менее 1024 Тб. Хотя размер сектора может быть любым, традиционно он считается равным 1 сектору диска и равен 512 байт и т.к. эта величина не менялась с момента создания - она может считаться некоторым программным обеспечением как константа. Это в свою очередь вызывает проблемы совместимости, как в нашем, частном случае. С учётом самих таблиц FAT и при максимальном размере кластера 32 КБ размер тома может быть до 127,53 Гб.

Создание и форматирование в Linux дисков с использованием файловой системы fat32 дело тривиальное и занимает примерно 1 минуту. Приступим.

HDD присоединяется с системе посредством usb-интерфейса и выглядит как /dev/sdb. Помогать будут fdisk и sys-fs/dosfstools. Все действия совершаются от имени пользоватея root.


fdisk /dev/sdb
Команда (m для справки):

Следует сначала удалить все разделы, имеющиеся на жестком диске, для чего служит команда d

Disk /dev/sdb: 40.1 GB, 40060403712 bytes
255 heads, 63 sectors/track, 4870 cylinders, всего 78242976 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0f36300f
Устр-во Загр Начало Конец Блоки Id Система
Команда (m для справки):

Когда все разделы удалены, создадим один новый

Команда (m для справки): n
Действие команды
e расширенный
p основной раздел (1-4)
p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-78242975, по умолчанию 2048):
Используется значение по умолчанию 2048
Last сектор, +секторы or +size{K,M,G} (2048-78242975, по умолчанию 78242975):
Используется значение по умолчанию 78242975
Команда (m для справки): p
Disk /dev/sdb: 40.1 GB, 40060403712 bytes
255 heads, 63 sectors/track, 4870 cylinders, всего 78242976 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0f36300f
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 2048 78242975 39120464 83 Linux
Команда (m для справки):

Однако, fdisk изначально применил к разделу родную файловую систему Linux, сейчас мы это изменим, все возможные варианты можно просмотреть с помощью команды L, применить с помощью команды t

Команда (m для справки): L
0 Пустой 24 NEC DOS 81 Minix / старый bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux своп / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 скрытый ди c6 DRDOS/sec (FAT-
4 FAT16 5 Расширенный 41 PPC PReP Boot 86 NTFS набор томо da Данные не ФС
6 FAT16 42 SFS 87 NTFS набор томо db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2-я част 8e Linux LVM df BootIt
9 AIX загрузочный 4f QNX4.x 3-я част 93 Amoeba e1 DOS access
a OS/2 Boot-менед 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS фс
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT
f W95 расшир. (LB 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC з
11 Скрытый FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor
12 Compaq диагност 5c Priam Edisk a9 NetBSD f4 SpeedStor
14 Скрытый FAT16 16 Скрытый FAT16 63 GNU HURD или Sy af HFS / HFS+ fb VMware VMFS
17 Скрытый HPFS/NT 64 Novell Netware b7 BSDI фс fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI своп fd Автоопределение
1b Скрытый W95 FAT 70 DiskSecure Mult bb Boot Wizard скр fe LANstep
1c Скрытый W95 FAT 75 PC/IX be Solaris загр. ff BBT
1e Скрытый W95 FAT 80 Old Minix

Наш выбор в данном случае c

Команда (m для справки): t
Выбранный раздел 1
Шестнадцатеричный код (введите L для получения списка кодов): c
Системный тип раздела 1 изменен на c (W95 FAT32 (LBA))

Полученный результат просматриваем командой p

Команда (m для справки): p
Disk /dev/sdb: 40.1 GB, 40060403712 bytes
255 heads, 63 sectors/track, 4870 cylinders, всего 78242976 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0f36300f
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 2048 78242975 39120464 c W95 FAT32 (LBA)
Команда (m для справки)

Завершающим действием будет применение всех выполненных операций командой w

Команда (m для справки): w

Таблица разделов была изменена!
Вызывается ioctl() для перечитывания таблицы разделов.
WARNING: Re-reading the partition table failed with error 16: Устройство или ресурс занято.
The kernel still uses the old table. The new table will be used at
the next reboot for after you run partprobe(8) or kpartx(8)
ПРЕДУПРЕЖДЕНИЕ: Если вы создали или изменили
какие-либо разделы DOS 6.x, пожалуйста, прочтите
страницу руководства fdisk для получения
дополнительной информации.
Синхронизируются диски.

Ну, и наконец. форматируем диск в файловой системе FAT32

mkdosfs -n "Films" -F32 /dev/sdb1
mkdosfs 3.0.9 (31 Jan 2010)

Операция закончена, можно использовать диск как архив фильмов для просмотра на dvd-проигрывателях и подобных устройствах. Таким образом можно подготовить диск для использования с медиа-устройствами те только объемом в 40 Гб, но и значительно большего размера.

Приятного просмотра.

Как работает жесткий диск узнайте из видео