GRUB(開機載入器)損壞:原因與修復方法

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
  • 重新產生開機設定

只要磁碟本身沒有嚴重損壞,多數情況下都能透過這些步驟恢復開機。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *