Grub vs. Systemd-boot: ブートローダーとしてどちらを使うべきか

Grub vs. Systemd-boot: ブートローダーとしてどちらを使うべきか

以前は「gummiboot」と呼ばれていた Systemd-boot は、Grub の新しい競合相手です。互換性のある EFI システムでは、Grub の代わりに systemd-boot を使用して、システムのオペレーティング システムを起動できます。大まかに見ると、systemd-boot は UEFI に既に存在するブートローダーにリンクし、オペレーティング システムを選択するための最も基本的な機能セットを提供します。一方、Grub は、「OS 全体」と呼ばれることもあるものをロードして、ユーザーのオペレーティング システムの起動を管理し、はるかに優れた機能を提供します。

ブートローダーとは?

ブートローダーはオペレーティング システムをロードします。ディスクの最初の有効なブロックからマシンの BIOS によってメモリにコピーされ、オペレーティング システムが起動する前に実行されます。そこから、そのセッションでマシンを起動する方法を変更できる基本的な機能セットを提供します。たとえば、GRUB には、Linux ディストリビューション用にさまざまなカーネルをロードするオプションがあります。

GRUB 2 の Linux カーネル選択画面のスクリーンショット。

ブートローダが複数の起動可能なシステム イメージを検出した場合、ユーザーはロードするシステムを選択できます。次に、ブートローダーはオペレーティング システムを起動し、ハードウェア制御を OS に渡します。ほとんどのシステムでは、マザーボードのスプラッシュ画面の直後にブートローダーが表示されます。

マザーボードの BIOS スプラッシュ画面の写真。

参考までに: BIOS と UEFI は、現在 x86_64 マザーボードに搭載されている 2 つのファームウェアです。それらが動作する理由と、どのファームウェアが最適かを判断する方法を学びましょう。

Grub と systemd-boot: Grub とは?

GNU GRUB は、より一般的には Grub または GRUB 2 として知られていますが、GR and Unified Boot Interface の略です。これは、Free Software Foundations のマルチブート仕様に基づいています。その開発者は、あらゆるハードウェア プラットフォームで動作し、実質的にあらゆるブート メディアやファイル システムからあらゆる Unix ライクなオペレーティング システムを起動できるように設計しました。

Ubuntu Linux のデフォルトの GRUB 2 ブートローダーのスクリーンショット。

Grub は幅広いプラットフォームとディストリビューションをカバーしているため、多くの場合、ほとんどの Linux ディストリビューションでデフォルトのブートローダーになっています。Linux ブートローダーを操作したことがある場合、それはおそらく Grub でした。また、テキスト、背景色、グラフィカルなスプラッシュ画像などの視覚的な構成のオプションも提供します。たとえば、Debian のバージョンの Grub では、プロンプトに独自の青緑色の背景を使用しています。

Debian 11 の GRUB 2 ブートローダー メニューのスクリーンショット。

Grub はマルチブート システムをサポートしており、その開発者はその目的のために特別に作成しました。ただし、何か問題が発生した場合は、少し注意が必要です。問題が最も頻繁に発生するのは、既存のマルチブート システムに Grub をインストールするとき、OS を削除するとき、および新しい OS をインストールするときです。Grub は 1 つの conf ファイルを使用するため、すべてのオペレーティング システムが同じファイルに含まれ、変更を反映するように編集されます。

Debian の grub.cfg ファイルを表示しているターミナル ウィンドウのスクリーンショット。

プライマリ オペレーティング システムのブートローダーは MBR に存在し、他のオペレーティング システムは、ブートローダーを介して独自のパーティションにチェーン ロードされます。これは機能し、ほとんどのユース ケースでは、これで十分です。しかし、それは簡単に動揺することもできるシステムです. たとえば、チェーンロードされたカーネルを適切に構成しないと、複数の Linux インストールが MBR の制御をめぐって「競合」する可能性があります。

Grub vs. Systemd-boot: Systemd-boot とは?

