13

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

Я исследовал несколько дистрибутивов Linux с помощью команды mount. У некоторых есть «rootfs on / type rootfs», а у других нет. И у всех них есть что-то вроде '/ dev / sdaX on / type extX'.

Мне интересно, был ли изменен механизм или просто отключены rootfs для тех, у кого нет rootfs на / type rootfs.

Я пытался найти ответ по вики и гуглу, но в конечном итоге запутался.

Кто-нибудь может мне помочь?

1 ответ1

16

Команда mount получает информацию о текущих монтировках из /etc/mtab .

В прошлом mtab был обычным файлом, воссоздаемым после каждой загрузки и обновляемым командой mount - поэтому в нем не было бы записи rootfs / просто потому, что rootfs никогда не монтировался явно ; это всегда существует. (Такой mtab иногда также имеет повторяющиеся записи или записи для файловых систем, которые больше не монтируются ...)

Многие текущие дистрибутивы теперь имеют символическую ссылку mtab на /proc/self/mounts , которая (как и все остальное в /proc) напрямую генерируется ядром. Из-за этого он всегда показывает все, что в настоящий момент смонтировано, включая rootfs / и /dev/blah / .

Вы можете использовать cat /proc/self/mounts на всех дистрибутивах для сравнения. (Там также находится /proc/self/mountinfo , который использует несовместимый синтаксис, но добавляет больше деталей.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .