如何列出文件系统安装的所有选项?

如何列出文件系统安装的所有选项?

mount和都cat /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

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

/dev/sda6 on / type ext4 (rw)

和'cat /proc/mounts:

rootfs / rootfs rw 0 0

我如何检查我的文件系统是用什么选项挂载的?

答案1

问题在于您不理解“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而不是。要强制,请在内核命令行中添加“rootfstype=ramfs”。ramfsramfs

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

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

grep '/dev' /proc/mounts

答案2

/proc/mounts文件确实应该包含选项(包括每个文件系统的默认选项),但是rootfs你挑选的条目只是一个 ramfs,实际的根块设备安装在该 ramfs 上 - 应该有另一个用于真实设备的条目,例如

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

$ 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

相关内容