重裝 Windows 7 會覆寫 MBR,導致原有 GRUB 引導消失,無法進入 Ubuntu。本文記錄通過編輯 grub.cfg 隱藏多餘啟動項、調整啟動順序的完整修復過程。
重裝 Win7 後直接進入 Windows,無 GRUB 選單。需從 Ubuntu Live USB 啟動修復。
sudo mount /dev/sda5 /mntsudo mount --bind /dev /mnt/devsudo mount --bind /proc /mnt/procsudo mount --bind /sys /mnt/syssudo chroot /mntgedit /boot/grub/grub.cfgmenuentry 關鍵字,找到欲隱藏的條目(如舊的 "Windows 7 (loader) (on /dev/sda2)")。menuentry 到對應的大括號結尾)每行行首加 # 註解掉。

/etc/grub.d/ 目錄下腳本編號決定順序:00_header, 05_debian_theme, 10_linux (Ubuntu), 30_os-prober (Windows)。30_os-prober 重命名為 09_os-prober(優先於 10_linux):mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-proberupdate-grubexitsudo grub-install /dev/sda(目標為整顆硬碟,非分區)。grub.cfg 為臨時方案,update-grub 會重新生成覆蓋。永久調整須修改 /etc/grub.d/ 腳本或 /etc/default/grub(GRUB_DEFAULT)。grub-install --target=x86_64-efi --efi-directory=/boot/efi。掌握 GRUB 修復核心邏輯,雙系統重裝不再恐懼。