运行cat /proc/mounts
,我得到这个(简化):
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
/dev/sda1 / ext3 rw,relatime,errors=continue,barrier=1,data=ordered 0 0
io /etc/blkio cgroup rw,relatime,blkio 0 0
...
关于内容,来自红帽的文档说:
第一列指定安装的设备,第二列显示安装点,第三列告诉文件系统类型...
我不认为那rootfs
是一个设备,我试图找到这个设备,udev(/dev)
但找不到。所以我不知道哪个设备安装在/
(你可能会说我可以用它mount
来获取这些信息,但是如果这里不是通过命令rootfs
挂载的怎么办mount
)。
另一个例子是在 VMware ESX 3.x 服务器上,您找不到mount
结果中列出的任何“vmfs”条目,但是通过cat /proc/mounts
,我得到了/vmfs /vmfs vmfs rw 0 0
。例如rootfs
,我也不知道哪些设备与这里的第一个“/vmfs”相关。
问题: 谁能告诉我第一栏的/proc/mounts
真正含义是什么?
附言。请阅读 ”如何获取 Linux 中已挂载文件系统的完整且准确的列表?“有关/proc/mounts
和 的更多信息mount
。
答案1
正如您引用的文档所述,第一列确实是设备。根据kernel.org 文档,rootfs
只是ramfs
(RAM 内文件系统)的一种特殊情况,内核使用它来确保某些内容始终安装在/
.它仅占用 RAM 中的 0 或可忽略不计的小空间,如果您进一步查看,/proc/mounts
您应该会看到包含安装在 上的真实根分区的设备的条目/
。
答案2
中的第一列/proc/mounts
是内核记录的设备名称。大多数时候,这是调用时提供的名称mount
(请参阅show_vfsmnt
功能在内核中);文件系统有一种方法可以调整该名称,但只有 NFS 和 AFS 利用这个机会。
名字rootfs
是内置于内核中;它在启动时用于根文件系统。还有一些情况是内核没有获取名称并使用none
.
当您挂载存储在实际设备上的文件系统时,设备名称至关重要:它指示该文件系统所在的位置。为了“虚拟”文件系统,设备名称通常是不相关的,要么有一个可能的支持(例如,,,proc
),要么每个文件系统独立于任何支持()或安装选项指示底层数据的位置(大多数sysfs
binfmt_misc
tmpfs
保险丝文件系统)。
答案3
我不确定rootfs
但是proc
是进程的“游乐场”。它是一个虚拟文件系统,因此它不会显示/dev
(我不认为),但可以安装。
中的实际设备/dev
将显示在第一列中,并带有绝对路径(就像您的/dev/sda1
)。