Различия между / dev / sda и / dev / sda1

17

Я знаю, что / dev / sda - это необработанное устройство, а / dev / sda1 - это раздел или виртуальное устройство.

Но меня немного смущает вопрос, почему sda # появляется только иногда или только в определенных системах. Что является причиной этого? Возможно, когда диски sda # не появляются, это когда он не разделен? Или, может быть, это не то же самое в отношении оборудования?

И почему я могу смонтировать оба? (иногда) Разве раздел не должен быть монтируемым?

Будем весьма благодарны за любые ресурсы или цвета, которые вы можете дать. Заранее спасибо.

манок
источник
1
"И почему я могу смонтировать оба?" [нужная цитата]
Игнасио Васкес-Абрамс
1
@ IgnacioVazquez-Abrams: у меня нет цитаты. Я смонтировал оба на коробке Debian, и я мог писать и читать обоим. Не знаю почему. Не совсем аппаратный или сисадмин, поэтому я и просил разъяснений. Еще раз спасибо всем за помощь!
приманка

Ответы:

19

В современной системе устройство раздела появится, только если раздел действительно существует.

На диске с таблицей разделов MBR номера разделов с 1 по 4 соответствуют четырем слотам в таблице разделов, которые называются «основными» разделами. Их не нужно заполнять последовательно, поэтому возможно, например, иметь sda2, но не sda1. Номера разделов от 5 и выше соответствуют «логическим дискам» в расширенном разделе, и они всегда нумеруются последовательно, поэтому у вас не может быть sda6 без sda5.

На диске с таблицей разделов GPT может быть гораздо больше (обычно до 128) разделов, и все они являются «основными». Таким образом, вы можете иметь диск, чей единственный раздел, например, sda9.

Если на диске нет таблицы разделов, то, конечно, на нем не будет устройств разделов.

В старых системах - использующих static / dev, а не систему, управляемую udev, - как правило, будут узлы устройств для всех возможных номеров разделов, независимо от того, существуют ли разделы на самом деле. (Конечно, попытка открыть файл устройства для несуществующего раздела не удастся.)


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

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

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

Wyzard
источник
6

Насколько я знаю, когда ядро ​​обнаруживает новое блочное устройство на scsi-подобной (включая sata) шине, в дополнение к добавлению узла /devдля самого диска, например, /dev/sdaоно будет пытаться увидеть, есть ли таблица разделов , Если есть читаемые разделы, он будет создавать узлы разделов, пронумерованные в зависимости от того, являются ли они физическими или логическими разделами (я считаю, что логические разделы начинаются с # 5).

Если вы видите узел диска, но без узлов раздела, это будет означать, что разделы не обнаружены. Я не знаю ни одного случая, когда вы могли бы смонтировать физическое устройство, поскольку это означало бы, что существует файловая система, напрямую записанная на физическое устройство без какой-либо таблицы разделов. Может случиться так, что в случае, когда есть только один раздел, команда mountбудет интерпретировать mount /dev/sdaкак значение /dev/sda1, но я никогда не проверял это.

growse
источник
2
Вы можете иметь файловую систему непосредственно на самом диске, без таблицы разделов. (Сменное устройство, настроенное таким образом, иногда называют «суперфлоппи-диском», поскольку дискеты обычно не разбиты на разделы.)
Wyzard
Отличный момент. У меня было смутное воспоминание о том, что я вставил USB-накопитель в ноутбук и смог смонтировать, /dev/sdcно не был уверен, что я это придумал.
Growse
3

/ dev / sda - необработанное устройство

/ dev / sda1 - «виртуальное» устройство, похожее на раздел.

Одно интересное отличие состоит в том, что если устройство имеет разделы (имеющие данные MBR или тому подобное), вы не можете считывать данные MBR с любого из виртуальных устройств, поскольку данные MBR находятся вне каких-либо разделов на устройстве. MBR находится в первом секторе устройства (CHS: 0 0 1). Рекомендуется создавать первый раздел размером 1 МБ после начала работы устройства.

Чтобы прочитать данные MBR, вы должны использовать необработанное устройство (/ dev / sda), то есть:

dd if=/dev/sda of=mbr.bin bs=512 count=1
colemik
источник
0

Ах, таблицы разделов и имена устройств. Будьте готовы запутаться с ними.

У вас есть сервер HP с контроллером Compaq RAID? Нет / dev / sda, поздоровайтесь с / dev / ccsis.

У вас есть старый настольный компьютер со старым интерфейсом IDE? Нет / dev / sda, поздоровайтесь с / dev / hda.

У вас есть современный сервер, который говорит вам / dev / sda, но после установки вы вряд ли его увидите? Передайте привет LVM, ваша установка ОС сделала ваш / dev / sda физическим томом LVM, создала внутри него группу томов и внутри нее логический том.

Итак ... если вы не видите ничего похожего на / dev / sda1, возможно, вы используете LVM или аналогичный, который создал свои собственные "разделы".

Вы получили ответ на свой вопрос?

Янне Пиккарайнен
источник