目次

CentOS 7.x GRUB2の設定変更

CentOS7.xではブートローダがGRUBからGRUB2へ変わった。 それに伴い設定方法も変わっている。

CentOS 6.xでは

GRUBだったCentOS 6.xでは /etc/grub.conf または /boot/grub/grub.conf を直接編集。

設定ファイル

設定ファイルの名称が変わり、ファイルの中身も自動生成。

旧来のBIOSの場合

UEFIの場合

自動生成の元になるファイル

設定の変更方法

自動生成の元になるファイルを編集し、grub.cfgを生成し直す。

カーネルオプションやタイムアウトの変更

/etc/default/grubを編集する。

GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

メニューエントリの追加など

/etc/grub.d/40_customを編集して、GRUBのコマンドを記述する。

menuentry タイトル {
  コマンド
}

記述可能なコマンドは、GNU GRUB Manualを参照。

ファイルを変更したらgrub.cfgを再生成する

旧来のBIOSの場合

grub2-mkconfig -o /boot/grub2/grub.cfg

UEFIでCentOSの場合

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

UEFIでRHELの場合

grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

custom.cfg

起動時にcustom.cfgがあれば読み込むように、/etc/grub.d/41_customで定義されている。 このファイルを作成してGRUBのコマンドを記述した場合は、grub2-mkconfigを実行する必要はない。

custom.cfgを作成する場所は、grub.cfgと同じディレクトリ。 旧来のBIOSなら/boot/grub2/custom.cfgになる。