web-dev-qa-db-ja.com

特定のカーネルから起動するためにredhat 7でgrub.cfgファイルを設定する方法

Red Hat ELバージョン5および6では、デフォルトの変数でカーネルを変更する場合に備えて、/etc/grub.confを簡単に更新できます。

 For example , grub.conf on redhat 5
 default=0
 timeout=5
 #splashimage=(hd0,0)/grub/splash.xpm.gz
 #hiddenmenu
  title Red Hat Enterprise Linux Server (2.6.18-410.el5)
   root (hd0,0)
   kernel /vmlinuz-2.6.18-410.el5 ro root=/dev/rootvg/slash
   initrd /initrd-2.6.18-410.el5.img
  title Red Hat Enterprise Linux Server (2.6.18-409.el5)
    root (hd0,0)
   kernel /vmlinuz-2.6.18-409.el5 ro root=/dev/rootvg/slash
   initrd /initrd-2.6.18-409.el5.img

この/etc/grub.confから、カーネル2.6.18-409バージョンから起動する場合は、default=1を変更するだけです。したがって、次回の起動時に、OSは古いカーネルで起動します

RHEL7は大きく異なります。 RHEL7で/boot/grub2/grub.cfgを見つけましたが、RHEL5で行うように、他のカーネルから起動するためにファイルを変更する方法がわかりません。

3
dandan

変更方法GRUB Redhat 7バージョンのカーネル

システムの起動時に表示されるすべてのメニューエントリを一覧表示するには、次のコマンドを発行します。

 # awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
 0 : Red Hat Enterprise Linux Server (3.10.0-327.18.2.el7.x86_64) 7.2 (Maipo)
 1 : Red Hat Enterprise Linux Server (3.10.0-327.10.1.el7.x86_64) 7.2 (Maipo)
 2 : Red Hat Enterprise Linux Server, with Linux 0-rescue- b2c5e6a1c5ea4cb5be82100bd7dc3469

現在のエントリ(/ etc/default/grubの現在のカーネル)を確認する方法

# grub2-editenv list
  saved_entry=1

これは、grub構成の現在のカーネルバージョンが.10.0-327.10.1.el7.x86_64であることを意味します

マシンの現在のカーネルバージョンを確認しましょう。

# uname -r
  3.10.0-327.10.1.el7.x86_64

カーネルバージョンをGRUB構成から変更して、Linuxがより高いカーネルで起動するようにします-3.10.0-327.18.2.el7.x86_64、

awkコマンドからエントリ番号0を取得することを覚えておいてください

したがって、設定は次のようになります

 # grub2-set-default 0

次に、新しいGRUB=構成を

 # grub2-editenv list
   saved_entry=0

したがって、新しいGRUB構成はカーネルバージョンに設定されます:.10.0-327.18.2.el7.x86_64

次に、マシンを再起動します

 # Reboot

再起動後、Linuxは新しいカーネルで起動しました

 # uname -r
   3.10.0-327.18.2.el7.x86_64
2
dandan

GRUB_DEFAULT=0/etc/default/grubを必要な数に変更します。次に、grub2-mkconfig -o /boot/grub2/grub.cfgを使用してgrub2構成を再登録する必要があります

3
c4f4t0r