##ブートローダとは
ブートローダとは、ハードティスク等からOSを起動するためのプログラム。
LinuxのブートローダにはGRUB(or GRUB2)が標準的に採用されている。
GRUBは、多数のファイルシステムを認識可能でありシェル機能も搭載している。
##ブートローダのコマンド例
# /dev/hdaのMBR(起動ドライブの最初のセクタ)領域にGRUBをインストール
$ grub-install /dev/hda
# GRUBのバージョン確認komanndo
$ grub-install -v
##ブートローダの設定(GRUBの設定ファイル)
設定ファイル位置は「/boot/grub/menu.lst」にある。
必要に応じて編集し、GRUBの動作を変更すること。
# /boot/grub/menu.lst
# ブートデバイスの定義。GRUBのインストール先
boot=/dev/sda
# デフォルトで起動するエントリ番号。デフォルトは1番目のエントリ
default=0
#メニューを表示する時間。デフォルトは5秒
timeout=5
#起動時に選択メニューを表示しない
hiddenmenu
#メニューの表示画面の画像
splashimage=(hd0,0)/grub/splash.xpm.gz
#メニューに表示されるエントリ名。1番目のエントリ
title CentOS (2.6.32-358.el6.i686)
#ルートファイルシステムの指定。GRUBでは、/dev/sda1を(hd0,0)、/dev/sdaを(hd0,1)と表示
root (hd0,0)
#起動するカーネルイメージファイルと起動オプションの指定
kernel /vmlinuz-2.6.32-358.el6.i686 ro root=UUID=15a29eb8-6f0c-4e3b ~ quiet
#初期RAMディスクファイルの指定
initrd /initramfs-2.6.32-358.el6.i686.img
##ブートローダの設定(GRUB2の設定ファイル)
- /etc/default/grubで設定変更
- update-grub2コマンドにより、/boot/grub/grub.crgファイルが生成
# /etc/default/grubの中身
#デフォルトで起動するOSの番号
GRUB_DEFAULT=0
#デフォルトでOSを起動するまでの秒数
GRUB_TIMEOUT=5
#ブートオプション
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
#カーネルに渡すブートオプション
GRUB_CMDLINE_LINUX=""
#update-grub2 コマンド例
$ update-grub2
##ブートローダの起動 - カーネルオプションの設定
ブートローダの設定ファイル(/boot/grub/menu.lst)にあらかじめカーネルオプションを設定しておくがシステムブート時にカーネルオプションを設定することもできる。ブートローダの起動画面で、aキーを入力すると編集用画面に移行する。
#シングルモードで起動するためのカーネルオプションの設定
grub append> ro root=LABEL=/ rhgp quiet single
#起動時に、/bin/shシェルが起動するためのカーネルオプションの設定
grub append> ro root=LABEL=/ rhgp quiet init=/bin/sh
※CnetOSでは、バージョンによりGRUBの編集用画面が少し異なる。なお、ブートローダ起動時に設定されたカーネルオプションは/proc/cmdlineファイルに記載されている。