GRUB のインストール
GRUB は多機能なブートローダであり、現在多くのディストリビューションで標準的に使用されている。
GRUB の特徴は以下。
- 多数のファイルシステムを認識可能
- シェル機能を搭載し、コマンドによる高度な管理が可能
ブートローダとして GRUB をインストールするには grub-install コマンドを用いる。
次の例では /dev/sda の MBR 領域に GRUB をインストールしている。
$ sudo grub-install /dev/sda
また、GRUB のバージョン確認は以下のコマンドで。
$ grub-install -v
grub-install (GNU GRUB 0.97)
GRUB Legacy の設定
GRUB Legacy の設定ファイルは /boot/grub/menu.list となっている。設定ファイルで用いられる主なパラメータは以下。
パラメータ | 役割 |
---|---|
timeout | メニューを表示している時間 (秒) |
default | デフォルトで起動するエントリの番号 |
title | メニューに表示されるエントリ名 |
root | ルートデバイスの指定 |
kernel | 起動するカーネルイメージファイルと起動オプションの設定 |
makeactive | ルートパーティションをアクティブ化 |
chainloader | 指定されたセクタの読み込みと実行 |
hiddenmenu | 起動時に選択メニューを表示しない |
GRUB の設定ファイルは、ディストリビューションによって /boot/grub/grub.conf になっている場合もある。
/boot/grub/grub.conf
$ cat /boot/grub/grub.conf
# created by imagebuilder
default=0
fallback=1
timeout=0
hiddenmenu
title Amazon Linux 2018.03 (4.14.26-46.32.amzn1.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-4.14.26-46.32.amzn1.x86_64 root=LABEL=/ console=tty1 console=ttyS0 selinux=0 nvme_core.io_timeout=4294967295
initrd /boot/initramfs-4.14.26-46.32.amzn1.x86_64.img
/boot/grub/menu.lst
$ cat /boot/grub/menu.lst
default=0
timeout=0
title Red Hat Enterprise Linux 7 (3.10.0-862.el7.x86_64)
root (hd0)
kernel /boot/vmlinuz-3.10.0-862.el7.x86_64 ro root=UUID=50a9826b-3a50-44d0-ad12-28f2056e9927 console=hvc0 LANG=en_US.UTF-8
initrd /boot/initramfs-3.10.0-862.el7.x86_64.img
GRUB 2 の設定
GRUB 2 の設定ファイルは /boot/grub(2)/grub.cfg ではあるが、GRUB Legacy とは異なり、直接ファイルを編集することはしない。/etc/default/grub で設定を行い、grub-mkconfig コマンドにより設定を読み込ませ、/boot/grub2/grub.cfg を生成する。
/etc/default/grub/ の例
$ cat /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295"
設定ファイルで用いられる主なパラメータは以下。
パラメータ | 説明 |
---|---|
GRUB_TIMEOUT | 起動メニューがタイムアウトするまでの秒数 |
GRUB_DEFAULT | 起動メニューがタイムアウトしたときにデフォルト OS として選択されるエントリ |
GRUBCMDLINELINUX | カーネルに渡される起動オプション |
設定後、grub-mkconfig もしくは grub2-mkconfig コマンドで設定ファイルを生成する。
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.14.26-54.32.amzn2.x86_64
Found initrd image: /boot/initramfs-4.14.26-54.32.amzn2.x86_64.img
done
ブートオプションの指定
ブートローダ起動時に、システムの動作を指定するためのオプションが指定可能。GRUB でブートオプションを指定するには、起動時の画面で E キーを入力。以下のような画面が表示される。
grub append> ro root=/dev/VolGroup00/LogVo100 rhgb quiet
ここでキーボードよりオプションを入力することができる。
代表的なオプションは以下。
パラメータ | 説明 |
---|---|
root=デバイス | ルートパーティションとしてマウントするデバイス |
nousb | USB デバイスを使用しない |
single | シングルユーザーモードで起動 |
1 ~ 5 | ランレベルの指定 |
例えばシングルユーザーモードで起動したい場合は以下のようにする。
grub append> ro root=/dev/VolGroup00/LogVo100 rhgb quiet single