Win8.1 + Fedora 22 雙系統,原用 EasyBCD 引導。執行 yum update 後 Fedora 無法啟動,顯示 Try (hd0,0) EXT2:。嘗試 grub2-install /dev/sda1 導致 Win8.1 引導項也消失。
grub2-install /dev/sda1 將 GRUB 安裝到**分區啟動扇區 (PBR)**,而非**磁盤主引導記錄 (MBR)**。BIOS/UEFI 啟動流程讀取 MBR,找不到 GRUB 核心映像,導致雙系統均無法引導。
# 1. 進入 Fedora LiveCD/救援模式
# 2. 掛載根分區 (假設 /dev/sda5)
mkdir /mnt/fedora
mount /dev/sda5 /mnt/fedora
mount --bind /dev /mnt/fedora/dev
mount --bind /proc /mnt/fedora/proc
mount --bind /sys /mnt/fedora/sys
chroot /mnt/fedora
# 3. 正確安裝 GRUB 到磁盤 MBR
grub2-install /dev/sda # 關鍵:目標是整盤 /dev/sda,非分區
grub2-mkconfig -o /boot/grub2/grub.cfg
# 4. 退出重啟
exit
reboot
| 錯誤操作 | 正確操作 | 說明 |
|---|---|---|
grub2-install /dev/sda1 | grub2-install /dev/sda | MBR 在磁盤前 446 字節,分區啟動扇區不被 BIOS 直接引導 |
| 未掛載關鍵虛擬文件系統 | 掛載 /dev /proc /sys 後 chroot | grub2-probe 需訪問設備節點 |
| 未更新 grub.cfg | grub2-mkconfig -o /boot/grub2/grub.cfg | 生成含 Windows 項目的菜單 |
若為 UEFI 雙系統:
grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=fedora /dev/sda
# 並確保 /boot/efi 掛載正確的 EFI 系統分區 (通常 /dev/sda1 或 /dev/sda2)
grubby 更新配置,手動干預極少見。/boot/grub2/grub.cfg 及 /etc/default/grub。一條命令搞定:**針對整盤安裝 GRUB (/dev/sda) 而非分區**,雙系統引導即刻恢復。