Linux 無法正常啟動的原因之一,可能是 GRUB 損壞。
當 GRUB 出現問題時,系統可能會停在 grub rescue、只顯示黑畫面,或完全無法進入作業系統。
本文將說明 GRUB 損壞時常見的症狀、常見原因,以及使用 Live USB 修復 GRUB 的基本方法。
1. GRUB 損壞時的症狀
- 開機後只看到
grub rescue - 出現像是 “no such partition” 的錯誤
- Linux 無法啟動,螢幕維持黑畫面
- 更新之後系統突然無法開機
如果出現這些狀況,可能是 GRUB 本身,或與開機相關的分割區發生了問題。
2. 常見原因
- 系統更新中斷
- 磁碟分割結構被修改
- 與 Windows 雙系統時開機資訊被覆寫
- EFI 分割區或 /boot 分割區損壞
- 磁碟故障導致開機檔案遺失
這類問題特別容易在調整分割區、重新安裝系統或更新核心之後發生。
3. 先用 Live USB 開機
如果 Linux 已經無法正常啟動,最安全的方式是先用 Linux Live USB 啟動電腦。 接著開啟終端機並確認目前的分割區狀況。
lsblk -f
請先找出 Linux 的根分割區,以及 EFI 分割區分別是哪一個。
4. 掛載系統並修復 GRUB
以下是常見的修復範例。請依照你的環境更改裝置名稱。
sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/efi # 僅 UEFI 系統需要
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
進入 chroot 後,重新安裝 GRUB。
grub-install /dev/sda
如果是 UEFI 系統,也可以使用下列指令:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
接著重新產生開機設定。
update-grub
完成後退出並重新啟動。
exit
sudo reboot
5. 如果沒有 update-grub
在 Fedora 等發行版中,通常會使用 grub2-mkconfig。
例如:
grub2-mkconfig -o /boot/grub2/grub.cfg
在 UEFI 環境下,輸出檔案路徑可能會因發行版而不同。
總結
GRUB 損壞是 Linux 無法開機的常見原因之一。 在很多情況下,不需要立刻重新安裝整個系統。通常可以依照以下順序修復:
- 使用 Live USB 開機
- 確認 Linux 分割區與 EFI 分割區
- 掛載系統並進入 chroot
- 重新安裝 GRUB
- 重新產生開機設定
只要磁碟本身沒有嚴重損壞,多數情況下都能透過這些步驟恢復開機。