Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

雙系統修改 GRUB 預設啟動項:讓 Windows 成為預設開機選項

編輯:Linux 系統常見問題解答

原理說明

GRUB 2 以 /boot/grub/grub.cfg 為主配置,set default="0" 表示預設啟動第 1 個選單項(索引從 0 起算)。Windows 通常在選單末端,需修改索引值。

操作步驟

  1. 備份原配置
    cp /boot/grub/grub.cfg /boot/grub/grub.cfg.bak
  2. 查看選單項順序
    grep -n "menuentry " /boot/grub/grub.cfg
    # 輸出範例:
    # 12:menuentry 'Ubuntu' ...
    # 28:menuentry 'Advanced options for Ubuntu' ...
    # 45:menuentry 'Windows Boot Manager (on /dev/sda1)' ...

    假設 Windows 在第 45 行,對應索引 4(第 5 個頂層選單項)。

  3. 修改預設值(兩種方式)

    方式 A:直接編輯 grub.cfg(不推薦,更新套件會覆蓋)

    vi /boot/grub/grub.cfg
    # 找到 set default="0" 改為 set default="4"

    方式 B:修改 /etc/default/grub 並重建(推薦,持久化)

    vi /etc/default/grub
    # 修改 GRUB_DEFAULT=0 為 GRUB_DEFAULT=4
    # 或使用選單項完整名稱(含單引號):
    # GRUB_DEFAULT="Windows Boot Manager (on /dev/sda1)"
    
    # 重建配置
    update-grub
    # 或
    grub-mkconfig -o /boot/grub/grub.cfg
  4. 驗證
    grep "set default" /boot/grub/grub.cfg
    # 應顯示 set default="4"

進階:GRUB_DEFAULT 進階用法

  • GRUB_DEFAULT=saved 搭配 GRUB_SAVEDEFAULT=true:記住上次選擇,下次自動啟動同一項
  • GRUB_DEFAULT="1>2":子選單索引(第 2 個頂層項目的第 3 個子項)

注意事項

  • /boot/grub/grub.cfg 為唯讀屬性,直接編輯需 root 權限且會被 update-grub 覆蓋。
  • 核心更新後會自動執行 update-grub,若用方式 A 需每次手動改回;請務必使用方式 B。
  • UEFI 系統同樣適用,但啟動項名稱可能為 Windows Boot Manager。
Copyright © Windows教程網 All Rights Reserved