系詳解:從虛擬化原理到環(huán)境搭建避坑指南)
Windows 下的開(kāi)發(fā)環(huán)境搭建聊得再熱鬧也繞不開(kāi) Hyper-V 和 WSL 2Windows Subsystem for Linux 2這對(duì)組合。很多朋友一看到“虛擬機(jī)”“子系統(tǒng)”這些詞就開(kāi)始皺眉都是虛擬化它們到底啥關(guān)系開(kāi)了一個(gè)另一個(gè)還能用嗎我這次從實(shí)際折騰的角度把兩者的底層邏輯、開(kāi)啟步驟、資源管理、常見(jiàn)坑一次性講明白。不管你是剛接觸 WSL 2 的新手還是被 Hyper-V 和 VMware 沖突折磨過(guò)的老手這篇都值得花十分鐘看完。我印象里很多人第一次接觸 WSL 2 是奔著“輕量 Linux 開(kāi)發(fā)環(huán)境”去的結(jié)果打開(kāi)任務(wù)管理器發(fā)現(xiàn)內(nèi)存被吃掉一大塊查資料又看到一堆 Hyper-V 的名詞當(dāng)場(chǎng)就懵了。這個(gè)反應(yīng)太正常了因?yàn)?WSL 2 的底層恰恰就跑在 Hyper-V 的虛擬化架構(gòu)上光把它當(dāng)“一個(gè)軟件”理解是不完整的。接下來(lái)我按自己實(shí)際操作時(shí)理清的思路一層層掰開(kāi)聊。1. 先分清Hyper-V 與 WSL 2 各自扮演什么角色1.1 Hyper-VWindows 自帶的真正虛擬化層Hyper-V 是微軟在 Windows 和 Windows Server 里內(nèi)置的 hypervisor屬于第一類(lèi)虛擬機(jī)監(jiān)控程序。第一類(lèi)的意思是它的權(quán)限層級(jí)比操作系統(tǒng)內(nèi)核還低直接在 CPU 的虛擬化擴(kuò)展Intel VT-x 或 AMD-V上面運(yùn)行。我們平時(shí)用的 VMware Workstation、VirtualBox 更多是第二類(lèi)先裝一個(gè) Windows再在 Windows 里面模擬硬件所以性能和隔離性天生要差一截??梢赃@樣理解Hyper-V 像一個(gè)手握鑰匙的樓管它不親自住房間但負(fù)責(zé)給每個(gè)“租客”劃分空間、分配水電并確保租客之間不會(huì)互相干擾。Windows 本身也變成其中一個(gè)“租客”微軟叫根分區(qū) root partition。一旦開(kāi)了 Hyper-V整個(gè)系統(tǒng)的虛擬化環(huán)境就由它接管這也是后面很多兼容性問(wèn)題的根源。實(shí)際上Hyper-V 并不是為了普通開(kāi)發(fā)者的“裝個(gè)虛擬機(jī)”而生的它更多用在數(shù)據(jù)中心、Windows 容器、遠(yuǎn)程桌面虛擬化這類(lèi)場(chǎng)景。個(gè)人電腦上開(kāi)啟它除了提供管理工具之外更重要的價(jià)值是給 WSL 2、Windows 沙盒、基于虛擬化的安全VBS這些功能提供一個(gè)統(tǒng)一底座。1.2 WSL 2運(yùn)行在輕量虛擬機(jī)里的完整 LinuxWSL 2 從名字看像是一個(gè)“子系統(tǒng)”但它已經(jīng)不是早期 WSL 1 那種把 Linux 系統(tǒng)調(diào)用翻譯成 Windows 調(diào)用的兼容層了。WSL 2 跑的是一個(gè)真正的 Linux 內(nèi)核這個(gè)內(nèi)核運(yùn)行在由 Hyper-V 托管的輕量虛擬機(jī)里。微軟把虛擬機(jī)啟動(dòng)、內(nèi)存回收這些細(xì)節(jié)做了大量?jī)?yōu)化所以用戶(hù)打開(kāi)一個(gè) WSL 發(fā)行版通常幾秒就能進(jìn) shell體驗(yàn)上更像一個(gè)獨(dú)立安裝的 Linux 終端。WSL 1 和 WSL 2 的區(qū)別這里可以直接給個(gè)對(duì)比表對(duì)比項(xiàng)WSL 1WSL 2架構(gòu)系統(tǒng)調(diào)用翻譯層沒(méi)有 Linux 內(nèi)核真實(shí) Linux 內(nèi)核運(yùn)行在輕量虛擬機(jī)兼容性部分依賴(lài)內(nèi)核特性的軟件無(wú)法運(yùn)行接近完整 Linux 環(huán)境Docker、內(nèi)核模塊可用文件性能跨系統(tǒng)文件訪(fǎng)問(wèn)較快Linux 文件系統(tǒng)ext4性能更好但訪(fǎng)問(wèn) Windows 文件反向略慢啟動(dòng)速度極快也很快首次啟動(dòng)有虛擬機(jī)關(guān)聯(lián)開(kāi)銷(xiāo)磁盤(pán)形態(tài)普通目錄單獨(dú)的 ext4.vhdx 虛擬磁盤(pán)文件對(duì) Hyper-V 依賴(lài)不依賴(lài)依賴(lài) Hyper-V 虛擬化平臺(tái)在實(shí)際開(kāi)發(fā)中WSL 2 帶來(lái)的優(yōu)勢(shì)非常明顯。以前在 WSL 1 里跑不了的東西比如需要加載內(nèi)核模塊的工具、某些依賴(lài)完整網(wǎng)絡(luò)協(xié)議棧的服務(wù)放到 WSL 2 里基本都能正常工作。Docker Desktop 也提供了基于 WSL 2 的后端容器運(yùn)行時(shí)跑在 Linux 內(nèi)核之上內(nèi)存占用比 Hyper-V 虛擬機(jī)整體啟動(dòng)方案低不少。1.3 兩者不是二選一而是層層嵌套很多人一聽(tīng)“開(kāi)了 Hyper-V 會(huì)壞 VMware”就以為 Hyper-V 是個(gè)需要避開(kāi)的洪水猛獸順帶也懷疑 WSL 2 是不是最好別用。實(shí)際上WSL 2 恰恰就是 Hyper-V 架構(gòu)的受益者。不用完整開(kāi)啟 Hyper-V 管理器只要 Windows 的“虛擬機(jī)平臺(tái)”功能處于開(kāi)啟狀態(tài)WSL 2 就能運(yùn)行。所以大多數(shù)情況下我們不需要關(guān)心 Hyper-V 管理器那個(gè)圖形界面后臺(tái)虛擬化層在工作就行。簡(jiǎn)單說(shuō)Hyper-V 是底座WSL 2 是這個(gè)底座上的一個(gè)輕量 Guest而 VMware 這類(lèi)傳統(tǒng)桌面虛擬化軟件在沒(méi)有適配新架構(gòu)時(shí)確實(shí)會(huì)和這個(gè)底座爭(zhēng)搶虛擬化資源這就是后邊要重點(diǎn)聊的兼容性話(huà)題。先把這個(gè)層次關(guān)系理清后面配置和排錯(cuò)就不會(huì)一頭霧水。2. 從零開(kāi)啟Hyper-V 與 WSL 2 的環(huán)境搭建2.1 動(dòng)手前先查硬件和 BIOS開(kāi)啟 WSL 2 的前提是 CPU 支持硬件虛擬化并且在 BIOS/UEFI 里已經(jīng)打開(kāi) Intel VT-x 或 AMD-V?,F(xiàn)在大多數(shù) CPU 都支持但有些品牌機(jī)和低功耗平臺(tái)默認(rèn)關(guān)閉。我見(jiàn)過(guò)不少人裝完 WSL 2 后啟動(dòng)報(bào)錯(cuò)排查半天才發(fā)現(xiàn)是 BIOS 里的 SVMAMD 的叫法沒(méi)開(kāi)。檢查是否開(kāi)啟虛擬化最簡(jiǎn)單的方法是打開(kāi)命令提示符或者 PowerShell輸入systeminfo拉到輸出的最后幾行看“Hyper-V 要求”這組信息。如果顯示“已檢測(cè)到虛擬機(jī)監(jiān)控程序”說(shuō)明虛擬化層已經(jīng)在運(yùn)行如果顯示“固件中已啟用虛擬化”但“虛擬機(jī)監(jiān)控程序”實(shí)際沒(méi)有運(yùn)行說(shuō)明可能還需要在 Windows 功能里打開(kāi)相應(yīng)選項(xiàng)。還有一個(gè)細(xì)節(jié)容易忽略在 Windows 11 上有些品牌機(jī)的“內(nèi)核隔離”和“基于虛擬化的安全”也會(huì)影響 Hyper-V 組件的表現(xiàn)。如果你之前手動(dòng)關(guān)過(guò)這些安全功能WSL 2 仍有可能啟動(dòng)失敗。所以最穩(wěn)的做法是先把系統(tǒng)更新到較新的版本再開(kāi)啟功能最后重啟別跳步。2.2 開(kāi)啟“虛擬機(jī)平臺(tái)”和“Hyper-V”功能想要 WSL 2 跑起來(lái)關(guān)鍵是開(kāi)啟 Windows 功能里的三個(gè)東西適用于 Linux 的 Windows 子系統(tǒng)、虛擬機(jī)平臺(tái)、Hyper-V 相關(guān)服務(wù)。用管理員身份打開(kāi) PowerShell依次執(zhí)行下面的命令Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -All -NoRestart Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All -NoRestart Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All -All -NoRestart如果只是想用 WSL 2不打算打開(kāi) Hyper-V 管理器第三個(gè)命令可以暫時(shí)不執(zhí)行直接開(kāi)“虛擬機(jī)平臺(tái)”就夠了。但如果你后面需要跑 Hyper-V 傳統(tǒng)虛擬機(jī)、想用Optimize-VHD這類(lèi)命令就還是把 Hyper-V 功能一起打開(kāi)。執(zhí)行完重啟電腦然后再跑一句wsl --update把 WSL 內(nèi)核更新到最新版。這里提醒一下在老版本 Windows 10 上wsl --install可能不存在傳統(tǒng)做法是先啟用功能再去應(yīng)用商店安裝某個(gè) Linux 發(fā)行版。新版本 Win10/Win11 直接wsl --install -d Debian就行命令會(huì)自動(dòng)完成大部分配置相當(dāng)省心。2.3 在 WSL 2 里安裝 Debian 13 的實(shí)測(cè)步驟最近 Debian 13trixie的話(huà)題熱度上來(lái)不少很多人想在 WSL 2 里裝新版本但應(yīng)用商店里的 Debian 默認(rèn)可能還停留在穩(wěn)定版。想用上 Debian 13 最直接的辦法是下載它的 rootfs 壓縮包再用wsl --import導(dǎo)入。這個(gè)辦法不依賴(lài)商店也便于把發(fā)行版放到自定義目錄推薦試一下。大致步驟是這樣的從 Debian 官網(wǎng)獲取 rootfs 壓縮包。如果官網(wǎng)還沒(méi)提供直接下載也可以用 debootstrap 在任意一臺(tái) Debian 機(jī)器上生成然后打包。在 Windows 下找個(gè)目錄放虛擬磁盤(pán)比如D:\WSL\Debian13目錄最好不要放在 C 盤(pán)系統(tǒng)盤(pán)。管理員 PowerShell 里執(zhí)行wsl --import Debian13 D:\WSL\Debian13 D:\Downloads\debian-trixie-rootfs.tar.gz --version 2啟動(dòng)它wsl -d Debian13此時(shí)默認(rèn)是以 root 用戶(hù)進(jìn)入。想改成普通用戶(hù)進(jìn)系統(tǒng)后先創(chuàng)建一個(gè)用戶(hù)然后編輯/etc/wsl.conf[user] default你的用戶(hù)名 [boot] systemdtrue保存后執(zhí)行wsl --shutdown再重新進(jìn)入就能看到 systemd 正常啟動(dòng)、當(dāng)前用戶(hù)也變成普通用戶(hù)了。最后用cat /etc/os-release確認(rèn)一下是不是 trixie 版本。整個(gè)過(guò)程比商店安裝多一點(diǎn)手動(dòng)動(dòng)作但好處是版本完全可控目錄也清爽。3. 資源管理與磁盤(pán)清理3.1 內(nèi)存和 CPU 的上限.wslconfig 調(diào)參實(shí)例WSL 2 默認(rèn)會(huì)占用不少內(nèi)存官方早期設(shè)定是物理內(nèi)存的 50% 或 8GB 取較小值。如果你的電腦只有 8GB 內(nèi)存WSL 2 里的服務(wù)一多Windows 明顯卡頓。好在可以通過(guò)用戶(hù)目錄下的.wslconfig文件限制。先說(shuō)明路徑在C:\Users\你的用戶(hù)名\下新建一個(gè).wslconfig文件用記事本打開(kāi)寫(xiě)入類(lèi)似這樣的內(nèi)容[wsl2] memory6GB processors4 swap4GB swapFileD:\\WSL\\swap.vhdx localhostForwardingtrue [experimental] networkingModemirrored每個(gè)參數(shù)的意思很好理解memory是分配給 WSL 2 的最大內(nèi)存processors是邏輯核數(shù)swap和swapFile用來(lái)定義交換文件和它的位置localhostForwarding保持默認(rèn)開(kāi)啟Windows 里就能直接用localhost訪(fǎng)問(wèn) WSL 2 里跑的服務(wù)。networkingModemirrored是 Windows 11 新加的鏡像網(wǎng)絡(luò)模式開(kāi)了之后 WSL 2 和 Windows 共享網(wǎng)絡(luò)棧反向更通。提示改完.wslconfig之后一定記得執(zhí)行wsl --shutdown否則配置不會(huì)生效。我自己的習(xí)慣是給 WSL 2 分配物理內(nèi)存的一半左右同時(shí)把 swap 放到 D 盤(pán)避免系統(tǒng)盤(pán)壓力過(guò)大。切記別把內(nèi)存調(diào)到接近物理內(nèi)存上限因?yàn)?Hyper-V 底層還會(huì)預(yù)留一些內(nèi)存給 Windows 自身。3.2 VHDX 磁盤(pán)越來(lái)越肥的清理方法WSL 2 的 Linux 文件系統(tǒng)全部放在一個(gè)叫ext4.vhdx的虛擬磁盤(pán)里。問(wèn)題在于Linux 里刪除文件之后vhdx 文件并不會(huì)自動(dòng)收縮時(shí)間一長(zhǎng)可能膨脹到幾十 GB。我見(jiàn)過(guò)有人以為磁盤(pán)占用異常差點(diǎn)把整個(gè) WSL 目錄刪掉。清理前先確認(rèn)磁盤(pán)文件在哪。每個(gè) WSL 發(fā)行版的 vhdx 在該發(fā)行版的安裝目錄內(nèi)如果當(dāng)時(shí)是用默認(rèn)商店方式安裝的一般位于C:\Users\用戶(hù)名\AppData\Local\Packages\...下面如果像我一樣用了wsl --import導(dǎo)入就在我指定的D:\WSL\Debian13目錄里。清理思路是先關(guān)閉 WSL再掛載磁盤(pán)執(zhí)行壓縮Windows 自帶的 diskpart 就能搞定diskpart select vdisk fileD:\WSL\Debian13\ext4.vhdx attach vdisk readonly compact vdisk detach vdisk exit執(zhí)行完再去查看 vhdx 文件體積通常會(huì)明顯變小。如果系統(tǒng)裝了 Hyper-V PowerShell 模塊用Optimize-VHD -Path ... -Mode Full也可以。這類(lèi)操作不會(huì)影響 Linux 內(nèi)的數(shù)據(jù)但為了保險(xiǎn)壓縮前我還是會(huì)先把重要數(shù)據(jù)備份一份這點(diǎn)建議你也別省。4. 高頻翻車(chē)現(xiàn)場(chǎng)與解決思路4.1 WSL 2 啟動(dòng)失敗和錯(cuò)誤碼速查WSL 2 最常見(jiàn)的啟動(dòng)錯(cuò)誤是WslRegisterDistribution failed with error: 0x80370102。這個(gè)錯(cuò)誤十有八九是“虛擬機(jī)監(jiān)控程序沒(méi)生效”要么 Windows 功能沒(méi)開(kāi)要么 BIOS 虛擬化沒(méi)開(kāi)要么內(nèi)核更新沒(méi)裝。我遇到過(guò)最隱蔽的一種情況是品牌機(jī)預(yù)裝的“虛擬化安全”把內(nèi)核隔離占用了導(dǎo)致 WSL 2 反復(fù)起不來(lái)。遇到跟 WSL 相關(guān)的錯(cuò)誤先按這個(gè)表排查錯(cuò)誤碼/提示大概率原因處理方式0x80370102未啟用虛擬化或虛擬機(jī)平臺(tái)開(kāi)啟功能、檢查 BIOS、wsl --update0x80070003發(fā)行版路徑或安裝目錄異常重新安裝發(fā)行版或調(diào)整目錄權(quán)限0x8007019e未啟用 WSL 功能開(kāi)啟“適用于 Linux 的 Windows 子系統(tǒng)”后重啟WslRegisterDistribution failedLinux 內(nèi)核未更新執(zhí)行wsl --update或手動(dòng)安裝內(nèi)核更新包另外很多人忽略了一個(gè)操作改完 Windows 功能后必須重啟而且有些功能在圖形界面勾選后還要確認(rèn)重啟。偷懶用-NoRestart參數(shù)雖然能繼續(xù)執(zhí)行下面的命令但最終不重啟一堆服務(wù)不會(huì)生效。4.2 Hyper-V 與第三方桌面虛擬化的兼容問(wèn)題網(wǎng)上關(guān)于 Hyper-V 的吐槽里“去虛擬化”這個(gè)詞出現(xiàn)的頻率很高。很多場(chǎng)景其實(shí)不是讓你刪掉 Hyper-V而是因?yàn)?Hyper-V 一旦開(kāi)啟Windows 變成了根分區(qū)虛擬機(jī)監(jiān)控程序接管了 CPU 的虛擬化能力老版本的 VMware Workstation、VirtualBox 再想使用硬件虛擬化就會(huì)撞車(chē)。表現(xiàn)就是 VMware 提示檢測(cè)到 Hyper-V 正在運(yùn)行或者虛擬機(jī)啟動(dòng)后性能極其離譜。解決思路首先要看你的需求權(quán)重如果日常主要用 WSL 2又需要跑完整桌面虛擬化環(huán)境建議優(yōu)先升級(jí)到 VMware Workstation 較新版本它從 15.5 之后開(kāi)始支持在 Hyper-V 開(kāi)啟的 Windows 10/11 上運(yùn)行到 17 已經(jīng)比較穩(wěn)。VirtualBox 7 對(duì) Hyper-V 的兼容性也改善了不少但體驗(yàn)依然有浮動(dòng)。如果只是偶爾用一下第三方虛擬機(jī)而 WSL 2 是剛需那干脆把虛擬機(jī)方案統(tǒng)一遷移到 Hyper-V 管理器里省去兩套虛擬化層打架的麻煩。如果確實(shí)需要第三方面向硬件層的虛擬化能力那就得讓 Hyper-V 暫時(shí)退出舞臺(tái)。管理員 PowerShell 執(zhí)行bcdedit /set hypervisorlaunchtype off重啟后 Hyper-V 就不會(huì)接管虛擬化層想恢復(fù)時(shí)執(zhí)行bcdedit /set hypervisorlaunchtype auto再重啟。注意執(zhí)行bcdedit /set hypervisorlaunchtype off后必須重啟才能完全恢復(fù)“不開(kāi) Hyper-V”狀態(tài)而且這會(huì)暫時(shí)影響 Windows 沙盒、內(nèi)核隔離等功能。這個(gè)“開(kāi)”和“關(guān)”的過(guò)程其實(shí)就是大家常說(shuō)的“去虛擬化”的真相關(guān)掉的不是 Hyper-V 這個(gè)軟件而是讓 hypervisor 別再啟動(dòng)。我在實(shí)際操作中會(huì)用這種方式切換環(huán)境同時(shí)把兩條命令記在筆記里來(lái)回折騰不怕忘。要特別說(shuō)明的是Hyper-V 開(kāi)啟后某些軟件會(huì)檢測(cè)到系統(tǒng)的虛擬化環(huán)境這是虛擬化技術(shù)本身的特征屬于正?,F(xiàn)象。遇到這類(lèi)情況請(qǐng)以軟件官方兼容性說(shuō)明為準(zhǔn)不要嘗試任何欺騙或規(guī)避手段正常選擇滿(mǎn)足需求的運(yùn)行環(huán)境即可。4.3 時(shí)間漂移、DNS、網(wǎng)絡(luò)互通等小障礙WSL 2 用久了最容易遇到三個(gè)小毛病系統(tǒng)時(shí)間漂移、DNS 無(wú)法解析、Windows 訪(fǎng)問(wèn)不到 WSL 服務(wù)。時(shí)間問(wèn)題多數(shù)是 Windows 快速啟動(dòng)引起Linux 啟動(dòng)后時(shí)鐘被恢復(fù)到某個(gè)舊時(shí)間點(diǎn)??梢栽?Windows 里關(guān)閉快速啟動(dòng)也可以讓 WSL 用 systemd 定期同步時(shí)間。DNS 問(wèn)題通常表現(xiàn)為ping外網(wǎng)域名失敗但 IP 能通。最粗暴又好用的辦法是在/etc/wsl.conf里把generateResolvConf設(shè)成false然后手動(dòng)寫(xiě)一個(gè)可用的/etc/resolv.conf[network] generateResolvConf false寫(xiě)完后wsl --shutdown再啟動(dòng)DNS 就不容易被 Windows 那邊自動(dòng)覆寫(xiě)了。網(wǎng)絡(luò)互通方面我已經(jīng)把.wslconfig里的networkingModemirrored打開(kāi)這樣 WSL 2 里的服務(wù)可以直接通過(guò)localhost訪(fǎng)問(wèn)反向從 Linux 訪(fǎng)問(wèn) Windows 也順很多。Windows 防火墻有時(shí)會(huì)攔 WSL 的入站請(qǐng)求遇到連接被拒先檢查防火墻規(guī)則別一股腦怪虛擬化。5. 幾個(gè)能提升體驗(yàn)的小技巧5.1 先記下這幾個(gè)救命命令我用的最多的 WSL 命令基本就五條wsl -l -v看所有發(fā)行版的版本號(hào)1 還是 2和當(dāng)前狀態(tài)wsl --set-version 發(fā)行版 2把某個(gè)發(fā)行版從 WSL 1 切到 WSL 2wsl --shutdown關(guān)閉所有 WSL 實(shí)例改配置、壓縮磁盤(pán)前必用wsl --update更新 WSL 內(nèi)核和組件wsl --export/wsl --import導(dǎo)出做備份或者遷移到另一臺(tái)電腦。尤其wsl --export這個(gè)命令我每隔一段時(shí)間就會(huì)把重要的 Debian 環(huán)境導(dǎo)出一份。導(dǎo)出的 tar 文件雖然挺大但真的能在系統(tǒng)重裝或者誤刪文件時(shí)救你一次。備份這事等丟數(shù)據(jù)再想就晚了。5.2 讓 WSL 2 更像“正經(jīng) Linux”如果嫌 WSL 2 里的 systemd 默認(rèn)沒(méi)啟動(dòng)很多服務(wù)管理不順手可以在/etc/wsl.conf的[boot]段里寫(xiě)systemdtrue重啟后systemctl就能用了。這樣跑 Docker、nginx、sshd 都跟正常 Linux 服務(wù)器一樣管理習(xí)慣也一致。文件互訪(fǎng)方面Windows 資源管理器地址欄輸入\\wsl.localhost\Debian13可以直接進(jìn) Linux 的文件系統(tǒng)Linux 里訪(fǎng)問(wèn) Windows 文件則走/mnt/c。但要注意跨文件系統(tǒng)讀寫(xiě)性能差異很大尤其編譯類(lèi)操作最好把項(xiàng)目放在 Linux 側(cè)避免用 9p 協(xié)議頻繁讀寫(xiě)/mnt/c。這一點(diǎn)是很多人遷移到 WSL 2 后覺(jué)得“慢”的重要原因。5.3 穩(wěn)定運(yùn)行的幾個(gè)日常習(xí)慣折騰了這么多年我最后總結(jié)幾個(gè)讓 Hyper-V 和 WSL 2 穩(wěn)定共存的習(xí)慣。第一盡量不要在“開(kāi) Hyper-V”和“關(guān) Hyper-V”之間頻繁橫跳這會(huì)影響 Windows 安全和虛擬化組件的運(yùn)行狀態(tài)除非有明確需求否則保持一個(gè)模式。第二定期查看.wslconfig里的資源限制如果 Windows 本身內(nèi)存吃緊先調(diào)它而不是急著買(mǎi)內(nèi)存。第三養(yǎng)成壓縮 vhdx 和備份的習(xí)慣兩個(gè)月一次不嫌多。我個(gè)人在 WSL 2 里跑 Debian 13 已經(jīng)有一陣子了日常編譯、跑腳本、調(diào)試服務(wù)都沒(méi)出過(guò)大問(wèn)題。最舒服的狀態(tài)是WSL 2 負(fù)責(zé)輕量開(kāi)發(fā)環(huán)境Hyper-V 負(fù)責(zé)偶爾的 Windows 虛擬機(jī)兜底兩者各管一攤互不搶資源。如果你現(xiàn)在正被虛擬化折騰得頭疼按這篇文章的思路重新檢查一遍大概率能少走不少?gòu)澛贰?