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

GRUBとは

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

 

GRUB 2の構成

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

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

ブートローダ

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

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

Ubuntu環境で確認。

$ grub-install –version
grub-install (GRUB) 2.02-2ubuntu8.18

$ grub-install -V
grub-install (GRUB) 2.02-2ubuntu8.18

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_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=15 -1-
.
.
.
  1. 10 → 15に変更する。

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

$ sudo grub-mkconfig -o /boot/grub/grub.cfg
Sourcing file `/etc/default/grub’
Generating grub configuration file …
Linux イメージを見つけました: /boot/vmlinuz-4.15.0-117-generic
Found initrd image: /boot/initrd.img-4.15.0-117-generic
Linux イメージを見つけました: /boot/vmlinuz-4.15.0-115-generic
Found initrd image: /boot/initrd.img-4.15.0-115-generic
Linux イメージを見つけました: /boot/vmlinuz-4.15.0-111-generic
Found initrd image: /boot/initrd.img-4.15.0-111-generic
Adding boot menu entry for EFI firmware configuration
完了

 

Grub欠損してしまった

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

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

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

 

参照元情報

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