Linux修復 · 1 min read · Sep 30, 2025

GRUB 2レスキューモードでのLinuxブート失敗の修復

GRUB 2 (Grand Unified Bootloader version 2) は、多くのLinuxディストリビューションで使用される人気のある柔軟なブートローダーです。これは、システムのファームウェアとオペレーティングシステムとのインターフェースとして機能し、ユーザーがどのOSまたはカーネルバージョンをブートするかを選択できるようにします。GRUB 2は、Linux、Windowsなどを含む幅広いオペレーティングシステムをサポートしており、非常に汎用性があります。モジュラー設計を特徴としており、さまざまなモジュールを通じてカスタマイズや拡張が可能です。たとえば、異なるファイルシステムや暗号化のサポートなどがあります。GRUB 2には、インタラクティブなコマンドラインインターフェース、レスキューモード、およびブート動作を変更するために編集可能な設定オプションが含まれています。このブートローダーは、マルチブートシステムの管理や、システムの更新や変更後にオペレーティングシステムが正しくブートすることを保証するために重要です。

GRUB 2のブート問題を修正する能力は、元のGRUBブートローダーに比べて大幅に改善されました。この記事では、GRUB 2のブート問題を修復するためのオプションと、GRUB 2ターミナルの使用方法に関する具体的な指示を提供します。指示はGRUB 2用に書かれています。

GRUB 2プロンプトはどのように見えますか?

GRUBがブートに失敗した場合、基本的に3つのエラーメッセージまたは画面があります。

grub>: これは、GRUBが設定ファイルを除いてすべてを見つけたときに表示される画面モードです。このファイルはおそらくgrub.confです。

grub rescue>: これは、GRUB 2がGRUBフォルダーを見つけられないか、その内容が欠落または破損しているときのモードです。GRUB 2フォルダーには、メニュー、モジュール、および保存された環境データが含まれています。

GRUB: 単に「GRUB」とだけ表示される場合、GRUB 2はシステムをブートするために必要な最も基本的な情報すら見つけられなかったことを示します。

これらはブート中に発生する可能性のある基本的なエラーです。ただし、フリーズしたスプラッシュスクリーン、Busybox、またはInitramfs: GRUB 2が開始されたなど、画面に表示される他のエラーもいくつかあります。 しかし、GRUB 2の失敗モードのそれぞれは、GRUB 2ターミナルまたはディストリビューションのライブブートCDまたはDVDから修正できます。サードパーティのレスキューツールも利用可能です。

利用可能な基本コマンド。

これらは、「c」を押してGRUB 2ターミナルモードに入ったときに使用できるコマンドです。

boot (ブートを開始します。F10またはCTRL-xでも可)
cat (configまたはtxtファイルの内容を表示します; cat (hd0,1)/boot/grub/grub.cfg)
configfile (grub.cfgなどのGRUB 2設定ファイルを読み込みます; configfile (hd0,5)/boot/grub/grub.cfg.)
initrd (ブートに必要なinitrd.imgを読み込みます; initrd (hd0,5)/initrd.img.)
insmod (モジュールを読み込みます; insmod (hd0,5)/boot/grub/normal.mod, またはinsmod normal.)
linux (カーネルを読み込みます; insmod /vmlinuz root=(hd0,5) ro.)
loop (ファイルをデバイスとしてマウントします; loopback loop (hd0,2)/iso/my.iso.)
ls (パーティション/フォルダーの内容をリストします; ls, ls /boot/grub, ls (hd0,5)/, ls (hd0,5)/boot.)
lsmod (読み込まれたモジュールをリストします.)
normal (読み込まれている場合、通常のモジュールをアクティブにします.)
search (デバイスを検索します。利用可能なオプションについてはhelpを入力してください.)
set (現在の設定を確認するか、XXXを設定して色、プレフィックス、ルートなどの変数を設定します.)
vbeinfo (GRUB 2の利用可能な解像度を表示します.)

レスキュシェル。

レスキュシェルが表示された場合、通常はGRUBが「normal」モジュールを何らかの理由で読み込めなかったことを意味します。これを一時的に回避することが可能な場合があります。たとえば、失敗の理由が「prefix」が間違っている場合(おそらく間違ったデバイスを指しているか、または「/boot/grub」へのパスがデバイスに対して正しく相対的に作成されていない場合)、これを修正して手動で通常モードに入ることができます。現在のプレフィックス(および他のプリセット変数)を確認します:

set

おそらく、次のような出力が得られます:

出力は異なる場合がありますが、必要な情報が得られます。利用可能なデバイスを確認します:

ls

正しい値に設定します。これは次のようなものかもしれません:

set prefix=(hd0,1)/grub

(これは自分のドライブ名に応じて行う必要があります)

set root=(hd0,1)

(これも自分のドライブ名に応じて行う必要があります。)

insmod normal  
normal

上記のコマンドは、レスキューモードから通常のターミナルモードに出ることができます。ターミナルモードでは、より多くのコマンドが機能性を向上させて利用できます。 上記のコマンドの後、設定の残りを開始できます。

insmod linux   
* linux /vmlinuz root=/dev/sdXY ro

(これがうまくいかない場合は、次を試してください)

linux /boot/vmlinuz-3.2.0-14-generic root=/dev/sda1 ro

(オプション)

initrd /initrd.img

(initrdイメージを選択します。)

boot

システムブート後。

GRUB設定ファイルを更新します。

sudo update-grub

デバイスにGrubを再インストールします:

sudo grub-install /dev/sdX

これでレスキュー部分は完了し、システムは正常に動作するはずです。そうでない場合は、Boot Repairを使用してすべての問題を解決できます。これは、完全なブートメニューを修復するために使用されるツールです。直接ダウンロードして、ライブブートCDまたはDVDとして使用できます。ダウンロードリンクはこちらです。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。