关于Linux根文件系统的疑问


13

据我了解,术语“根文件系统”是模棱两可的,实际上是指两个不同的事物。一种是与内核一起完成系统设置所需的绝对最小文件系统。它包含一些早期的用户空间程序,这些程序执行硬件检测,模块加载,设备发现等。该文件系统通常称为“ rootfs”。另一个是“真实的”根文件系统。它可能位于本地磁盘或远程服务器上(对于支持从以太网引导的系统)。

我已经使用“ mount”命令探索了几个Linux发行版。有些在结果中有“ rootfs on / type rootfs”,而有些则没有。它们都有类似“ / dev / sdaX on / type extX”的东西。

我想知道机制是否已更改,或者对于那些没有“在/上键入rootfs的rootfs”的用户,只是卸载了rootfs。

我试图通过Wiki和Google寻求答案,但最终更加困惑。

有谁能够帮助我?

linux 

Answers:


16

mount命令从中获取有关当前安装的信息/etc/mtab

过去mtab是在每次引导后重新创建一个普通文件,并通过mount命令进行更新的文件–因此,它不会有一个rootfs /条目,仅仅是因为rootfs 从未显式挂载;它只是一直存在。(这种情况mtab有时也有重复的条目,或者不再挂载的文件系统条目...)

现在,许多当前发行版都符号链接mtab/proc/self/mounts,它(与/ proc中的其他所有内容一样)直接由内核生成。因此,它始终显示当前安装的所有内容,包括rootfs //dev/blah /

您可以cat /proc/self/mounts在所有发行版上使用它们来比较坐骑。(还有/proc/self/mountinfo,它使用不兼容的语法,但增加了更多细节。)


+1是我不知道的/ proc东西。
2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.