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

sudo vim /etc/default/grub
# 修改 GRUB_CMDLINE_LINUX_DEFAULT 變數
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
# 格式:參數名=值,空格分隔多個參數
sudo update-grub
# 找不到指令時:
sudo apt-get install grub2-common
sudo vim /etc/default/grub
# 修改 GRUB_CMDLINE_LINUX 變數 (非 DEFAULT)
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rhgb quiet transparent_hugepage=never"
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# UEFI 系統路徑不同:
# sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
/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,確保參數確實傳遞給核心。