一部のLinuxシステムでは、ルートファイルシステムが/dev/の代わりに/dev/rootとして表示されるのはなぜですか?エンタップから?

一部のLinuxシステムでは、ルートファイルシステムが/dev/の代わりに/dev/rootとして表示されるのはなぜですか?エンタップから?

/dev/sda1/dev/rootさまざまなLinuxシステムでは、ルートデバイスが物理デバイスノード(たとえば)として表示されていないか、実際のファイルシステムではありませんが(システムに物理ファイルとして表示されますが)というファイルシステムがないmtabことを確認しました。システムのコード。実際のルートデバイスノード(rdevやChromium OS rootdevなど)を決定するさまざまなユーティリティが開発されています。いいえ。(これは本当ですか?それが私の質問に答えますか?)mtabが時々実際のデバイスノードの代わりに(一度見たようです)と言うのはなぜですか?ストーリーノード?カーネルは最初にcmdlineのパラメータに基づいてルートデバイスをマウントし、次にパラメータに従ってマウントます私はこれが実際にカーネルによって維持されているものへのシンボリックリンクであることを知っていましrootfs/proc/filesystems<linux-kernel-source-tree>/fs/dev/dev/rootrootdevrootinit/systemdfstabinitmtabinitmtab/etc/mtab/proc/mountsmtab/dev/rootmtab

答え1

これは通常 initramfs の使用によるアーティファクトです。

カーネル文書から(https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt)

rootfsとは何ですか?

Rootfs は、2.6 システムに常に存在していた ramfs (またはアクティブな場合は tmpfs) の特別なインスタンスです。 rootfsをアンマウントできない理由は、initプロセスを終了できないのとほぼ同じです。空のリストを確認して処理するために特別なコードを使用する代わりに、カーネルは特定のリストが終了しないように小さく、簡単に保証できます。空になる。

ほとんどのシステムはrootfsに他のファイルシステムをマウントして無視します。 ramfsの空のインスタンスは非常に少量のスペースを占めています。

したがって、これはrootfsinitramfs用に作成されたルートファイルシステムであるため、マウント解除できません。

については/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へのシンボリックリンクを作成することを目的としています。

関連情報