fdisk - мне это нужно или я могу создать файловую систему напрямую?

9

я читал о том, что fdisk может создать раздел / который разбивает физический диск на несколько логических разделов.

Если я намереваюсь использовать весь диск целиком, это все еще необходимо для меня

1) на fdisk и создать первичный раздел, занимающий размер всего диска или

2) я могу просто пойти дальше и mkfs.ext4, не делая fdisk?

3) И почему ->

Отредактировано -> Прочитав все комментарии (некоторые да и нет), я думаю, что было бы хорошо, если бы кто-то мог указать мне на то, что на самом деле делает fdisk? так что я могу понять больше, почему мы на самом деле нуждаемся в этом по сравнению с тем, если бы мы этого не делали.

Я пробовал поискать в Интернете, но большинство сайтов учат вас, как fdisk, но не почему (или большая часть почему создает двойную загрузку), но я хочу знать, зачем это нужно даже для одного раздела.

Я также попробовал mkfs на диске напрямую и смонтировал его для хранения данных и файлов (похоже, нет проблем), поэтому мне стало еще интереснее, что на самом деле fdisk делает с диском хранения.

Новичек
источник

Ответы:

5

Нет, тебе это не нужно . Ваш диск и файловая система будут работать без таблицы разделов. Некоторые старые BSD даже делали это по умолчанию, если вы выбрали опасное выделение .

Однако это настоятельно рекомендуется по соображениям совместимости.


Несколько более многословно:

Вы можете запустить mkfs.ext4 непосредственно в / dev / sdb. Это будет работать. Вы можете смонтировать это без проблем. ( mkfs.ext4 -F -F /dev/sdb).

Вы можете настроить загрузочный диск таким образом. Это все еще потребует некоторого кода для загрузки. Это означает, что вам нужно либо пропустить первый бит дисков. (например, пространство, классически используемое MBR и несколько традиционных секторов за его пределами). Это все еще технически не использует MBR, хотя вы теряете эквивалентное пространство.

Однако для любой современной установки эти несколько секторов представляют собой небольшую долю емкости диска. Поэтому я рекомендую использовать GPT (или на старых системах MBR). Но вы можете обойтись без.

Hennes
источник
Похоже, что mkfs.ext4 принимает параметр -F для принудительного создания файловой системы, даже если кажется, что цель не является разделом или даже если целевое устройство выглядит подключенным! Я думаю, что это указывает на неизбежные риски при этом ...
Дэвид W
Согласовано. И «эта опция должна быть указана дважды» является вторичной мерой предосторожности.
Хеннес
@Hennes Я обновил свой оригинальный пост, надеюсь, вы посмотрите
Noob
1
Сравните fdisk с написанием индекса для книги. Люди ожидают индекса и запутываются, когда его нет. Книга без указателя и с одной историей / главой все еще будет работать.
Hennes
1

Вам необходимо создать таблицу разделов, даже если вы собираетесь использовать весь физический диск. Думайте о таблице разделов как о «оглавлении» для файловых систем, определяя места начала и окончания каждого раздела, а также используемую для него файловую систему.

Дэвид В.
источник
даже если бы я хотел использовать хранилище как необработанное устройство? мне все еще нужен fdisk? я читал о создании раздела fdisk, но я не понимаю, зачем это нужно
Noob
1
Если я передам вам диск с необработанными байтами и никакой другой информацией, как бы вы интерпретировали его, чтобы извлечь из него данные? Ты не мог. Это упрощение, но это то, что делает таблица разделов. Там написано: «Вот где данные хранятся на диске (место запуска / остановки / цилиндр / дорожка), а вот как они организованы (файловая система)»
Дэвид W
На самом деле, вы могли бы. Возьми дискету. Мы предполагаем один раздел / том. Мы указываем используемую файловую систему (так как у нас нет MBR, чтобы сообщить нам, что мы используем, нам нужно указать это вручную или ввести ее в / etc / fstab) и прочитать информацию для файловой системы. Классический пример: дискеты и FAT12.
Хеннес
1
В стандартной таблице разделов нет информации, которая отсутствует или может быть легко внесена в загрузочную запись тома файловой системы. Любая зависимость программного обеспечения от таблицы MBR / таблицы разделов для правильного распознавания и / или загрузки из файловой системы является полностью искусственной.
kreemoweet
1
Нет, вам не нужна таблица разделов, и нет, тип файловой системы, указанный в таблице разделов, игнорируется. Вместо этого, четко определенные последовательности байтов («магия») используются для определения типа файловой системы. Если вы хотите загрузиться с диска, это, конечно, другое дело.
Даниэль Б
0

Вы можете создать файловую систему на чистом диске, но она редко будет работать. Некоторые pendrives организованы так. Но для жесткого диска вы не хотите.

Если это будет ваш основной / единственный диск, он вообще не будет загрузочным, если вы создадите его как таковой. Что делает BIOS - это читает первый сектор диска и выполняет его (иначе говоря, переход к первому байту). Вы действительно не хотите выполнять метаданные файловой системы? К счастью, вы этого не сделаете, поскольку BIOS содержит отказоустойчивый - последние два байта этого сектора должны быть 0x55 0xaa, чтобы BIOS считал диск загрузочным. И у вас есть система UEFI, это еще хуже, поскольку UEFI требует отдельного раздела FAT для работы.

Если это будет ваш второй жесткий диск, это может сработать, но все равно не рекомендуется - автоопределение не сработает, большинство инструментов скажут вам, что диск не отформатирован и требуют разбиения (что приведет к уничтожению ваших данных).

Затем снова это иногда возможно сделать, но в очень хаком образом, требуя запутанные знания нескольких файловых систем на диске организации. Однажды я видел описание образа, который можно записать на загрузочный компакт-диск, на загрузочный USB-накопитель или даже загрузить на старых Mac, но это было на уровне «Если я установлю длину файловой системы в xxx, когда выполняется другой архитектурой, которая выполняется как безопасное сравнение регистров ».

Torinthiel
источник
Расширенная информация в примере с pendrive: также используется на дискетах и ​​pendrive без MBR, которые часто называют «superfloppy format».
Хеннес
@Torinthiel, я обновил свой оригинальный пост, надеюсь, вы посмотрите
Noob
-1

Даже если вы намереваетесь использовать весь диск, его все равно придется разбивать на разделы. В этом случае с разделом размером с сам диск (почти, по крайней мере. Таблица разделов занимает некоторое место. Подробнее об этом см. Ниже).

Когда я знакомлю людей с концепцией разделов и файловых систем для людей, которые обычно просто думают о «жестких дисках, пустых и полных», я вижу следующее: жесткий диск - это здание, а раздел - реальная комната. Вы форматируете раздел с определенной файловой системой, а затем делаете его пригодным для использования, и в аналогии с зданием это соответствует объявлению типа комнаты, например кухня или спальня (другими словами, как его использовать).

Теперь, чтобы вернуться к исходному вопросу, вы не можете поместить файловую систему на неразмеченный диск, поскольку таблица разделов (первые 512 байт диска) содержит информацию о том, где на физическом диске можно найти разделы. Чтобы у вас была файловая система, она должна начинаться где-то, на что может ссылаться таблица разделов, и не может ссылаться на файловую систему, у которой нет определенного пространства, то есть на раздел.

И если мы хотим разместить таблицу разделов в аналогии со зданием, я думаю, это будет соответствовать проекту здания.

Обновление, отражающее ваш вопрос edit: fdisk позволяет вам выбирать определенные аспекты раздела, такие как размер, тип и физическое расположение, как я уверен, вы уже знаете. Затем fdisk переводит их в запись таблицы разделов. По сути, он следит за тем, чтобы таблица разделов была обновлена ​​с помощью «списка» всех разделов на диске, каждого элемента в списке с указанием, где можно найти раздел и какого он типа. Это так, чтобы операционная система знала, где получить доступ к данным на разделах.

Ярмунд
источник
1
Нет. Это не должно быть. Я использовал без. Это все еще настоятельно рекомендуется, но вы можете обойтись без.
Хеннес
@Jarmund Я обновил свой оригинальный пост, надеюсь, вы посмотрите
Noob