Windows 的「Hyper-V」怎麼用:虛擬機與 WSL2 的效能對比
Windows 11 專業版 / 企業版 / 教育版
內建
可直接在「啟用或關閉 Windows 功能」中勾選
Windows 10 專業版 / 企業版 / 教育版
內建
同上,需 64 位元版本
Windows 11 / 10 家用版
功能被隱藏
官方不支援,可透過指令腳本手動加入,但穩定性與後續更新風險自負
要注意的是,就算你是家用版,WSL2 仍然可以使用,因為 WSL2 只需要「虛擬機器平台(Virtual Machine Platform)」這個功能,而不是完整的 Hyper-V 管理工具。這一點在後面談到兩者關係時會再詳細說明。
二、Hyper-V 怎麼用?從啟用到建立虛擬機的完整流程
了解基本觀念後,接下來進入實作。整個流程可以拆成四個階段:前置檢查、啟用功能、建立虛擬機、設定網路。以下逐步說明。
前置檢查:CPU 虛擬化、SLAT 與系統版本
Hyper-V 對硬體有幾項基本要求,缺一不可:
你可以用工作管理員快速確認:切到「效能」分頁 → 點選「CPU」→ 右下角會顯示「虛擬化:已啟用」或「已停用」。如果顯示已停用,請重開機進入 BIOS/UEFI,找到 Intel Virtualization Technology、VT-x、SVM Mode 或 AMD-V 之類的選項並開啟。部分品牌電腦(尤其是筆電)可能把這個選項藏在進階選單,或需要先關閉 Secure Boot 才能調整。
另一個快速檢查方式是打開命令提示字元,輸入 systeminfo,拉到最下面會看到「Hyper-V 需求」的相關資訊,包括「VM 監視器模式擴充功能」、「第二層位址轉譯」等項目是否顯示「是」。
三種啟用 Hyper-V 的方法
方法一:圖形介面(最直覺)
按下 Win + R 輸入 appwiz.cpl 開啟「程式和功能」,點左側「開啟或關閉 Windows 功能」,在清單中勾選「Hyper-V」與「Hyper-V 管理工具」,按下確定後重新開機。這個方法適合大多數專業版使用者。
方法二:PowerShell(適合批次或遠端操作)
以系統管理員身分開啟 PowerShell,輸入以下指令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -All
執行後會提示是否重新開機,輸入 Y 即可。這個指令會一併啟用 Hyper-V 平台、管理工具與相關服務。
方法三:DISM 指令
在系統管理員命令提示字元中輸入:
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V-All
效果與 PowerShell 相同,適合在腳本或部署環境中使用。
如果你使用的是 Windows 家用版,官方並未提供 Hyper-V 管理工具,網路上流傳的作法是建立一個批次檔,透過 DISM 把隱藏的 Hyper-V 套件手動加入系統。這個做法在部分版本確實可行,但微軟並不支援,且可能在重大更新後失效或造成系統不穩定,建議只在測試機上嘗試,正式環境請升級至專業版。
啟用完成並重新開機後,你可以在開始功能表搜尋「Hyper-V 管理員」,若能正常開啟,代表 hypervisor 已經啟動。也可以在意見命令提示字元輸入 bcdedit /enum,確認 hypervisorlaunchtype 是否為 Auto。
建立第一台虛擬機:逐步操作
打開「Hyper-V 管理員」後,點選右側的「新增」→「虛擬機器」,會啟動「新增虛擬機器精靈」。以下以安裝一台 Ubuntu Linux 為例,步驟如下:
Ubuntu-Dev。預設會存放在 C:\ProgramData\Microsoft\Windows\Hyper-V,建議改到空間較大的 SSD 分割區,避免系統碟被吃滿。按下完成後,在清單中對虛擬機按右鍵 →「連線」→「啟動」,即可開始安裝流程。
安裝完成後,建議回到 Hyper-V 管理員的「設定」中調整幾項:處理器數量(不要超過實體核心數,並保留 1 至 2 個核心給宿主系統)、整合服務(可勾選客體服務與心跳偵測)、檢查點(若不需要回溯功能,可關閉自動檢查點以節省磁碟空間)。另外,若虛擬機是 Windows,建議啟用「增強工作階段模式」,這樣可以直接用本機的剪貼簿、音訊與資料夾分享,操作體驗會接近本機。
虛擬交換器設定:外部、內部與私人網路
Hyper-V 的網路是靠「虛擬交換器」來模擬,總共分成三種類型:
建立方式:在 Hyper-V 管理員右側點「虛擬交換器管理員」→ 選擇類型 →「建立虛擬交換器」→ 命名並綁定對應的實體網卡。要注意的是,一旦建立外部交換器,宿主機的網路介面會轉由虛擬交換器接管,部分 Wi-Fi 網卡或 VPN 軟體可能會出現不相容的狀況,這時可改用內部交換器加 NAT 的方式繞過。
三、WSL2 是什麼?它跟 Hyper-V 的關係一次講清楚
WSL 全名是 Windows Subsystem for Linux,第一代(WSL1)採用的是「系統呼叫轉譯」的方式,把 Linux 指令轉換成 Windows 能理解的動作,因此不需要虛擬化,啟動極快,但相容性有限。第二代(WSL2)則改為在一個輕量級虛擬機中執行真正的 Linux 核心,相容性大幅提升,可以跑 Docker、systemd 服務與絕大多數 Linux 原生程式。
WSL2 的運作原理:輕量 VM,但不是完整 Hyper-V
WSL2 背後的確使用了微軟的虛擬化技術,但它不需要啟用完整的 Hyper-V 管理工具,只需要「虛擬機器平台(Virtual Machine Platform)」這個功能。這也是為什麼 Windows 家用版的使用者可以安裝 WSL2,卻不能直接使用 Hyper-V 管理員。WSL2 的虛擬機是由 Windows 自動管理,使用者看不到也無法像 Hyper-V 那樣自由調整 CPU、記憶體或網路介面(只能透過 .wslconfig 做有限度的設定),啟動速度極快,通常一到三秒內就能進入 Shell。
實務上,Hyper-V 與 WSL2 是可以共存的。當你啟用 Hyper-V 後,WSL2 依然能正常運作;反過來說,只啟用「虛擬機器平台」也不會一併安裝 Hyper-V 管理工具。Docker Desktop 在 Windows 上的預設後端就是 WSL2,透過它來執行 Linux 容器,效能與資源佔用都比傳統虛擬機方案好上不少。
兩者共存時需要注意的事
雖然 Hyper-V 與 WSL2 可以並存,但仍有幾個實務上的注意事項。第一,某些舊版的 VMware Workstation(15.5.5 以前)或 VirtualBox(6.1 以前)在偵測到 Hyper-V 啟用時會拒絕啟動,或速度大幅下降。第二,部分 Android 模擬器(如舊版 BlueStacks)與防毒軟體的虛擬化功能也可能受到影響。第三,若你同時開啟 Hyper-V 虛擬機與 WSL2,兩者會共享實體資源,建議在 .wslconfig 中限制 WSL2 可用的記憶體與 CPU 核心數,避免宿主系統卡頓。
四、虛擬機與 WSL2 的效能對比:架構決定一切
接下來進入本文的核心:Hyper-V 虛擬機與 WSL2 的效能到底差多少?先說結論——兩者不是誰全面勝出,而是各有擅長的情境。WSL2 勝在輕量、啟動快、與 Windows 檔案系統整合度高;Hyper-V 勝在隔離完整、可自訂硬體組態、能跑各種作業系統與完整桌面環境。以下分項說明。
CPU 與記憶體效能:WSL2 略勝一籌
在 CPU 密集的工作負載上,例如編譯程式、執行腳本、跑測試,WSL2 的額外開銷通常比完整虛擬機小。原因在於 WSL2 的虛擬機是精簡特製的,只執行必要的 Linux 核心與使用者空間,不像 Hyper-V 虛擬機還需要模擬完整的晶片組、顯示卡、網路卡與 BIOS/UEFI 等裝置。根據一般測試,WSL2 的 CPU 效能大約可達原生 Linux 的 90% 至 97%,而 Hyper-V 虛擬機則約在 85% 至 95% 之間,實際數字會因工作負載類型、CPU 世代與組態而有明顯差異。
記憶體方面,WSL2 預設會動態向 Windows 要求記憶體,最多可使用宿主記憶體的 50%(可透过 .wslconfig 調整)。這個設計的優點是弹性,缺點是長時間使用後可能出現「記憶體被 WSL2 佔住不放」的現象;Windows 11 與較新版本的 WSL 已加入自動記憶體回收(autoMemoryReclaim),情況改善不少。Hyper-V 虛擬機則可以選擇固定或動態記憶體,控制權較高,適合需要穩定資源配置的伺服器 workload。
磁碟 I/O 與檔案系統效能:跨檔案系統是關鍵
這是兩者差異最明顯的地方,也是最容易讓開發者踩雷的環節。WSL2 的 Linux 檔案系統存放在一個虛擬硬碟(ext4.vhdx)中,若你把專案放在 Linux 家目錄(例如 ~/project),讀寫效能相當接近原生 Linux,通常可達 80% 至 95%。但如果你把專案放在 Windows 的 C:\ 底下,再從 WSL2 透過 /mnt/c 去存取,由於必須經過跨系統的檔案協定轉換,效能會大幅下降,在小檔案密集的操作(如 npm install、git status、大量編譯)中,甚至可能只有原生效能的二到四成。這是 WSL2 使用者最常遇到的效能陷阱。
Hyper-V 虛擬機則是透過虛擬硬碟(VHDX)與虛擬網路共享資料夾來存取檔案。若使用固定大小的 VHDX 並存放在 NVMe SSD 上,磁碟效能通常可達原生的 70% 至 90%;動態擴充的 VHDX 在隨機寫入時會略慢一些。若透過「增強的工作階段模式」做資料夾分享,效能也會比直接在虛擬硬碟內操作差,因此正式工作仍建議把資料放在虛擬硬碟內。
開機速度、網路與圖形加速
開機速度方面,WSL2 幾乎是壓倒性勝利。從輸入 wsl 到進入 Shell,通常只需要一至三秒;Hyper-V 的 Linux 虛擬機則需要經歷完整的開機流程,從 GRUB、systemd 到登入畫面,大約需要 15 至 40 秒,若安裝的是 Windows 虛擬機,時間還會更長。
網路效能方面,WSL2 預設使用 NAT 模式,對外連線的吞吐量約為原生的 70% 至 90%,且由於是 NAT,從區域網路其他裝置要連進 WSL2 的服務需要額外做連接埠轉送(netsh interface portproxy),Windows 11 較新版本則提供實驗性的 mirrored 網路模式可改善此問題。Hyper-V 若使用外部虛擬交換器,虛擬機會直接取得區域網路 IP,雙向連線都更直覺,吞吐量也較接近原生。
圖形與 GPU 加速則是另一個分水嶺。WSL2 在 Windows 11 上支援 WSLg,可以直接執行 Linux 圖形介面程式,並透過 GPU 加速支援 CUDA、DirectML 等運算;Hyper-V 則需要透過 GPU 分區(GPU-PV)技術才能讓虛擬機使用實體 GPU,設定較複雜,且支援度取決於顯卡驅動與 Windows 版本。若你的工作涉及機器學習推論或 Linux 桌面應用,WSL2 通常是比較省事的選擇;若需要在虛擬機內執行完整的 Windows 圖形工作負載或 CAD 軟體,Hyper-V 搭配 GPU-PV 仍是較正式的方案。
比較項目
Hyper-V 虛擬機
WSL2
啟動速度
15~40 秒(Linux)
1~3 秒
CPU 效能(相對原生)
約 85%~95%
約 90%~97%
磁碟 I/O
VHDX 內約 70%~90%
Linux 檔案系統約 80%~95%;/mnt/c 可能低於 40%
記憶體控制
固定或動態,控制度高
透過 .wslconfig 有限調整
網路
可橋接,取得區域網路 IP
預設 NAT,需連接埠轉送
圖形與 GPU
支援 GPU-PV,設定較複雜
支援 WSLg 與 CUDA / DirectML
隔離性
完整虛擬化,可跑任意 OS
以 Linux 為主,與 Windows 深度整合
要提醒的是,上表為一般參考值,實際效能會受到 CPU 世代、SSD 速度、記憶體容量、虛擬化設定與工作負載類型影響,建議以自己的環境實測為準。
五、什麼情境該用 Hyper-V?什麼情境該用 WSL2?
看完效能比較後,選擇其實不難,關鍵在於「你要的是完整隔離的電腦,還是順手的 Linux 開發環境」。
建議使用 Hyper-V 的情境:
需要測試多種不同的 Linux 發行版,且要求完整的核心控制權、自訂 kernel 或核心模組。
需要模擬多台機器之間的網路架構,例如架設測試用伺服器叢集。
需要快照(檢查點)功能,在測試高風險操作前建立還原點。
需要完整的圖形桌面環境,且不想依賴 WSLg 的相容性。
建議使用 WSL2 的情境:
日常開發工作,例如寫 Python、Node.js、Go、Rust,使用 CLI 工具與 Git。
執行 Docker 容器,或使用 Docker Desktop 的 WSL2 後端。
希望開機後快速進入 Linux 環境,不想等待虛擬機開機。
筆電使用者,希望兼顧效能與電池續航,避免長時間跑完整虛擬機。
實務上,很多開發者會兩者並用:平常寫程式用 WSL2,需要測試伺服器或 Windows 行為時再開 Hyper-V 虛擬機。只要記得在 .wslconfig 中限制 WSL2 的資源上限,並在不用時執行 wsl --shutdown 釋放記憶體,兩者共存並不會有太大問題。
六、常見問題與效能調校建議
啟用 Hyper-V 後 VMware、VirtualBox 打不開怎麼辦?
這是因為 Hyper-V 啟用後,Windows 本身就跑在 hypervisor 之上,其他虛擬化軟體無法再獨佔硬體虛擬化指令。解決方式有三種:
bcdedit /set hypervisorlaunchtype off,再重新開機。請注意,關閉後 WSL2、Windows Sandbox 與 Docker Desktop 的 WSL2 後端都會失效。Hyper-V 虛擬機效能調校清單
WSL2 效能調校清單
~/ 或 /home 底下,不要放在 /mnt/c,這是提升 I/O 效能最有效的一步。.wslconfig:在 C:\Users\你的使用者名稱\.wslconfig 中設定記憶體上限、CPU 核心數與 swap 大小,例如 memory=8GB、processors=4。wsl --shutdown:關閉閒置的 WSL2 執行個體,釋放被佔用的記憶體。wsl --update 可取得最新版核心與功能,GPU 加速也需要較新的驅動程式支援。.wslconfig 的實驗性區段加入 autoMemoryReclaim=gradual,讓 WSL2 自動歸還閒置記憶體。結語:不是二選一,而是依情境選對工具
Hyper-V 與 WSL2 雖然都建立在 Windows 的虛擬化技術之上,但設計目標完全不同。Hyper-V 提供的是一台「完整的電腦」,隔離性高、可自訂硬體、能跑各種作業系統,適合測試、模擬與需要完整控制權的情境;WSL2 則是一個「與 Windows 深度整合的 Linux 環境」,啟動快、資源佔用低、與开发工具鏈搭配順暢,適合日常開發與容器工作。
效能上,WSL2 在啟動速度與 CPU 效率通常略勝一籌,但跨檔案系統的磁碟 I/O 是它最大的罩門;Hyper-V 則在網路橋接、隔離性與作業系統相容性上更有優勢。與其爭論誰比較快,不如先釐清自己的工作型態,再選擇對應的工具,必要時兩者並用,並透過资源限制與效能調校讓它們和平共處。
如果你還沒實際用過 Hyper-V,建議今天就找一台測試機,按照本文的步驟啟用功能、建立第一台虛擬機,親身體驗兩者的差異。更多 3C 科技教學與實測內容,歡迎持續關注雅寶社區 · 頂客論壇。
💬 想說點什麼?
歡迎到留言板分享你的想法、心得或疑問。
💬 前往留言板 →