ブートローダ
-CentOS- | -Ubuntu-

GRUBとは

GRUBはLinuxカーネルを起動するために使用されるブートローダのこと。

 

GRUB 2の構成

コンピュータの電源を入れると以下の順番でLinuxシステムが起動する。

ファームウェア
(BIOS, UEFI)
ブートローダ
カーネル
init

ブートローダ

ブートローダにはGRUBがある。
GRUBには「GRUB Legacy」「GRUB 2」のバージョンがある。
新しいOS環境では「GRUB 2」が主流。

  • バージョンの確認(Red Hat系)

CentOS7環境で確認。

$ grub2-install –version
grub2-install (GRUB) 2.02~beta2

$ grub2-install -V
grub2-install (GRUB) 2.02~beta2

GRUB 2の設定ファイル

/boot/grub/grub.cfg ファイルは直接変更してはいけない。

$ cat /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
.
.
.

  • ファイルに対して一般的な変更を加えるには/etc/default/grub ファイルに含まれる変数を使う。
  • メニューにエントリを追加するには/etc/grub.d/40_custom ファイルを変更する。
  • より複雑な設定をするには /etc/grub.d ディレクトリにある他のファイルを変更するか、ファイルを追加する。
  • 編集したファイルはgrub-mkconfigコマンドを実行して設定ファイルに反映させる。

 

設定ファイルへの反映

/etc/default/grub ファイルを変更する

$ sudo vim /etc/default/grub
[sudo] user のパスワード:
GRUB_TIMEOUT=5 -1-
GRUB_DISTRIBUTOR=”$(sed ‘s, release .*$,,g’ /etc/system-release)”
GRUB_DEFAULT=saved
.
.
.
  1. 5 → 10に変更する。

grub2-mkconfig コマンドを実行する

$ sudo grub2-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.10.0-1127.19.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.19.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1127.18.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.18.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1127.13.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.13.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1127.10.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.10.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1127.8.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.8.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-f0e0f7270f84b9621b9a9206ba33fc54
Found initrd image: /boot/initramfs-0-rescue-f0e0f7270f84b9621b9a9206ba33fc54.img
done

 

Grub欠損してしまった

通常はOSのインストール時に起動ディスク領域に書き込まれるが、何らかの理由で欠損してしまった場合は後から書き込むこともできる。

$ sudo grub2-install /dev/sda
      -1-

  1. /dev/sdaにGRUBを書き込んでいる。

 

参照元情報

LinuCレベル1 合格教本
LinuCレベル1 合格教本