GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS / RHEL 7 :GRUB2 構成ファイル /boot/grub2/grub.cfg の説明

GRUB2 構成ファイル /boot/grub2/grub.cfg

– RHEL 7 の起動 GRUB 2 はブートローダーです。 GRUB 2 構成ファイルは /boot/grub2/grub.cfg です .
– このファイルを直接編集しないでください。 grub2-mkconfig を使用します grub.cfg を生成するコマンド。このコマンドは、/etc/grub.d のテンプレート スクリプトを使用します。 /etc/default/grub から取得したメニュー構成設定 grub.cfg の生成時。
/etc/grub2.cfg ファイルは /boot/grub2/grub.cfg へのシンボリック リンクです。

以下は GRUB2 構成ファイルのサンプルです。

..... (skiped for breivity)
### BEGIN /etc/grub.d/10_linux ###
menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-10bac86a-a9be-478c-b63f-46d3ca061e03' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod xfs
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  a52207e4-01fd-4f12-98b7-681d56f21dc5
	else
	  search --no-floppy --fs-uuid --set=root a52207e4-01fd-4f12-98b7-681d56f21dc5
	fi
	linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8
	initrd16 /initramfs-3.10.0-514.el7.x86_64.img
}
menuentry 'CentOS Linux (0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e-advanced-10bac86a-a9be-478c-b63f-46d3ca061e03' {
	load_video
	insmod gzio
	insmod part_msdos
	insmod xfs
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  a52207e4-01fd-4f12-98b7-681d56f21dc5
	else
	  search --no-floppy --fs-uuid --set=root a52207e4-01fd-4f12-98b7-681d56f21dc5
	fi
	linux16 /vmlinuz-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet
	initrd16 /initramfs-0-rescue-9cdb9ab3246a4b3f9c0849ecd597f25e.img
}
.......

/etc/default/grub ファイル

GRUB 2 メニュー構成設定は、grub.cfg の生成時に /etc/default/grub から取得されます。以下は、/etc/default/grub ファイルの内容のリストです:

# cat /etc/default/grub
GRUB_TIMEOUT=5
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 rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

これらのパラメーターのいずれかを変更した場合は、grub2-mkconfig を実行して /boot/grub2/grub.cfg ファイルを再生成する必要があります。例:

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

値は次のように説明されています:
GRUB_TIMEOUT :キーが押されない限り、メニューが表示されてからデフォルト エントリを起動するまでの時間 (秒単位)。デフォルトは 5 です。メニューを表示せずにすぐに起動するには 0 に設定し、無期限に待機するには -1 に設定します。
GRUB_DISTRIBUTOR: GRUB のディストリビューターによって設定され、より有益なメニュー エントリ タイトルを生成するために使用されます。この例は、CentOS Linux サーバーに評価されます。
GRUB_DEFAULT 起動するデフォルトのメニュー エントリ。 0 の値は、最初のメニュー エントリを起動します。 1 の値は、2 番目のメニュー エントリを起動します。 saved の値は、最後に正常にロードされたオペレーティング システムをロードするよう GRUB 2 に指示します。

GRUB_DEFAULT 値を保存すると、grub2-set-default も使用できます および grub2-reboot コマンドを使用してデフォルト エントリを指定します。これら 2 つのコマンドの説明は次のとおりです。
grub2-set-default :以降のすべての再起動のデフォルト エントリを設定します
grub2-reboot :次回の再起動のみのデフォルト エントリを設定します

たとえば、GRUB_DEFAULT=saved の場合 、次のコマンドは、後続のすべての再起動のデフォルト エントリを 2 番目のメニュー エントリに設定します:

# grub2-set-default 1

GRUB_DISABLE_SUBMENU :デフォルトでは、grub2-mkconfig コマンドは、最も高いバージョン番号を持つカーネルの最上位メニュー エントリを生成し、その他の見つかったすべてのカーネルまたはリカバリ モードの代替メニュー エントリをサブメニューに配置します。 GRUB_DISABLE_SUBMENU=true を設定すると、これが無効になります。
GRUB_TERMINAL_OUTPUT :端末出力デバイス。複数のデバイスを指定する場合は、有効な端末出力名をスペースで区切ります。
GRUB_CMDLINE_LINUX :カーネル ブート パラメータ。カーネル ブート パラメータの詳細については、次のスライドで説明します。
GRUB_DISABLE_RECOVERY 注:デフォルトでは、Linux カーネルごとに 2 つのメニュー エントリが生成されます。1 つのデフォルト エントリとリカバリ モード用の 1 つのエントリです。 GRUB_DISABLE_RECOVERY="true" の設定 これを無効にします。

メニューエントリの説明

GRUB 2 構成ファイル /boot/grub2/grub.cfg には、インストールされた Linux カーネルを表す menuentry スタンザが含まれています。各スタンザは、オプション付きの menuentry キーワードで始まります。各メニューエントリは、GRUB 2 メニューの単一のブート メニュー エントリでもあります。関連するコード ブロックは中括弧 { } で囲まれています。

このスタンザには、カーネルへのパスが続く linux16 ディレクティブと、initramfs イメージへのパスが続く initrd16 ディレクティブが含まれています。 linux16 ディレクティブは、ブートするカーネル バージョン番号とカーネル ブート パラメータを指定します。別の /boot パーティションが作成されました。したがって、カーネル (および initramfs イメージ) へのパスは /boot からの相対パスです。

initrd16 ディレクティブは、同じカーネル バージョンに対応する initramfs ファイルの場所を指している必要があります。つまり、linux16 の /vmlinuz-[kernel_version] 行に指定されているカーネルは、各スタンザの initrd16 /initramfs-[kernel_version].img 行に指定されている initramfs イメージのバージョン番号と一致する必要があります。


Cent OS
  1. CentOS / RHEL 7 で systemd-tmpfiles が /tmp/ または /var/tmp (tmpwatch の置き換え) をクリーンアップする方法

  2. CentOS / RHEL 5,6 :レスキュー モードから GRUB ローダーを再インストールする方法

  3. CentOS / RHEL で新しい /boot パーティションを作成する方法

  1. CentOS/RHEL で /var/log/messages のデフォルトのアクセス許可を変更する方法

  2. 「エラー:コマンド ‘ffffffffff が見つかりません....」 GRUB2 エラー CentOS/RHEL 7

  3. CentOS / RHEL 5 :dm-multipath ファイル /etc/sysconfig/mkinitrd/multipath の説明

  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. GRUB2 を別のディスク上の GRUB または GRUB2 にブートします

  3. GRUB2:BTRFS サブボリュームとしての /boot