GRUB (Grand Unified Bootloader)とは、高機能なブートローダで、GNUプロジェクトが開発している。

GRUB rescue mode

GRUBフォルダを見つけられなかったり、GRUBフォルダ内のコンテンツが見つからないか壊れていた場合、GRUBはレスキューモードとなり、次のようなプロンプトが表示される。

grub rescue>
GRUB rescueコマンド一覧
コマンド説明
bootブートを初期化する。
catテキストファイルの中身を表示する。
configfilegrub.cfgのようなGRUB設定ファイルを読み込む。
initrdブートに必要なinitrd.imgを読み込む。
insmodモジュールを読み込む。
linuxカーネルを読み込む。
loopファイルをループバックデバイスとしてマウントする。
lsパーティション又はディレクトリのコンテンツ一覧を表示する。
lsmod読み込んだモジュールの一覧を表示する。
normalノーマルモジュールが読み込まれていれば、アクティブにする。
searchデバイスを探す。
set変数の一覧を表示する。または、変数に値を設定する。
vbeinfoGRUBで使用可能な画面解像度を表示する。

なお、GRUBがrescue modeになった場合はキーボードが日本語配列になっていない。記号の入力のしかたを次に示す。

文字キー
(Shift + 9
)Shift + 0
=^

GRUB rescueの使用例

GRUBがrescue modeになった場合、まずどのようなパーティションが存在するのかを確認する。

error: no such devie: xxx
Entering rescue mode...
grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos4)
grub rescue>

次に、bootディレクトリがどのパーティションに存在するのかを確認する。

grub rescue> ls (hd0)/
error: unknown filesystem.
grub rescue> ls (hd0,msdos5)/
./ ../ bin/ boot/ etc/ dev/ var/ home/
grub rescue> ls (hd0,msdos4)/
error: unknown filesystem.
grub rescue>

bootディレクトリ下にnormal.modファイルが存在すること確認する。grub rescueのlsコマンドはファイル名を引数に指定すると、「ディレクトリではない」と表示される。

grub rescue> ls (hd0,msdos5)/boot/grub/i386-pc/normal.mod
error: not a directory
grub rescue>

prefix変数を設定する。

grub rescue> set prefix=(hd0,msdos5)/boot/grub
grub rescue>

モジュールを読み込む。

grub rescue> insmod (hd0,msdos5)/boot/grub/i386-pc/normal.mod
grub rescue>

ノーマルモジュールをアクティブにする。

grub rescue> normal
grub rescue>

以上でGRUBが起動される。GRUBによりOSが起動されたら、GRBUを再インストールする。

$ sudo grub-install /dev/sda
[sudo] password for marina
Installation finished. No error reported.
$
スポンサーリンク