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

Ubuntu GRUB 故障修復指南:Live CD 進階救援、保留資料零風險

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

開機卡在 grub>、grub rescue> 或直接進入 initramfs?**別急著重裝系統**——GRUB 損壞通常僅是引導區元資料遺失,根分區資料完好。本文提供標準 Live CD 修復流程、UEFI/BIOS 雙模式支援、多系統共存處理與驗證清單。

故障現象對照

畫面可能原因
grub>grub.cfg 遺失/損壞,GRUB 進入互動模式
grub rescue>core.img 找不到 /boot/grub,模組載入失敗
error: no such partition分區表變動、UUID 不符、磁碟順序改變
直接進 initramfs根分區掛載失敗(fstab 錯誤、檔案系統損壞)

準備工作

  • Ubuntu Live USB(版本 ≥ 安裝系統版本,建議 22.04/24.04)
  • 進入 Live 環境選 Try Ubuntu
  • 終端執行 sudo -i 取得 root

標準修復流程(BIOS + UEFI 通用)

# 1. 確認根分區裝置(找 TYPE="ext4"/"xfs"/"btrfs" 且 SIZE 符合)
lsblk -f
# NAME   FSTYPE  LABEL  UUID                                 MOUNTPOINT
# sda1   vfat    ESP    1234-5678                            /boot/efi
# sda2   ext4    root   a1b2c3d4-...                          (未掛載)  ← 目標

ROOT_PART=/dev/sda2
EFI_PART=/dev/sda1   # 僅 UEFI 需要

# 2. 掛載根分區
mkdir -p /mnt/recover
mount $ROOT_PART /mnt/recover

# 3. 若 /boot 獨立分區
# mount /dev/sdaX /mnt/recover/boot

# 4. UEFI:掛載 ESP 分區
if [ -d /sys/firmware/efi ]; then
  mount $EFI_PART /mnt/recover/boot/efi
fi

# 5. 綁定虛擬檔案系統
for fs in dev dev/pts proc sys run; do
  mount --rbind /$fs /mnt/recover/$fs
  mount --make-rslave /mnt/recover/$fs
done

# 6. 進入 chroot 環境
chroot /mnt/recover /bin/bash

# 7. 重新安裝 GRUB
# BIOS:
grub-install --target=i386-pc --recheck $ROOT_PART
# UEFI(已在 chroot 內,自動偵測 /boot/efi):
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck

# 8. 重建設定檔
update-grub
# 或
grub-mkconfig -o /boot/grub/grub.cfg

# 9. 退出並重啟
exit
for fs in sys proc dev/pts dev run; do umount -R /mnt/recover/$fs; done
umount -R /mnt/recover
reboot

常見變體處理

1. LVM 根分區

# 掛載前先掃描並啟用
vgscan
vgchange -ay
ls /dev/mapper/  # 找到 ubuntu--vg-root
ROOT_PART=/dev/mapper/ubuntu--vg-root

2. Btrfs 子卷

mount -o subvol=@ /dev/sda2 /mnt/recover
mount -o subvol=@home /dev/sda2 /mnt/recover/home

3. 軟 RAID (mdadm)

mdadm --assemble --scan
ROOT_PART=/dev/md0

修復後驗證

  • ✅ 重啟進入 GRUB 選單,顯示 Ubuntu 與其他 OS(Windows 等)
  • ✅ 選擇 Ubuntu 正常進入桌面/登入介面
  • ✅ sudo update-grub 手動執行一次,確認無錯誤訊息
  • ✅ lsblk -f 核對 UUID 與 /etc/fstab 一致

若 Windows 消失怎麼辦?

# 在修復完成的 Ubuntu 內執行
sudo apt update && sudo apt install os-prober
sudo os-prober
# 輸出:/dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:windows:efi
sudo update-grub
# 重啟即可看到 Windows 選項

預防措施

  • ✅ 重大更新(核心、grub 套件)後手動 sudo grub-install ... && sudo update-grub
  • ✅ 雙系統安裝順序:**先 Windows、後 Ubuntu**(Windows 會覆寫 ESP)
  • ✅ 定期備份 /boot/efi/EFI/ubuntu/grubx64.efi 與 /boot/grub/grub.cfg

結語: GRUB 壞了 ≠ 系統壞了。Live CD + chroot + grub-install + update-grub 三板斧,99% 情況 10 分鐘搞定,資料零損失。下次看到 grub rescue>,深呼吸,插上 Live USB 就上。

Copyright © Windows教程網 All Rights Reserved