/dev/sda1
/dev/root
さまざまなLinuxシステムでは、ルートデバイスが物理デバイスノード(たとえば)として表示されていないか、実際のファイルシステムではありませんが(システムに物理ファイルとして表示されますが)というファイルシステムがないmtab
ことを確認しました。システムのコード。実際のルートデバイスノード(rdevやChromium OS rootdevなど)を決定するさまざまなユーティリティが開発されています。いいえ。(これは本当ですか?それが私の質問に答えますか?)mtabが時々実際のデバイスノードの代わりに(一度見たようです)と言うのはなぜですか?ストーリーノード?カーネルは最初にcmdlineのパラメータに基づいてルートデバイスをマウントし、次にパラメータに従ってマウントしますか?私はこれが実際にカーネルによって維持されているものへのシンボリックリンクであることを知っていました。rootfs
/proc/filesystems
<linux-kernel-source-tree>/fs
/dev
/dev/root
rootdev
root
init/systemd
fstab
init
mtab
init
mtab
/etc/mtab
/proc/mounts
mtab
/dev/root
mtab
答え1
これは通常 initramfs の使用によるアーティファクトです。
カーネル文書から(https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt)
rootfsとは何ですか?
Rootfs は、2.6 システムに常に存在していた ramfs (またはアクティブな場合は tmpfs) の特別なインスタンスです。 rootfsをアンマウントできない理由は、initプロセスを終了できないのとほぼ同じです。空のリストを確認して処理するために特別なコードを使用する代わりに、カーネルは特定のリストが終了しないように小さく、簡単に保証できます。空になる。
ほとんどのシステムはrootfsに他のファイルシステムをマウントして無視します。 ramfsの空のインスタンスは非常に少量のスペースを占めています。
したがって、これはrootfs
initramfs用に作成されたルートファイルシステムであるため、マウント解除できません。
については/dev/root
よくわかりませんが、私の記憶が正しい場合/dev/root
(initramfsとは異なり)initrdを使用したときに生成されたようです。
答え2
Gentooにはこれを行うパッチがあります(実際のルートデバイスが表示されていることを確認してください)。ここで見つけることができます:https://lkml.org/lkml/2013/1/31/574
答え3
Linuxでは、/dev/root
起動時に作成された物理デバイスへのシンボリックリンクです。
ブートカーネルのパラメータを使用readlink /dev/root
またはcat /proc/cmdline
確認して、root
その背後にある実際のデバイスを見つけることができます。
男性からdracut(8)
しかし、成功したブートを続行するには、ルートボリュームを見つけて、ファイルシステム/ dev / rootへのシンボリックリンクを作成することを目的としています。