カーネルがGRUBからファイルシステム情報を継承しないのはなぜですか?

カーネルがGRUBからファイルシステム情報を継承しないのはなぜですか?

GRUBはファイルシステムを理解し、/bootを見てカーネルにアクセスできるので、カーネルをロードし、続いてinitrdの助けを借りてファイルシステムをマウントするためにいくつかのドライバをロードすることを読んでいます。

だから私の質問は:カーネルがファイルシステムをマウントしなければならないのはなぜですか?おそらく質問は実際にマウントの概念についてです。実際にはどういう意味ですか?ファイル階層とディスクアドレスの間の一種のマッピングですか?

ベストアンサー1

GRUBの使命は、カーネル(およびinitrd)をロードし、いくつかのパラメータをカーネルに渡して開始することです。これを行うには、ディスクパーティションについて知り、ファイルシステムを読み取ることができる必要があります。ファイルシステムをマウントするには、カーネルにデータ構造を埋め、カーネルがファイル階層を追跡できるようにする必要があります。 GRUBはカーネルの一部ではなく、この階層について何も知りません。指定されたパーティションのファイルシステムで何かを見つけるように指示されますが、/bootカーネルがそれを呼び出すかマウントする場所はわかりません。 (まあ、カーネルに引数を渡すこともできますが、実際には「わかりません」)。

GRUBの使命は、「1つのことをうまく行うこと」です。 GRUBはLinuxカーネルを起動できる唯一のブートローダではなく、ほとんどのアーキテクチャでは利用できないため、カーネルはそれに依存できません。

おすすめ記事