双方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
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)
如何检查我的文件系统安装了哪些选项?
问题是您不了解“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)
该/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)
| 归档时间: |
|
| 查看次数: |
25476 次 |
| 最近记录: |