萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 透過 GRUB 新增核心啟動參數完整指南 (Debian/Ubuntu/Fedora/CentOS)

核心啟動參數可調整硬體偵測、功能啟用/停用、除錯層級等行為。透過 **GRUB** 傳遞參數是標準作法。本文分別說明 Debian/Ubuntu (GRUB2 模板)、Fedora (GRUB2 模板)、CentOS 6 (GRUB Legacy 直接編輯) 的設定差異。

GRUB 設定檔編輯

Debian / Ubuntu (GRUB2 配置模板)

編輯模板檔


sudo vim /etc/default/grub
# 修改 GRUB_CMDLINE_LINUX_DEFAULT 變數
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
# 格式:參數名=值,空格分隔多個參數

重新生成 grub.cfg


sudo update-grub
# 找不到指令時:
sudo apt-get install grub2-common

Fedora / RHEL 7+ (GRUB2 配置模板)

編輯模板檔


sudo vim /etc/default/grub
# 修改 GRUB_CMDLINE_LINUX 變數 (非 DEFAULT)
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rhgb quiet transparent_hugepage=never"

重新生成 grub.cfg


sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# UEFI 系統路徑不同:
# sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

CentOS 6 / RHEL 6 (GRUB Legacy 直接編輯)

編輯 /boot/grub/grub.conf


sudo vim /boot/grub/grub.conf
# 找到 default=N 指向的預設 kernel 項目
# 在 kernel /vmlinuz-... 那一行結尾附加參數
kernel /vmlinuz-2.6.32-504.el6 ro root=/dev/mapper/vg-root rd_NO_LUKS LANG=en_US.UTF-8 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD rd_LVM_LV=vg/root rd_LVM_LV=vg/swap rhgb quiet **transparent_hugepage=never**

常用核心參數速查

參數功能適用場景
quiet隱藏大部分啟動訊息生產環境預設
nomodeset禁用 KMS 核心模式設定顯卡驅動相容性問題
transparent_hugepage=never關閉透明大頁面資料庫/低延遲應用避免延遲峰值
nmi_watchdog=0關閉 NMI 看門狗減少效能干擾
processor.max_cstate=1限制 CPU C-state即時系統/低延遲
isolcpus=2,3隔離 CPU 核心不參與調度高效能運算專用核心
mem=4G限制核心可用記憶體測試/模擬低記憶體環境
systemd.unit=rescue.target直接進入救援模式單用戶維護

驗證參數生效


cat /proc/cmdline
# 輸出包含你新增的參數即代表生效

臨時測試參數 (不修改設定檔)

GRUB 選單畫面按 e 編輯該啟動項,修改 linux/kernel 行,按 Ctrl+X 或 F10 啟動。僅當次啟動生效,適合測試。

根據發行版選擇正確編輯方式,修改後務必重新生成設定檔並驗證 /proc/cmdline,確保參數確實傳遞給核心。

copyright © 萬盛學電腦網 all rights reserved