ブートの問題を修正するGRUB2の機能は、元のGRUBブートローダーよりも大幅に改善されています。この記事では、GRUB 2の起動の問題を修復するために利用できるオプションに関する情報と、GRUB2ターミナルの使用方法に関する具体的な手順について説明します。手順はGRUB2用に書かれています。
どのように見えますか?
GRUBの起動に失敗すると、基本的に3つのエラーメッセージまたは画面が表示されます。
grub> :これは、GRUBがconfigurationnファイル以外のすべてを検出したときに表示される画面モードです。このファイルはおそらくgrub.confになります 。
grubレスキュー> :これは、GRUB 2がGRUBフォルダーを見つけることができないか、その内容が欠落しているか破損している場合のモードです。 GRUB 2フォルダーには、メニュー、モジュール、および保存された環境データが含まれています。
GRUB :「GRUB」だけで、GRUB2がシステムの起動に必要な最も基本的な情報さえも見つけられなかったことを示すものは何もありません。
これらは、起動中に発生する可能性のある基本的なエラーです。スプラッシュ画面のフリーズ、Busybox、Initramfsなどの画面に表示されるエラーは他にもいくつかありますが、GRUB2が開始されました...
ただし、GRUB 2の各障害モードは、GRUB2ターミナルから修正できます。または、ディストリビューションのライブブートCDまたはDVDには、サードパーティのレスキューツールもあります。
これらは、「c」を押してGRUB2端末モードに入るときに使用できるコマンドです。
boot (Initiate the boot, also F10 or CTRL-x)
cat (view the contents of config or txt files; cat (hd0,1)/boot/grub/grub.cfg)
configfile (Load a GRUB 2 configuration file such as grub.cfg; configfile (hd0,5)/boot/grub/grub.cfg.)
initrd (Loads the initrd.img, necessary for booting; initrd (hd0,5)/initrd.img.)
insmod (Loads a module; insmod (hd0,5)/boot/grub/normal.mod, or insmod normal.)
linux (Loads the kernel; insmod /vmlinuz root=(hd0,5) ro.)
loop (Mount a file as a device; loopback loop (hd0,2)/iso/my.iso.)
ls (lists the contents of a partition/folder; ls, ls /boot/grub, ls (hd0,5)/, ls (hd0,5)/boot.)
lsmod (List loaded modules.)
normal (Activate the normal module, if loaded.)
search (Search for a device. Type help search for the available options.)
set (Review current settings, or set XXX to set a variable such as colors, prefix, root.)
vbeinfo (Display GRUB 2 available resolutions.)
レスキューシェルを取得した場合、これは通常、GRUBが何らかの理由で「通常の」モジュールをロードできなかったことを意味します。これを一時的に回避できる可能性があります。たとえば、失敗の理由が「プレフィックス」が間違っている(おそらく、間違ったデバイスを参照している、または「/ 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
これはレスキュー部分の場合であり、システムは正常に動作している必要があります。そうでない場合は、ブート修復を使用してすべてのトラブルを保存できます。これは、完全なブートメニューを修復するために使用されるツールです。直接ダウンロードして、ライブブートCDまたはDVDとして使用できます。こちらがダウンロードリンクです。