Чи нормально mkfs без номера розділу?


10

У мене ручка приводу та одна секція:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
└─sda1   8:1    0 931.5G  0 part /
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part

і я відформатував команду:

   # mkfs.fat -n A /dev/sdb

і це чудово працює.

Але після цього я проглянув хоч довідкову сторінку для mkfs:

   mkfs is used to build a Linux filesystem on a device,  usually  a  hard
   disk  partition.   The  device argument is either the device name (e.g.
   /dev/hda1, /dev/sdb2),  or  a  regular  file  that  shall  contain  the
   filesystem.   The  size argument is the number of blocks to be used for
   the filesystem.

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


1
немає проблеми використовувати весь пристрій замість одного розділу. це матиме більше сенсу, якщо ви хочете 3,5 г жиру та 4G ext3 / luckfs / що завгодно, тоді вам доведеться розлучати та форматувати кожну частину.
Архемар

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

1
Сторінка man говорить про те, що пристрій зазвичай є розділом на жорсткому диску . Цілий жорсткий диск також є відповідним блоковим пристроєм.
Toby Speight

Відповіді:


10

Створення файлової системи на цілому диску, а не розділі можливо, але незвично. Документація лише чітко згадує про розділ, оскільки це найчастіший випадок (він зазвичай говорить ). Ви можете створити файлову систему на всьому, що діє досить як файл фіксованого розміру, тобто щось, якщо ви записуєте дані в певне місце і читаєте назад з того самого місця, то ви отримуєте назад ті самі дані. Сюди входять цілі диски, дискові розділи та інші види блокових пристроїв , а також звичайні файли (зображення дисків).

Після цього у mkfs.fat -n A /dev/sdbвас більше немає розділу на цьому диску. Будьте уважні, що ядро ​​все ще вважає, що на диску є розділ, оскільки він зберігає кешированную таблицю розділів у пам'яті. Але не слід більше намагатися використовувати /dev/sdb1, оскільки його більше немає; написання до нього може пошкодити створену вами файлову систему, /dev/sdbоскільки /dev/sdb1вона є частиною /dev/sdb(все, крім кількох сотень байт на початку). Виконайте команду partprobeяк корінь, щоб сказати ядру перечитати таблицю розділів.

Хоча створення файлової системи на цілому диску можливо, я не рекомендую її. Деякі операційні системи можуть мати проблеми з цим (я думаю, Windows би впорався, але деякі пристрої, такі як камери, не зможуть), і ви втрачаєте можливість створення інших розділів. Дивіться також Переваги файлової системи без розділів


8

Як правило, добре розміщувати файлову систему на цілому пристрої, а не розділяти і форматувати розділи, якщо ви не збираєтесь мати більше, ніж одну файлову систему на своєму пристрої. Вам просто доведеться бути послідовними; оскільки ви поставите файлову систему, sdaа не sda1вам, вам доведеться також змонтувати sda, оскільки вона sda1взагалі не буде існувати.

Пристрій у вашому запитанні представляє собою знімний диск у форматі FAT: якщо він буде використовуватися з вбудованими пристроями, які можуть мати більш-менш детальне поняття про те, як можна встановити файлові системи, можливо, варто перевірити, що вони роблять у Факт підтримки файлової системи цілого пристрою без таблиці розділів. (Наприклад, камери, як правило, створюють єдиний розділ і формат, який цілком можливо, що вони оголосять карту пам'яті без розділів непридатною.)

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