' Linuxが起動時に初期RAMディスクを使用するのはなぜですか? 'の最初の答えは、initrd /初期RAMファイルシステムが実際のルートファイルシステムをマウントするためのドライバーを提供するために使用されることを示しています。また、これらのドライバーをカーネルにパッチすることは可能であるため、initrd
または初期RAMファイルシステムは必要ありませんが、方法の説明はありません。カーネル(最新バージョン)にパッチを適用して、initrd
を使用せずにルートにEXT4ファイルシステムをマウントするにはどうすればよいですか?このソリューションはUUIDs
をサポートしますか?
何もパッチを当てる必要はありません。カーネルを自分で構成してコンパイルするだけです。これは高度なタスクであるため、初心者向けではありません。秘訣は、ハードウェアのみをサポートするようにカーネルを構成し、モジュールとしてではなくカーネル内のすべてをコンパイルすることです(少なくとも、起動に必要なドライバー:ディスクコントローラー、ファイルシステムなど)。
カーネルを構成およびコンパイルする方法については、たくさんのチュートリアルがあります
だから、グーグル「カーネルコンパイル{あなたのディストリビューション}」だけ。ディストリビューションに適切なチュートリアルを使用することが重要です。使用しているディストリビューションは、「バニラ」カーネルではなく「ディストリビューション」カーネルでのみ利用可能な機能を期待している場合があります。正しいチュートリアルでは、正しいソースを紹介します。
/etc/fstab
でUUIDを使用できますが、initrd/initramfsを削除した後、GRUBでは使用できません。
たとえば、私はGentooを使用していますが、initrd/initramfsを使用したことはありません。新しいカーネルが利用可能になるたびに、自分で構成してコンパイルする必要があります。 root=/dev/sdb4
カーネルパラメーターでgrubを使用していますが、fstabではUUIDを使用しています。