ディストリビューションの起動に失敗したとき、何度も[rootfs /]#
プロンプトが表示されました。通常、使用できるコマンドが限られているため、問題を解決できないことがわかったので、置いていた予備のLive CDを使用しました。
しかし、rootfs
プロンプトとは何ですか?使用できるコマンドが限られているのはなぜですか?また、問題が修正された後、それを使用してシステムを起動できますか?
Rootfs
はramfs
(または有効な場合はtmpfs
)の特別なインスタンスであり、常に2.6 systems
に存在します。 rootfsをアンマウントすることはできません。
カーネルの初期化時には、rootfs
と呼ばれる絶対に最小限のファイルシステムが登録されています。このファイルシステムを実装するコードはfs/ramfs/inode.c
にあり、ramfs
ファイルシステムのコードも含まれています。 rootfsは、MS_NOUSER
フラグの指定を除いて、基本的にはramfs
と同じです。これは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