Linux 关闭期间是否会卸载根文件系统?

Linux 关闭期间是否会卸载根文件系统?

如果根文件系统被卸载,那么如何init访问并运行随后发生的最后几个步骤?

答案1

PID 1 可以从基于 RAM 的文件系统运行。例如 systemd + dracut 可以pivot_root变成临时文件系统关机期间。 dracut-shutdown.service(8)有一些关于此的更多信息。

否则,您将剩余的文件系统重新挂载为只读。重新以只读方式挂载后,文件系统是干净的。它在磁盘上是一致的;无需维修操作; RAM 中没有缓存或排队的剩余写入。

umount /甚至被解释为相同mount / -o remount,ro。虽然这不会发生在其他类 Unix 系统上;这是 Linux 特有的怪癖:-)。

答案2

init是内核加载后执行的第一个进程,也是最后一个“关灯”的进程——形象地说。
内核不需要/安装即可运行init,因为它可以完全从内存运行。
“Live”发行版几乎完全从内存中运行,甚至有一些发行版的 cd/dvd/usbstick/软盘您甚至可以在系统加载到内存后从电脑中取出。

现在回答问题标题中的问题:是的,它在大多数发行版上都已卸载 - 其他重新安装为/只读。

更多信息可以在您的系统(如果系统正在使用 sysvinit 运行)中找到/etc/inittab,例如http://wiki.linuxquestions.org/wiki/Run_Levels

在 systemd 上,您可以查看使用 评估哪些对象systemctl list-dependencies --after systemd-halt.service

相关内容