Linux
如何在 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
. 所以在下次啟動時,作業系統將以舊核心啟動RHEL7 非常不同。我在 RHEL7 中找到了
/boot/grub2/grub.cfg
但是我不明白如何更改文件以便從其他核心啟動,就像我在 RHEL5 上所做的那樣。
redhat 7 版本上如何更改 GRUB 核心
要列出將在系統引導時顯示的所有菜單條目,請發出以下命令:
# 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 配置的目前核心版本是:3.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 配置設置為核心版本:3.10.0-327.18.2.el7.x86_64
現在我們重新啟動機器
# Reboot
重新啟動後,Linux 啟動了新核心
# uname -r 3.10.0-327.18.2.el7.x86_64
更改
GRUB_DEFAULT=0
為/etc/default/grub
您想要的數字,現在您需要使用重新生成 grub2 配置grub2-mkconfig -o /boot/grub2/grub.cfg