什么是 rootfs# 以及您可以用它做什么?

什么是 rootfs# 以及您可以用它做什么?

当我的发行版启动失败时,我多次被带到提示符[rootfs /]#。通常我发现我无法用有限的命令来解决问题,所以我会使用我手边的任何备用 Live CD。

但是rootfs提示符是什么?为什么它提供的命令有限?问题解决后我可以用它来启动系统吗?

答案1

Rootfsramfs是(或tmpfs,如果已启用)的一个特殊实例,它始终存在于 中2.6 systems。您无法卸载 rootfs。

在此处输入图片描述

在内核初始化时,会注册一个绝对最小的文件系统,称为rootfs。实现此文件系统的代码可以在 中找到fs/ramfs/inode.c,其中恰好也包含文件系统的代码ramfs。rootfs 基本与 相同ramfs,除了指定了 标志。这由中的MS_NOUSER例程解释,我认为它可以防止用户空间进程自行挂载。graft_treefs/namespace.crootfs

该例程init_mount_tree(位于 fs/namespace.c)在系统启动时被调用,以挂载 rootfs 的一个实例,并使其成为当前进程的根命名空间(请记住,在 Linux 下,不同的进程可以拥有不同的文件系统命名空间)。

它包含所有应用程序、设置、设备、数据等。没有根文件系统,您的 Linux 系统就无法运行。

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

相关内容