/proc/mounts 中的第一列在 Linux 中真正意味着什么?

/proc/mounts 中的第一列在 Linux 中真正意味着什么?

运行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),要么每个文件系统独立于任何支持()或安装选项指示底层数据的位置(大多数sysfsbinfmt_misctmpfs保险丝文件系统)。

答案3

我不确定rootfs但是proc是进程的“游乐场”。它是一个虚拟文件系统,因此它不会显示/dev(我不认为),但可以安装。

中的实际设备/dev将显示在第一列中,并带有绝对路径(就像您的/dev/sda1)。

相关内容