在Fedora 39 、RHEL 9、AlmaLinux 9、Rocky Linux 9和CentOS Stream 9 Linux發行版上,您可以使用grubby程式管理GRUB引導條目。
在本文中,我們將向您展示如何使用GRUBY在Fedora、RHEL、AlmaLinux、Rocky Linux和CentOS Stream上的GRUB引導項中新增/刪除核心引導參數。我們也會向您展示如何在Fedora、RHEL、AlmaLinux、Rocky Linux和CentOS Stream上使用GRUBY新增/刪除自訂的GRUB引導條目,並將特定的GRUB引導條目設定為預設條目。
要列出Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS流系統的所有GRUB引導項,請如下執行grubby:
$sudo grubby——info = ALL
#如您所見,列出了CentOS Stream 9系統的所有GRUB引導條目(X2)。
每個開機條目都有:
您可以在Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream系統上使用GRUBY顯示特定GRUB引導條目的資訊。
若要顯示預設GRUB引導項目的訊息,請執行以下指令:
$sudo grubby——info =預設
應該會顯示預設的GRUB引導條目。
您也可以在特定索引處顯示關於GRUB引導項的資訊。索引號從0開始。
若要顯示第一個GRUB引導項(索引0處)的訊息,請執行以下指令:
$sudo grubby——info = 0
同樣,您可以使用以下命令顯示第二個GRUB引導條目(索引1處)的信息,依此類推:
$sudo grubby——info = 1
要在Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream系統的所有GRUB引導條目中新增一個核心引導參數/參數(例如”nomodeset”),請執行以下命令:
$sudo gRUBY–UPDATE-KERNEL=all–args=‘noodeset’
要為Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream系統的所有GRUB引導條目新增多個核心引導參數/參數(例如,「onomodeset」和「nouveau.Blacklist=1」),請使用空格分隔核心引導參數/參數,如下所示:
$sudo grubby——update—core = ALL——args =’nomodeset nouveau. blacklist = 1 ‘
如您所見,內核引導參數/參數”nomodeset”和”nouveau.blacklist = 1″被添加到所有的GRUB引導項中。
$sudo grubby——info = ALL
#要為Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream系統的預設GRUB引導項新增核心引導參數/變元(例如「selinux=0」),請執行下列命令:
$sudo grubby——update—core =預設-args =’selinux = 0 ‘
要將多個核心引導參數/參數(例如”selinux = 0″和”ipv6.disable = 1″)加入到Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS流系統的預設GRUB引導項中,請使用空格分隔內核引導參數/參數,如下所示:
$sudo gRUBY–UPDATE-KERNEL=DEFAULT–args=‘selinux=0 ipv6.able=1’
同樣,您可以將核心引導參數/參數新增至特定索引(例如索引0)的GRUB引導條目,如下所示:
$sudo grubby——update—core = 0——args =’selinux = 0 ipv6.disable = 1 ‘
如您所看到的,內核引導參數/參數”selinux = 0″和”ipv6.disable = 1″只添加到預設(索引0)的GRUB引導項中。
$sudo grubby——info = ALL
#要從Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS流系統的所有GRUB引導條目中刪除核心引導參數/參數(例如”nomodeset”),請執行以下命令:
$sudo grubby——update—core = ALL——remove—args =’nomodeset ‘
要從Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS Stream系統的所有GRUB引導條目中刪除多個核心引導參數/參數(例如“onomodeset”和“nouveau.Blacklist=1”),請使用空格分隔核心引導參數/參數,如下所示:
$sudo grubby——update—core = ALL——remove—args =’nomodeset nouveau. blacklist = 1 ‘
正如您所看到的,內核引導參數/參數”nomodeset”和”nouveau.blacklist = 1″從所有的GRUB引導條目中刪除。
$sudo grubby——info = ALL
#要從Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS流系統的預設GRUB引導項中刪除核心引導參數/參數(假設”selinux = 0″),請執行以下命令:
$sudo grubby——update—core = Default——remove—args =’selinux = 0 ‘
要從Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS流系統的預設GRUB引導條目中刪除多個核心引導參數/參數(例如”selinux = 0″和”ipv6.disable = 1″),請使用空格分隔內核引導參數/參數,如下所示:
$sudo grubby——update—core =預設-remove—args =’selinux = 0 ipv6.disable = 1 ‘
同樣,您可以從特定索引處(例如索引0)的GRUB引導項中刪除核心引導參數/參數,如下所示:
$sudo grubby——update—core = 0——remove—args =’selinux = 0 ipv6.disable = 1 ‘
如您所見,核心引導參數/參數「selinux=0」和「ipv6.able=1」僅從預設的(索引0)GRUB引導條目中刪除。
$sudo grubby——info =預設
有時,最好建立預設的GRUB引導條目的副本,並修改複製的GRUB引導條目上的核心參數/參數,而不是破壞出廠預設的GRUB引導條目。
要建立預設的GRUB引導項目的副本,您需要知道預設的GRUB引導項目的完整核心路徑和”initrd”路徑。
若要尋找完整的核心路徑和預設GRUB引導項目的”initrd」路徑,請執行以下命令:
$sudo grubby——info =預設
應該顯示預設的GRUB引導條目的完整核心路徑[1]和”initrd”路徑[2]。請注意這些資訊。
若要使用在前面指令的輸出中找到的核心路徑和”initrd」路徑建立預設GRUB引導項目的副本,請執行下列指令:
$sudo grubby——copy—default
——add—core =”/boot/vmlinuz—5.14.0—391.el9.x86_64″
——initrd =”/boot/initramfs—5.14.0—391.el9.x86_64.img $tuned_initrd」
——title =”$(cat/etc/redhat—release)—停用SELinux—$(uname—r)」
注意:請確保將核心路徑和「initrd」路徑分別替換為「-add-core=」和「-initrd=」部分中的路徑。此外,在「-title=」部分中為GRUB開機條目使用描述性標題。
註:在」—title」中,」$(cat/etc/redhat—release)」被替換為作業系統和版本名稱(即CentOS Stream 9),」$(uname—r)」被替換為目前使用的Linux核心的版本號(即5.14.0—391.el9.x86_64)。
應該會建立一個新的GRUB引導條目。
如您所見,在索引0 [2]處建立了一個新的GRUB引導條目[1]。
$sudo grubby——info = ALL
#您可以使用grubby “—args”選項新增新的核心參數/參數,並使用”—remove—args”選項從新建立的GRUB引導條目(索引0處)移除內核參數/參數。
例如,若要新增」selinux = 0″核心參數/參數,並從新建立的GRUB引導項(索引0處)中刪除」quiet」內核參數/參數,請如下執行grubby指令:
$sudo grubby——update—core = 0——args =”selinux = 0″——remove—args =”安靜”
正如您所看到的,”selinux = 0″內核參數/參數被添加,”quiet”內核參數/參數被從新創建的GRUB引導條目(索引0處)中刪除。
$sudo grubby——info = 0
建立自訂GRUB引導條目後,您可能想要將其設定為電腦/伺服器的預設GRUB引導項目,以便您的電腦/伺服器在預設情況下使用它進行引導。
您可以使用以下指令找到預設的GRUB開機條目的索引:
$sudo grubby——default—index
##如您所見,預設索引為1。
我們新增的自訂GRUB引導項的索引為0。
若要將自訂GRUB引導項設定為預設值,請執行以下命令:
$sudo gRubby–set-default-index=0
#索引0處的GRUB開機條目應設定為預設開機條目。
如您所看到的,自訂的GRUB引導項被設定為預設引導項目。
自訂的GRUB引導項目是從GRUB引導程式中自動選擇的。
如您所見,自訂GRUB引導條目包含我們配置的所有自訂內核參數/參數。
我們在索引0 [1]處建立了一個新的GRUBboot entry [1],以示範使用grubby移除GRUBboot entry的過程。
若要刪除索引0處的GRUB引導項,請執行以下指令:
$sudo grubby——remove—core = 0
如您所見,刪除了GRUB引導項,並重新調整了索引。
以上是如何在Fedora/RHEL/AlmaLinux/Rocky Linux/CentOS流上新增/刪除核心引導參數/參數和GRUB引導腳本的詳細內容。更多資訊請關注PHP中文網其他相關文章!