Чому нам потрібно вказати тип розділу у fdisk, а потім знову в mkfs?


11

Я трохи розгублений щодо fdisk та mkfs .

Отже - ось типовий розділ та форматування флеш-пам’яті USB:

umount /dev/sdb
fdisk fdisk /dev/sdb

Command (m for help): d
Selected partition 1

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-960, default 1): ↵
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-960, default 960): ↵
Using default value 960 

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)

Command (m for help): a
Partition number (1-4): 1

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: If you have created or modified any DOS 6.x 
partitions, please see the fdisk manual page for additional
information.

mkfs -t vfat /dev/sdb1

Моє запитання:

Чому нам навіть доводиться використовувати опцію t для вказування типу розділу, виконуючи крок fdisk ? Як це впливає на все? Чи створює це якийсь знак на USB-диску, що означає, що там повинен бути тільки vfat розділ? Або це безпечно пропустити т крок взагалі? AFAIK - розділення - це лише розбиття диска на ділянки - чи не так?

Просто намагаюся зрозуміти, чому це працює так, як це працює :)

Відповіді:


9

Тому що mkfs не знає і не піклується про таблиці розділів. Ви можете використовувати його на будь-якому бажаному блоковому пристрої, включаючи ті, що не мають нічого спільного з жорстким диском, а отже, і з розділами. Код типу розділу, який fdisk поміщає в таблицю розділів msdos, є лише підказкою і в значній мірі ігнорується не операційними системами Microsoft.


5

Тип розділу менш специфічний, ніж тип файлової системи. Більшість "рідних" файлових систем Linux використовують розділ типу 83, наприклад: всі ext*варіанти, ReiserFS, XFS та інші.

Спробуйте перейти на partedабо gParted. Для деяких типів файлової системи він може створити розділ і створити в ньому файлову систему всередині одного інструменту. (Однак, з деякими файловими системами, вам все одно доведеться mkfsокремо.)


3

Тип розділу призначений для пристроїв, які повинні знати, який тип файлової системи ви розміщуєте на цьому розділі. Linux, здається, досить розумний, щоб просто ігнорувати тип, і знає, що файлова система - неважливо. Однак є деякі пристрої, які зможуть прочитати ваш диск лише в тому випадку, якщо тип файлової системи відповідає фактичній файловій системі, яку ви поставили на диск.

mkfsстворює фактичну файлову систему. Він не знає, на яку річ ви ставите цю файлову систему, тому не може просто здогадатися. Вам потрібно точно сказати, яку саме файлову систему ви намагаєтеся створити, щоб вона знала, що робити.

Нещодавно я з’ясував, чому це важливо, що таке тип файлової системи. Я встановив USB-накопичувач для розміщення пісень для використання в медіаплеєрі, однак я не встановив правильно тип файлової системи, хоча фактична файлова система була vfat. Музичний плеєр не мав уявлення, як читати диск, він працював, коли тип розділу був встановлений правильно. У мене також була така ж проблема на mac, USB-паличку з неправильним типом розділу не вдалося прочитати, хоча фактична файлова система була в порядку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.