如何列出挂载文件系统的所有选项?

Fre*_*ter 10 fstab mount

双方mountcat /proc/mounts没有给我所有我在“选项”字段中指定的选项/etc/fstab

例如,这是在我的/etc/fstab

# <file system>                                 <mount point>   <type>  <options>                                       <dump>  <pass>
UUID=1afaad96-8aa3-4283-95a4-20510e5b3fbb      /               ext4    rw,async,exec,nouser,suid,errors=remount-ro     0       1
Run Code Online (Sandbox Code Playgroud)

但是输出mount只是给了我这个(mount -v也不起作用):

/dev/sda6 on / type ext4 (rw)
Run Code Online (Sandbox Code Playgroud)

和`cat /proc/mounts:

rootfs / rootfs rw 0 0
Run Code Online (Sandbox Code Playgroud)

如何检查我的文件系统安装了哪些选项?

Pan*_*her 9

问题是您不了解“rootfs”的含义。

如果您cat /proc/mounts使用 grep 或 awk 或过滤输出,您确实会获得所有挂载的列表以及@steeldriver 指示的选项。

第一行rootfs / rootfs rw 0 0不是你的根分区,它被内核使用。

什么是rootfs?

Rootfs 是 ramfs(或 tmpfs,如果已启用)的一个特殊实例,它始终存在于 2.6 系统中。您无法卸载 rootfs 的原因与您无法终止 init 进程的原因大致相同;与使用特殊代码来检查和处理空列表相比,内核确保某些列表不会变空更小更简单。

大多数系统只是挂载另一个文件系统rootfs并忽略它。 空实例ramfs占用的空间很小。

如果CONFIG_TMPFS启用,rootfs将使用tmpfs而不是ramfs默认。要强制ramfs,请将“rootfstype=ramfs”添加到内核命令行。

请参阅https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt

仔细查看输出,或使用 grep 或 awk 过滤结果

grep '/dev' /proc/mounts
Run Code Online (Sandbox Code Playgroud)


ste*_*ver 6

/proc/mounts文件确实应该包含选项(包括每个文件系统的默认选项),但是rootfs您选择的条目只是实际根块设备被挂载的 ramfs - 真实设备应该有另一个条目,例如

$ mount | grep ' / '
/dev/mapper/t60p-root on / type ext4 (rw,errors=remount-ro)
Run Code Online (Sandbox Code Playgroud)

$ grep ' / ' /proc/mounts
rootfs / rootfs rw 0 0
/dev/mapper/t60p-root / ext4 rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered 0 0
Run Code Online (Sandbox Code Playgroud)