緯育 2026-0323.2

出自頂極製作所

x86虛擬化演進理論與實務

本次整理(2026-03-24)聚焦x86虛擬化的歷史與技術演進,以及VMware公司在虛擬化市場的產品與地位。課程從早期個人電腦CPU(186、286、386)及1990–2000年間研究論文繁盛談起,說明2000年後虛擬化商業化但初期穩定性不足,並以VMware沿革為例:創立約1997/1998,1.x–3.x階段採用Binary Translation(攔截與二進位轉譯)因x86特權環限制將Hypervisor置於Ring 0、OS降至Ring 1,造成不穩定(講者稱「半加加」);至4.x後穩定度獲企業接受,約2010年前後開始獲利。

2007–2008年Intel VT與AMD-V導入後,CPU新增Ring -1,讓Hypervisor在更高權限運行、OS維持在Ring 0,將敏感指令處理下沉至硬體,效能相較早期可大幅提升至數百至數千倍,推動2011年前後虛擬化與雲端(AWS、Azure)成熟普及。課程以「Save(儲存)」操作為例,闡述應用程式→OS→Hypervisor→實體資源的呼叫路徑,說明客體OS對虛擬化「無感」運作。講者並介紹B&W公司在虛擬化領域擁有十多個產品系列、屬高難度技術範疇,桌面虛擬化為另一產品線(本課程不涉),其市場地位被評為穩居第一、難有對手。

現行五天課程採此理念,在一臺Notebook安裝示範機器,並將5.x內容調整至6.x/7.x/8.x。課程末段預告2026-03-25將續談Intel VT/AMD-V更進一步機制與第二層虛擬化(Nested Virtualization)之效能議題。

x86虛擬化歷史與里程碑

  • 1990–2000年:x86虛擬化研究論文大量出現;2000年後進入商業化但初期穩定性不足。
  • VMware演進:1.x–3.x以Binary Translation因Ring配置衝突導致不穩定;4.x後穩定度提升、約2010年前後被廣泛採用並開始獲利。
  • 2007–2008年:Intel VT/AMD-V推出,CPU新增Ring -1,Hypervisor置於Ring -1、OS留在Ring 0,敏感指令由硬體處理,效能較早期軟體轉譯提升數百至數千倍。
  • 2011年前後:硬體輔助虛擬化成熟,促成虛擬化與公有雲普及。

基本概念與名詞

  • Host OS與Guest OS:Host承載虛擬化平台,Guest安裝於VM中,對虛擬資源(vCPU、vRAM、vNIC、vDisk)視同實體,不自覺身處虛擬環境。
  • VM與資源池:Hypervisor統一控管實體CPU/RAM/NIC/Disk資源,抽象並分配為虛擬資源,支援多VM隔離運作、提升資源利用率。
  • Save操作路徑:應用層指令→Guest OS→(在硬體輔助下)由Hypervisor協調映射至實體資源完成I/O;在非虛擬化情境則由OS直接控制硬體。

x86特權環與早期虛擬化挑戰

  • x86特權環:Ring 0–3,OS需在Ring 0控制硬體,應用在Ring 3。
  • 早期虛擬化:為讓VMM掌控硬體,Hypervisor置於Ring 0、OS退至Ring 1,需以攔截/翻譯(Binary Translation)重寫敏感指令,造成頻繁陷阱與上下文切換、效能與穩定性不佳。
  • 硬體輔助虛擬化:CPU新增Ring -1,Hypervisor於此層運行,OS維持Ring 0,敏感指令硬體化處理,避免軟體層高成本轉譯。

B&W虛擬化產品與市場地位

  • 產品線:十多種系列,屬難度較高的技術領域;桌面虛擬化為另一條線,本課程不涵蓋。
  • 市場評估:講者認為B&W穩居第一,目前難有競爭者能挑戰。

教材、教學創新與傳承

  • 經典教材:熊老師「V-Sphere in a box」引入在單機上建置迷你資料中心進行Lab之法,版本至5.x後停筆,對台灣虛擬化教育影響深。
  • 現況做法:講者沿用與更新至6.x/7.x/8.x,將概念融入五天課程。
  • 數位化規範:高解析掃描檔僅供教學使用,不公開上網;檔案大、開啟下載需時間;二手市場可能仍可購得紙本或PDF。
  • 傳承與品管:講者逐步交棒年輕師資、減量授課;對其他新版本教材品質持審慎態度,若有優質6.x/7.x/8.x版本將立即採購提供學生。

