如何使用 grubby 更改 RHEL 8 和 9 的默認內核
![](https://linuxstory.org/wp-content/uploads/2024/06/105123phdy0f0fmgavquqq-800x400.jpg)
通常 Linux 系統會默認引導系統進入最新安裝的內核,並保留最新的 3 個 Linux 內核引導條目。
假設你已經執行了 yum update
,並且新的內核作為更新的一部分已經安裝了。這時,由於這個新內核與應用程序不兼容,它會阻止應用程序啟動。
想要暫時解決這個問題,你應該還是引導系統進入舊內核。
在本文中,我們將向您展示如何使用 grubby
工具將舊的內核版本設置為 RHEL 8 和 RHEL 9 系統上的默認版本。
grubby 是什麼
grubby
是一個命令行工具,用於在多個架構上更新和顯示引導載入配置文件的信息。
檢查當前引導的內核
你可以使用如下的 uname
命令來檢查當前引導/載入的內核。
# uname -r
4.18.0-477.13.1.el8_8.x86_64
列出默認內核
使用 grubby
驗證默認內核版本,運行以下命令:
# grubby --default-kernel
/boot/vmlinuz-4.18.0-477.13.1.el8_8.x86_64
要獲取當前默認內核的索引號,請運行以下命令:
# grubby --default-index
0
檢查已安裝的內核
要檢查已安裝的內核的列表,請運行以下命令:
我們來解釋以下的輸出信息。最新安裝的內核的條目索引為 0
,接下來的 較舊的內核 版本將會是 1
,第二個更舊的內核版本將會是 2
,而 救援內核 的條目索引將會是 3
。
# grubby --info=ALL | egrep -i 'index|title'
index=0
title="Red Hat Enterprise Linux (4.18.0-477.13.1.el8_8.x86_64) 8.8 (Ootpa)"
index=1
title="Red Hat Enterprise Linux (4.18.0-425.19.2.el8_7.x86_64) 8.7 (Ootpa)"
index=2
title="Red Hat Enterprise Linux (4.18.0-425.13.1.el8_7.x86_64) 8.7 (Ootpa)"
index=3
title="Red Hat Enterprise Linux (0-rescue-13iu76884ec5490puc67j8789s249b0c) 8.2 (Ootpa)"
更改默認內核引導條目
我們可以用兩種方式,使用 「內核文件名」,或者使用 「內核條目索引」。我們設置索引號為 1
的 4.18.0-425.19.2.el8_7.x86_64
為默認內核,以此滿足應用程序的依賴關係。
語法:
# grubby --set-default [kernel-filename]
# grubby --set-default /boot/vmlinuz-4.18.0-425.19.2.el8_7.x86_64
或者
# grubby --set-default vmlinuz-4.18.0-425.19.2.el8_7.x86_64
使用內核條目索引更改默認的內核引導:
語法:
# grubby --set-default-index=[kernel-entry-index]
# grubby --set-default-index=1
重啟系統
重啟系統,檢查舊內核是否持久更改。
# reboot
或者
# init 6
驗證更改
讓我們檢查一下在上一步中添加的內核是否生效了。好了,按我們的預期使用了較舊的內核 「N-1」 進行引導了。
# uname -r
4.18.0-425.19.2.el8_7.x86_64
# grubby --default-kernel
/boot/vmlinuz-4.18.0-425.19.2.el8_7.x86_64
要檢查所有內核的詳細信息,請運行以下命令:
# grubby --info=ALL
總結
在本教程中,我們展示了如何使用 grubby
工具在 RHEL 8 和 RHEL 9 系統上將舊版本內核設置為默認。
如果有任何問題或反饋,歡迎在下方發表評論。
(題圖:MJ/9204b9c1-c1ad-4694-b2f6-a7d983976d22)
via: https://www.2daygeek.com/changing-default-kernel-rhel-8-rhel-9/
作者:Rasool Cool 選題:lujun9972 譯者:onionstalgia 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive