我在各种Linux系统上都看到过/dev/sda1
,其中根设备以而不是实际设备节点(例如:)显示为/dev/root
,或者不是真实文件系统,mtab
它表示的文件系统名为rootfs
(在中显示为真实文件系统/proc/filesystems
,但是)中没有代码<linux-kernel-source-tree>/fs
。已经使用各种工具来使用某些属性来确定实际的根设备节点(例如rdev和Chromium OS rootdev)。除了阅读到一些很小的嵌入式设备不一定总是拥有/dev
其根设备的设备节点的信息外,我对此没有任何逻辑上的解释。(这是真的,如果是,是我的问题的答案吗?)为什么mtab有时会说/dev/root
(我想我可能已经看过了)rootdev
一次)而不是真实设备节点,如何使它始终表示真实设备节点?内核首先root
按照cmdline中的参数安装根设备,然后init/systemd
根据fstab
正确地重新安装它。如果是这样,那么我认为我注意到这init
维持mtab
。如果我的理论是正确的,我如何使init
真正的根设备节点写入mtab
?/etc/mtab
实际上是到的符号链接/proc/mounts
,这意味着mtab
由内核维护。那么,如何配置/修补内核,而不是说根设备节点路径是/dev/root
,mtab
包含真实设备节点?
mount
通过此设置提供rootfs on / type rootfs (rw)
了initrd和/dev/root on / type ext2 (rw,relatime,block_validity,barrier,user_xattr)
ext2硬盘。