實務建議與預告

  • 實作環境:進行個人電腦/筆電實驗需確認CPU支援Intel VT或AMD-V,否則效能極差。
  • 風險提示:若系統出現含「Binary Translation」的警示,代表退回早期模式,應啟用VT/AMD-V或更換硬體。

2026-0324-06.png

CPU虛擬化技術的演進與原理

  • 早期虛擬化技術 (全虛擬化)
    • 在Intel與AMD等CPU尚未內建虛擬化功能時,虛擬化完全由軟體實現,稱為Hypervisor或虛擬機器管理器(VMM)。
    • 運作方式是透過「軟體二進制轉譯 (Binary Translation)」將指令切換,效能非常緩慢。Hypervisor運行在Ring 0,而客體作業系統(Guest OS)則被移至Ring 1運行。
  • 硬體輔助虛擬化 (Intel VT / AMD-V)
    • 現代CPU內建此功能(如Intel VT-x),讓Hypervisor直接在CPU內核(Ring 0)得到硬體輔助來運行。
    • 效能相較於純軟體方式提升了數百到數千倍,是現今虛擬化高效能的關鍵。
    • 運行64位元的客體作業系統(Guest OS)時,CPU必須支援並啟用此技術。

驗證與啟用硬體虛擬化功能

  • 如何檢查CPU是否支援Intel VT
    • 步驟 1:取得CPU完整型號:在Windows系統資訊中找到處理器型號(如Intel Core i7-1355U)。
    • 步驟 2:查詢Intel官方規格表:至Intel官網搜尋CPU型號,確認「Intel® 虛擬化技術 (VT-x)」項目是否標示為「是」。
  • 如何在BIOS中啟用Intel VT
    • 開機時進入BIOS設定畫面(如按F2)。
    • 尋找名為「Intel Virtualization Technology」或類似的選項(通常在Advanced -> CPU Configuration下),並將其設定為「Enabled」(啟用)。即使CPU支援,若BIOS未啟用,虛擬化軟體也無法正常運作。

雙層(巢狀)虛擬化架構與挑戰

  • 架構解析
    • 第一層虛擬化:在實體機(如Notebook)上運行VMware Workstation Pro,其Hypervisor依賴實體CPU的硬體加速(Intel VT)功能,創建第一層虛擬機器(如ESXi主機)。
    • 第二層虛擬化:在第一層虛擬機器內部再安裝一套Hypervisor,並在其上創建第二層的虛擬機器。
  • 效能關鍵:虛擬化的Intel VT
    • 第二層Hypervisor的效能依賴於第一層虛擬機器的虛擬CPU(VCPU)。
    • 若VCPU不支援硬體加速,第二層Hypervisor將降級使用低效的「二進位轉譯」,導致其上的虛擬機器效能極差,無法執行VMotion等高階功能。
    • VMware Workstation Pro提供了「虛擬化的Intel VT」功能,可在VCPU層級模擬硬體加速。在虛擬機器的處理器設定中勾選此選項,能讓第二層Hypervisor獲得硬體加速支援,實現高效能的雙層虛擬化。

虛擬化相關錯誤分析與解決方案

  • 案例 1:Intel VT is disabled (VMware)
    • 原因:BIOS中的虛擬化功能被關閉。
    • 解決方案:進入BIOS啟用Intel VT。
  • 案例 2:Binary Translation is incompatible with Long Mode (VMware)
    • 原因:Hypervisor偵測到硬體虛擬化未啟用,降級使用「二進制轉譯」模式。
    • 影響:虛擬機器可運行但速度極慢。
    • 解決方案:檢查並啟用CPU的VT功能。
  • 案例 3:VT-x hardware acceleration is not available (VirtualBox)
    • 原因:VirtualBox偵測到硬體加速不可用,且不提供降級選項。
    • 影響:虛擬機器無法啟動。
    • 解決方案:啟用CPU的VT功能。
  • 案例 4:巢狀虛擬化在Windows 11上的衝突
    • 現象:在VMware Workstation Pro中為虛擬機器啟用「虛擬化的Intel VT-x」時,出現「Virtualization for Intel VT-x/EPT is not supported on this platform」錯誤。
    • 原因:Windows 11自身的虛擬化平台Hyper-V與VMware Workstation Pro存在衝突,微軟的某些安全性設定會阻止VMware啟用第二層虛擬化的硬體加速。
    • 臨時解決方案:暫時不勾選此功能,先完成第一層ESXi的安裝。此時ESXi會警告CPU不支援虛擬化,無法在其上運行虛擬機器。
    • 最終解決方案:在後續課程中,找出並移除Windows 11中造成衝突的設定,即可成功啟用VCPU的硬體加速,順利部署第二層虛擬機器。

2026-0325-01.png