Dual Boot(與 Windows 共存)無法開機:原因與解決方法

很多使用者會在同一台電腦上安裝 Windows 和 Linux,這種配置稱為 Dual Boot。 這種方式很方便,但在更新、分割區調整或 bootloader 出問題之後,系統就有可能無法正常啟動。

有時候電腦會直接進入 Windows,有時會卡在 GRUB,還有時候 Windows 和 Linux 都無法進入。 下面整理了最常見的原因與修復方式。


1. 先確認具體症狀

  • 電腦直接進入 Windows
  • GRUB 選單有出現,但 Linux 無法啟動
  • GRUB 選單有出現,但 Windows 無法啟動
  • 只顯示 grub rescue
  • 出現 no bootable device 或類似錯誤
  • 黑畫面或卡在廠商 Logo 畫面

2. 最常見的原因

  • Windows 更新改變了開機順序
  • GRUB 損壞或被覆蓋
  • EFI 分割區出現問題
  • BIOS/UEFI 啟動順序被改動
  • Fast Startup 讓分割區狀態異常
  • 調整分割區後,啟動資訊不再對應
  • Windows Boot Manager 或 Linux 設定損壞

3. 先檢查 BIOS/UEFI 的啟動順序

如果電腦總是直接進入 Windows,第一步就是檢查啟動順序。 Windows 大更新之後,Windows Boot Manager 常常會重新回到第一順位。

  1. 重新啟動電腦
  2. 開機時按 F2、Del、Esc 或 F12 進入 BIOS/UEFI
  3. 找到 Boot 設定
  4. 確認第一啟動項是什麼

4. 如果只能進入 Windows

這不一定表示 Linux 被刪除了。 很多時候只是 GRUB 沒有被優先呼叫而已。

  • 確認 Linux 分割區是否還存在
  • 確認 BIOS/UEFI 中是否還有 Linux 啟動項
  • 確認啟動模式是否仍然是 UEFI

5. 使用 Live USB 修復 GRUB

sudo fdisk -l

假設 Linux 根分割區是 /dev/sda3,EFI 分割區是 /dev/sda1

sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo grub-install --boot-directory=/mnt/boot /dev/sda
sudo update-grub

如果一般方式沒有效果,也可以用 chroot 修復:

sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sda
update-grub
exit

6. 如果 Windows 無法啟動

bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

修復 Windows 之後,有時 GRUB 也需要重新修復。


7. 注意 Fast Startup 與 UEFI/Legacy 模式

  • 請先關閉 Windows 的 Fast Startup
  • Windows 和 Linux 盡量都使用 UEFI
  • 或都使用 Legacy BIOS

如果一個是 UEFI、另一個是 Legacy,雙系統很容易發生啟動異常。


8. 總結

Dual Boot 無法開機時,通常不代表整個系統都消失了。 更常見的是啟動順序、GRUB、EFI 分割區,或 Windows 更新造成的引導異常。

  • 先檢查 BIOS/UEFI 的啟動順序
  • 確認 Windows 與 Linux 分割區是否還在
  • 使用 Live USB 修復 GRUB
  • 必要時再修復 Windows Boot Manager

發佈留言

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