Вы также можете сделать:
$ curl -fsSL https://raw.githubusercontent.com/\
Homebrew/install/master/uninstall|ruby
Корневая файловая система представляет собой особый случай, так как обычно она монтируется initramfs/initrd (в большинстве основных дистрибутивов )или ядром (без -конфигураций ядра initramfs, аналогично как классические Unix-системы делали это )как часть процесса загрузки, и не могут быть размонтированы, как любые другие файловые системы.
Но не будет ошибкой сказать, что «корневая файловая система /dev/sda1
монтируется в /
». Я думаю, что в каком-то старом учебнике Unix говорилось что-то вроде «корневая файловая система волшебным образом монтируется в /
», поскольку детали этого специального процесса монтирования сложны и по существу имеют отношение только к разработчикам ядра, работающим над задачами запуска ядра -.
При использовании initramfs образ initramfs монтируется как /
при запуске ядра. Затем корневая файловая система монтируется в какое-то временное место, и /sbin/pivot_root
инструмент (или эквивалентный системный вызов как часть другого дистрибутива -специальный инструмент )используется для переключения мест initramfs и реального корня файловой системы друг с другом. Затем реальный процесс инициализации exec()
извлекается из реальной корневой файловой системы, чтобы освободить последний оставшийся дескриптор открытого файла для initramfs, после чего initramfs можно размонтировать и освободить выделенную для него оперативную память.
Можно снова использовать тот же процесс для переключения с одной корневой файловой системы на другую, в то время как ядро технически продолжает работать, но на практике это обычно не очень полезно :вам все равно придется остановить практически все процессы чтобы закрыть все открытые файлы в старой корневой файловой системе, чтобы старую корневую файловую систему можно было размонтировать после ее поворота. И когда вы дойдете до этого момента, вы настолько уйдете в процедуры выключения, что, вероятно, будет проще просто перезагрузить компьютер. В качестве бонуса, перезагрузившись в этой ситуации, вы получите положительное доказательство того, что загрузка работает с новой корневой файловой системой.
Это частный случай. Если нет initrd/initramfs, корневая файловая система монтируется ядром. Эту терминологию используют разработчики ядра Linux. Не вижу причин им противоречить.
linux -v5.0/init/do _mounts.c #L533
Я думаю, что вполне нормально описать initrd / initramfs как монтирование корневой файловой системы.