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”。ramfs
ramfs
看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