Верно ли сказать, что раздел Linux «смонтирован» в каталог «/»?

Вы также можете сделать:

$ curl -fsSL https://raw.githubusercontent.com/\
Homebrew/install/master/uninstall|ruby
0
21.03.2019, 10:28
2 ответа

Корневая файловая система представляет собой особый случай, так как обычно она монтируется initramfs/initrd (в большинстве основных дистрибутивов )или ядром (без -конфигураций ядра initramfs, аналогично как классические Unix-системы делали это )как часть процесса загрузки, и не могут быть размонтированы, как любые другие файловые системы.

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

При использовании initramfs образ initramfs монтируется как /при запуске ядра. Затем корневая файловая система монтируется в какое-то временное место, и /sbin/pivot_rootинструмент (или эквивалентный системный вызов как часть другого дистрибутива -специальный инструмент )используется для переключения мест initramfs и реального корня файловой системы друг с другом. Затем реальный процесс инициализации exec()извлекается из реальной корневой файловой системы, чтобы освободить последний оставшийся дескриптор открытого файла для initramfs, после чего initramfs можно размонтировать и освободить выделенную для него оперативную память.

Можно снова использовать тот же процесс для переключения с одной корневой файловой системы на другую, в то время как ядро ​​технически продолжает работать, но на практике это обычно не очень полезно :вам все равно придется остановить практически все процессы чтобы закрыть все открытые файлы в старой корневой файловой системе, чтобы старую корневую файловую систему можно было размонтировать после ее поворота. И когда вы дойдете до этого момента, вы настолько уйдете в процедуры выключения, что, вероятно, будет проще просто перезагрузить компьютер. В качестве бонуса, перезагрузившись в этой ситуации, вы получите положительное доказательство того, что загрузка работает с новой корневой файловой системой.

4
28.01.2020, 02:18

Это частный случай. Если нет initrd/initramfs, корневая файловая система монтируется ядром. Эту терминологию используют разработчики ядра Linux. Не вижу причин им противоречить.

linux -v5.0/init/do _mounts.c #L533

Я думаю, что вполне нормально описать initrd / initramfs как монтирование корневой файловой системы.

0
28.01.2020, 02:18

Теги

Похожие вопросы