ルートマウントの前に/etc/fstabにアクセスするには?

ルートマウントの前に/etc/fstabにアクセスするには?

いくつかの点を変更しながら、/etc/fstab鶏と卵の問題について考えました。/etc/fstabファイルシステム(ルートパーティションを含む)をマウントするための指示が含まれている場合、オペレーティングシステムは最初にそのファイルをどのように読み込みますか?

ベストアンサー1

ブートローダがカーネルを呼び出すと、カーネルにというパラメータを渡しますroot。したがって、カーネルが初期化を終了する/と、呼び出す前に指定されたルートパーティションマウントを実行します/sbin/init(他のパラメータでオーバーライドされない限り)。

その後、プロセスinitはデフォルトの実行レベルで開始するように定義されているすべてのサービスをロードし、システムの残りの部分を開始します。

構成および使用する初期化システムによっては、前述のステップの間にいくつかの異なるステップがあります。現在、Linuxで最も広く使用されているinitシステムは、SysVInit(伝統)、Upstart、およびSystemdです。ここでは、起動プロセスの詳細を確認できます。ウィキペディア記事

これはGrub構成の単純化された例です。あなたの質問に答える重要な部分は、最後の行の2番目の部分です。次のようになりますroot=/dev/sda3

menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-40864544-2d0f-471a-ab67-edd7e4754dae' {
    set root='hd0,msdos1'
    echo    'Loading Linux 3.12.6-gentoo-c2 ...'
    linux   /kernel-3.12.6-gentoo-c2 root=/dev/sda3 ro  
}

多くの構成では、カーネルは、残りの/すべてのオプションがデフォルト値に設定されている読み取り専用モードでマウントされます。/etc/fstabinitが再マウントされたら、適用するファイルシステムパラメータを指定できます。

おすすめ記事