為了將一台10年的PC重新變成工作機器,在安裝Ubuntu MATE的過程中遭遇的多重開機問題。其中心正是 "UEFI與BIOS"的時代轉變。這篇文章記載了在不放棄正版軟體的情況下,又成功建立Linux的實戰經歷。


為什麼需要多重開機?

這台PC是10年前用USB安裝Windows 7的,之後升級至Windows 8、10,忍耐了很長時間。最終由於配置跟不上被埋藏在倉庫裡,但我將它拿出來,希望能將其變成使用Linux的工作機器。

問題在於無法放棄的資產: - 無法再獲得的MS Office正版永久版 - 高價購置的Windows 10 Pro正版授權

因此,摧毀磁碟和刪除Windows是不可選的選項。所以我必須進行多重開機。然而這個選擇卻引發了意想不到的技術衝突。


問題 1: MBR分區限制 vs 現代Linux的分區需求

📌 情況摘要

  • SSD是安裝Windows的MBR格式磁碟
  • Windows基本上使用三個分區
  • 系統
  • 啟動相關分區
  • 恢復分區
  • MBR最多只能有4個分區
  • 安裝Ubuntu MATE還需要另外兩個分區
  • /掛載用EXT4分區
  • EFI系統分區(ESP,FAT32 - 儲存啟動資訊的系統分區)

總共需要5個,但MBR卻只能有4個……我一下子就撞上了牆。

✅ 解決方法

  • 將HDD的一部分空間縮小以準備ESP分區
  • 還將grub啟動加載器安裝在該HDD上(原則上應安裝在同一磁碟上)
  • 在BIOS設置中將HDD設置為優先於SSD

這個選擇雖然不完美,但卻是在不摧毀Windows的情況下安裝唯一的方法
不必進行GPT轉換,且可以保留正版軟體。

『GRUB運行在HDD上,而Ubuntu運行在SSD上』的微妙組合。


問題 2: GRUB為何無法找到Windows?

在安裝Ubuntu後,將BIOS中的啟動設置為UEFI並啟動,GRUB卻無法識別Windows。

  • Windows是基於MBR + BIOS啟動結構
  • GRUB是基於UEFI安裝的
  • GRUB無法鏈載BIOS方式的啟動加載器,因此將Windows識別為一般分區而非操作系統(OS)
  • 沒有可選操作系統,自動啟動了Ubuntu

✅ 解決方法

  • 在BIOS中禁用UEFI模式(=傳統BIOS)
  • HDD優先啟動嘗試 → 臨時失敗(grub是UEFI啟動加載器,無法在BIOS模式下運行),然後回退到SSD上的Windows MBR啟動加載器,最終成功啟動Windows。
  • SSD優先啟動嘗試 → 成功(基於MBR + BIOS的Windows啟動成功)

最終,在BIOS中通過UEFI ON/OFF及啟動磁碟順序的組合,實現了如下的『硬體級多重開機』:

BIOS設置 優先順序 結果
UEFI ON HDD > SSD 啟動GRUB → Ubuntu啟動
UEFI OFF SSD > HDD 直接進入BIOS → Windows啟動

成為了一個無需GRUB也能輕鬆選擇OS的物理多重開機結構。實際使用後,發現其UX甚至比傳統GRUB的操作系統選擇方式佳。對於那些需要經常來回切換兩個操作系統的用戶來說,雖然有點麻煩,但對於我這種主要使用一個操作系統偶爾使用另一個的人來說,這樣的配置卻非常滿意。


啟示

  • 如今的Linux強制基於UEFI安裝,但這是一種在安全性和擴展性方面不可避免的演變。
  • 在不失去與BIOS基礎系統的兼容性的情況下,保護正版軟體,並能構建快速穩定的Ubuntu環境
  • 尤其是能夠在沒有GRUB的情況下通過一個開關就能切換OS的配置,讓我感到非常舒適。對於像我這種並不頻繁切換兩個操作系統的人而言,這樣的設置更是讓我非常滿意。

最後

起初,對於“UEFI與BIOS”的世界感到複雜與困惑。
但親身體驗後發現,只要結合正確的概念和靈活的選擇,就能同時保護正版軟體及使用Linux。

將Linux安裝在10年的PC上,重新注入生命力,這台舊機器再次在工作現場發揮作用,我感到非常有成就感。
希望我的經歷能幫助到處於類似情況的某個人,也希望閱讀這篇文章的讀者,如果倉庫裡有一台積滿灰塵的舊機器,不妨將其拿出來注入新生命,這是我衷心的建議。

Tux and Windows guarding dual doors