【Linux】GRUB/GRUB2の設定例・インストール

LinuxにおけるGRUB/GRUB2のインストールや設定例についてまとめました。

## 【設定例】GRUB Legacy

ブートロダーにGRUBを使用する場合、以下の設定を行います。

① 以下のコマンドでGRUBをインストールします。

// インストール
$ grub-install /dev/hda


// バージョン確認
grub-install -v

② GRUBの設定ファイル(/boot/grub/grub.conf)を編集します。

パラメータ 説明
timeout メニューを表示している時間(秒)
default デフォルトで起動するエントリの番号
title メニューに表示されるエントリ名
root ルートデバイス
kernel 起動するファイル
makeactive ルートパーティションのアクティブ化
chainloader 指示されたセクターの読み込みを実行
hiddenmenu 起動時の選択メニューを表示しない

GRUBプロンプトでのオプションは以下のとおりです

オプション 説明
boot OSを起動
root GRUBのルートデバイスを設定する
initrd 初期RAMディスクをロードする
install GRUBをインストール
setup GRUBを指定した場所にインストール
parttype パーティションタイプを変更する
makeactive ルートパーティションのアクティブ化
setkey キーマップを設定する

## 【設定例】GRUB2

GUB2は。GRUB Legacyと違い設定を複数のファイルに分散して保存できます。
また、設定ファイルの書式も変更されています(パーティション番号の先頭番号が0から1になるなど)。
また、に多くのファイルシステム(LVMやRAIDなど)に対応し、ファイルシステムなどの特定の機能に対応するために、モジュールを 読み込む仕組みが追加されています(代わりにステージという仕組みは廃止)。

GRUB 2 の場合の設定ファイルは「/boot/grub/grub.cfg」ですが、編集する場合は「/etc/default/grub」に記述し、update-grub コマンドを実行して「/boot/grub/grub.cfg」の設定ファイルを生成します。

/etc/default/grub の記述例

GRUB_DEFAULT=0 // 始動するデフォルトOS(番号で指定)
GRUB_HIDDEN_TIMEOUT=0 // 指定した秒数だけ、ユーザからのキー入力待機
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10" // 既定の設定で自動起動する間、起動メニューを表示して待機する時間(単位:秒)
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=quiet splash" // 通常モードに 対してだけ、この内容が追加されます。
GRUB_CMDLINE_LINUX=" // 通常/復元モードなど
︙

●grub2のオプション

オプション 説明
GRUB_DEFAULT デフォルトのメニューエントリーを設定する。値は数値ないしsaved
GRUB_DEFAULT=0 メニューの位置によってデフォルトエントリーを決定する。以前のGrub同様grub.cfgにおける最初のmenuentryは0
GRUB_DEFAULT=saved デフォルトのメニューエントリーは前回選択したものになる。メニューが表示されている場合にはそのエントリーがハイライトされる。キー入力がなく時間が経過するとこのエントリーが起動される。
GRUB_DEFAULT=xxx” メニューエントリーを直接師弟することもできる。この場合エントリーの位置は関係ない。例えばGRUB_DEFAULT=CentOS, Linux 2.6.31-9-generic”などとなる。
GRUB_TIMEOUT デフォルトエントリーが起動されるまでの時間を秒数で指定する。-1にするとユーザーが選択するまでメニューが表示される。
GRUB_HIDDEN_TIMEOUT デフォルトでは、他のOSが存在するかどうかによって挙動が変わる。他のOSが検出された場合にはメニューが表示される(#が先頭についている)。他のOSが検出されない場合にはメニューは非表示になる。正の整数が設定された場合、メニューは表示されないが起動はその秒数の間だけ停止する。0が設定された場合、メニューは表示されず、遅延もない。ユーザーは起動中にシフトキーを押しつづけることでメニューを表示させることができる。起動中、システムはシフトキーの状態をチェックする。状態が確認出来ない場合少しの間起動は止まり、ユーザーはエスケープキーを押すことでメニューを表示できるようになる。
GRUB_HIDDEN_TIMEOUT_QUIET trueならカウントダウンは表示されない。画面には何も表示されない。falseなら真っ黒な画面上にGRUB_HIDDEN_TIMEOUTで設定された秒数、カウントダウンが表示される。
GRUB_DISTRIBUTOR メニューエントリーの記述を決定する
GRUB_CMDLINE_LINUX カーネルに渡すオプション
GRUB_CMDLINE_LINUX_DEFAULT 通常起動のlinuxラインの最後にオプションを付け足す。menu.lstにおけるdefoptionsに相当する。起動過程をテキスト表示したい場合には”quiet splash”を消せばよい。スプラッシュイメージを表示しつつ簡易テキストも表示するなら”splash”を指定する。
hiddenmenu 起動時の選択メニューを表示しない
404 NOT FOUND | 機械学習入門速報
404 NOT FOUND | 機械学習入門速報

コメント