開機卡在 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 錯誤、檔案系統損壞) |
sudo -i 取得 root# 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
# 掛載前先掃描並啟用
vgscan
vgchange -ay
ls /dev/mapper/ # 找到 ubuntu--vg-root
ROOT_PART=/dev/mapper/ubuntu--vg-root
mount -o subvol=@ /dev/sda2 /mnt/recover
mount -o subvol=@home /dev/sda2 /mnt/recover/home
mdadm --assemble --scan
ROOT_PART=/dev/md0
sudo update-grub 手動執行一次,確認無錯誤訊息lsblk -f 核對 UUID 與 /etc/fstab 一致# 在修復完成的 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 選項
sudo grub-install ... && sudo update-grub/boot/efi/EFI/ubuntu/grubx64.efi 與 /boot/grub/grub.cfg結語: GRUB 壞了 ≠ 系統壞了。Live CD + chroot + grub-install + update-grub 三板斧,99% 情況 10 分鐘搞定,資料零損失。下次看到 grub rescue>,深呼吸,插上 Live USB 就上。