Linux ファンは「 systemd 」という名前に遭遇したことがあるかもしれません。「システム デーモン」の略である Systemd は、Linux システムを実行するための基本的な前提条件デーモンのコレクションです。Systemd-boot は数千行のコードであり、残りの systemd スイートには依存関係がありません。

Pop!_OS の Systemd-boot ブートローダーのスクリーンショット。

ただし、そのシンプルさのおかげで、gummiboot が systemd に追加され、systemd のコンポーネント命名規則に合わせて「systemd-boot」という名前に変更されました。Systemd の全体的な目標は、より少ないことを開始し、より多くのことを並行して開始することによってシステムを迅速に起動することであり、systemd-boot はその目標を共有します。

Pop!_OS のデフォルトの EFI 構成を示すターミナル ウィンドウのスクリーンショット。

テキストのみのブートローダーとして、systemd-boot は明らかに昔ながらの外観をしています。利用可能な起動デバイスは、systemd-boot の設定ファイルで処理されるタイトル別に一覧表示されます。systemd-boot は基本的に、EFI に含まれるブート ロジックのインターフェイスであるため、互換性のある EFI システムでのみ使用できます。これは、Grub よりも大幅に構成可能なシステムが少なく、モジュラーを使用します。起動する各オペレーティング システムの conf ファイル。

マシンの /boot/efi パーティションの内容を示すターミナル ウィンドウのスクリーンショット。

インターフェースが限られているため、systemd-boot は Grub よりもはるかに小さいブートローダーです。一部の人々は、速度を上げるため、または複数のオペレーティング システムをより効果的に管理するためにインストールします。systemd-boot は分割構成ファイル (カーネルまたはオペレーティング システムごとに 1 つの .conf ファイル) を使用するため、複数のカーネルまたはオペレーティング システムを含むシステムを手動で維持するのがより簡単になります。これらのドロップイン構成テキスト ファイルは、新しいカーネルのインストール時に systemd のディレクトリにコピーするだけで済みます。これにより、マルチブート システムの構成が簡素化されます。

Grub と Systemd-boot のどちらが優れていますか?

Grub に問題がある場合、systemd-boot は、ドロップイン ファイル構成を使用して大幅に簡素化されたブート インフラストラクチャを提供します。より堅牢ですが、Grub ほど構成可能または適応可能ではありません。マルチブート EFI システムを実行している場合、systemd-boot はブート管理を容易にし、ブート時間を短縮することさえできます。他のシステム構成、または systemd-boot が提供するよりも大きな柔軟性を必要とする用途では、Grub が最善の策です。

よくある質問

GRUB 2 システムを Systemd-boot に変換することはできますか?

はい。ほとんどの場合、GRUB と Systemd-boot は同じシステム内で共存できるはずです。これは、GRUB を使用するマシンを Systemd-boot に変換できることを意味します。

Systemd-boot のインストールは、Linux ディストリビューションによって異なることに注意してください。ただし、ほとんどの場合、これには OS を UEFI モードでロードして を実行する必要がありますsu && bootctl install

BIOS システムは Systemd-boot を実行できますか?

はい。UEFI のような環境をエミュレートすることにより、BIOS のみのシステムで Systemd-boot を実行することができます。これを実行できる最も人気のあるプログラムの 1 つはCloverです。これは、Linux ディストリビューションで動作するように装備できる Hackintosh マシンのブートローダーの代替品です。

GRUB 2 を高速化することは可能ですか?

はい。ブート中に GRUB 2 を高速化する最も簡単な方法の 1 つは、プロンプトを待機する時間を短縮することです。これを行うには、 を実行してsudo nano /etc/default/grubから、GRUB_TIMEOUT値を 1 に変更します。

一方、GRUB_TIMEOUT値を -1 に変更することで、GRUB が常にユーザーの応答を待機するようにすることもできます。sudo update-grub完了したら、実行して新しい構成を適用する必要があります。

画像クレジット: Unsplash . Ramces Redによるすべての変更とスクリーンショット。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です