GRUBはext3ファイルシステムから設定ファイルをどのように読みますか?

GRUBはext3ファイルシステムから設定ファイルをどのように読みますか?

GRUBがext2ファイルシステムを読み取ることができ、それを実行するためのモジュールがあることを読んだ。 Redhatシステムでは、このモードはどこにありますか? /bootパーティションがext3/ext4または他のファイルシステムタイプの場合はどうなりますか?

答え1

grub ext2 モジュールは差分を最小限に抑えるので、ext3 と ext4 も認識します。モジュール自体は grubcore.imgファイルに組み込まれています (ext[234] を /boot として使用する場合)。このファイルは通常、パーティションが起動する前にマスターブートレコードの後ろのセクタにコピーされ、マスターブートレコードのコードは単にロードされます。その後の部門。

答え2

タイトル行の質問部分に答えるために、対応する実行コードが initrd イメージに保存されます。 initrdイメージは起動時にカーネルに直接ロードされるため、鶏や卵の問題を解決し、パーティションを読み取らずにextパーティションを読み取るコードを取得できます。

/bootのファイルシステムの選択について。

  • Ext3はext2と逆互換され、主にロギング機能を導入します。
  • Ext4はextファイルシステムの主要なリビジョンであり、多くの新機能を提供し、データを回復してファイルシステムを再構築しないと元に戻すことはできません。

私は本当に/bootでext3/4を使用することを心配する必要はないと思います。通常、VMには別の/bootは必要なく、ext4パーティションの一部としてうまく機能します。また、/bootにログオンせずにext2を使用することについて心配することはありません。カーネルをアップグレードしない限り、停電中に/bootファイルシステムに優れた書き込みが発生する可能性がないためです。

モジュールは一般的な場所である/lib/modules//kernel/fs/に保存されます。起動時にカーネルで使用できるようにinitrdイメージにコンパイルされます。

アップデート:まだ正式なRedHatステートメントを見つけることができませんでしたが、Michael Zhangの本では、RHEL 6は/ bootにext2を使用しなくなったと述べています。 ext4で十分で、/ bootのデフォルトのファイルシステムであるからです。章の本はまた、ロギング以外にext2とext3の間に実際に違いはないと指摘しています。

答え3

Grub( 0.9x) は ext2 と ext3 をサポートしていますが、 ext4(以前のバージョンと互換性のない機能をオフにしない限り)。

Grub2(1.97以降)は、Fedora 17の/boot/grub2/i386-pc/( )ext2.modにある同じモジュール[]を介してext2、ext3、およびext4をサポートします。32-bit

関連情報