当我的发行版启动失败时,我多次被带到提示符[rootfs /]#
。通常我发现我无法用有限的命令来解决问题,所以我会使用我手边的任何备用 Live CD。
但是rootfs
提示符是什么?为什么它提供的命令有限?问题解决后我可以用它来启动系统吗?
答案1
Rootfs
ramfs
是(或tmpfs
,如果已启用)的一个特殊实例,它始终存在于 中2.6 systems
。您无法卸载 rootfs。
在内核初始化时,会注册一个绝对最小的文件系统,称为rootfs
。实现此文件系统的代码可以在 中找到fs/ramfs/inode.c
,其中恰好也包含文件系统的代码ramfs
。rootfs 基本与 相同ramfs
,除了指定了 标志。这由中的MS_NOUSER
例程解释,我认为它可以防止用户空间进程自行挂载。graft_tree
fs/namespace.c
rootfs
该例程init_mount_tree
(位于 fs/namespace.c)在系统启动时被调用,以挂载 rootfs 的一个实例,并使其成为当前进程的根命名空间(请记住,在 Linux 下,不同的进程可以拥有不同的文件系统命名空间)。
它包含所有应用程序、设置、设备、数据等。没有根文件系统,您的 Linux 系统就无法运行。
看:https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt