真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何才能讓你的Windows上的VMWare和WSL2等共存?

點(diǎn)擊上方的「 技宅空格 」可以快速關(guān)注我們

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的進(jìn)賢網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

全文 2800+ 字,閱讀預(yù)計(jì)耗時(shí) 8 分鐘

在 Windows 10 2004 這個(gè)版本中,微軟力推的一大功能就是他們打造了很久的、依托于 Hyper-V 相關(guān)技術(shù)打造的 WSL 2。

和 WSL 1 不同,WSL 2 具有 WSL 1 一般的啟動(dòng)速度,遠(yuǎn)遠(yuǎn)高于虛擬機(jī)冷啟動(dòng),但它并不是像 WSL 1 一樣在底層是把 Linux 的各類系統(tǒng)調(diào)用轉(zhuǎn)向 Windows 的 API,實(shí)現(xiàn)對(duì) Linux 的兼容,而是在系統(tǒng)內(nèi)運(yùn)行一個(gè)完整的、真實(shí)的 Linux 內(nèi)核,使 WSL 能夠完美提供所有的系統(tǒng)調(diào)用,而且不存在兼容性的問題。

在 WSL 1 內(nèi),內(nèi)核功能其實(shí)是不完整的,這也直接導(dǎo)致了很多東西并不能夠在 WSL 1 上順利地跑起來,而同樣的問題在 WSL 2 上就不會(huì)再出現(xiàn)了。

很多朋友雖然有打算轉(zhuǎn)到 WSL 2,但是考慮到在實(shí)際開發(fā)的過程中,有的東西可能還是需要放到虛擬機(jī)這種完全獨(dú)立、隔離,而且能夠基于快照很容易進(jìn)行還原的環(huán)境里跑,所以開發(fā)者還是需要用到 VMWare、VirtualBox 之類的工具。

而眾所周知,VMWare、VirtualBox 在虛擬化上和 Hyper-V 存在沖突,以至于如果你想使用 Docker、WSL 2 等工具,那么你必須要卸載掉機(jī)器上的 VMWare,或者在使用 Docker、WSL 2 的時(shí)候啟用 Hyper-V,在使用 VMWare 的時(shí)候再禁用 Hyper-V。

這種沖突給開發(fā)者帶來了不小的麻煩,因?yàn)橄到y(tǒng)配置總是需要更改,而更改就需要重啟。很多原先使用 WSL 1 的開發(fā)者因?yàn)檫@個(gè)沖突沒有選擇升級(jí)到 WSL 2,畢竟他們真的對(duì)虛擬機(jī)和 WSL 都有很強(qiáng)的依賴,他們并不希望做這種「二選一」的選擇,他們的選擇是「我全都要」。

為了解決這個(gè)兼容問題,微軟也是做了不少的努力。他們稱會(huì)在 WSL 2 正式推出(也就是 Windows 10 2004 正式推出)之后解決這個(gè)兼容性的問題,然而這個(gè)問題并沒有能夠在 Windows 10 2004 早就進(jìn)入正式階段的時(shí)候解決,直到最近,事情才有了轉(zhuǎn)機(jī)。

VMWare 宣布他們實(shí)現(xiàn)了和 Hyper-V 的兼容,你可以在使用 VMWare 的時(shí)候運(yùn)行 WSL 2,同樣,QEMU、VirtualBox 也實(shí)現(xiàn)了對(duì) Hyper-V 的兼容。

想要讓你的虛擬機(jī)和用到了 Hyper-V 的功能、工具不沖突,首先你需要確保你的系統(tǒng)是 Windows 10 2004(版本號(hào)不低于 19041.264),其次你使用的虛擬機(jī)軟件版本至少要是下面列出的版本:

VMWare WorkStation Pro 15.5.5

VirtualBox 6.1.4

QEMU 2.12

這個(gè)兼容的方式雖然大家都沒有提到,但是根據(jù)各種資料,其實(shí)是可以猜到各家是怎么是先兼容的。不得不說的是微軟的能量還是相當(dāng)大,實(shí)際上 Hyper-V 本質(zhì)上還是和這些虛擬機(jī)軟件本身實(shí)現(xiàn)虛擬化的方式?jīng)_突,這個(gè)沖突本身并沒有解決。

大家采用的兼容方案實(shí)際上是一種「曲線救國(guó)」的方式。微軟在去年釋出了一個(gè)名為 Windows Hypervisor Platform 的東西,它在系統(tǒng)內(nèi)添加了一套 API,這一套 API 可以允許其他應(yīng)用使用 Hyper-V 的功能,基于 Hyper-V 實(shí)現(xiàn)虛擬化。

這個(gè)東西本身是率先暴露給 Xamarin 這樣的開發(fā)工具使用的,讓他們可以很輕松地基于 Hyper-V 打造一個(gè)能夠運(yùn)行 Android 的模擬器,使這一套開發(fā)工具能夠更好地和 Visual Studio 集成,給開發(fā)者帶來更好的開發(fā)體驗(yàn)。

可沒想到的是,這一套 API 的開放成為了微軟如今解決虛擬機(jī)軟件共存問題的「關(guān)鍵」。實(shí)際上各家實(shí)現(xiàn)的兼容更多是讓自己的程序和微軟的這一套 API 對(duì)接,通過這一套 API 調(diào)用 Hyper-V 實(shí)現(xiàn)虛擬化,而不再是采用自己的那一套虛擬化的方式。

簡(jiǎn)單來說就是,你看到的東西沒換,運(yùn)行虛擬機(jī)的核心已經(jīng)悄悄地?fù)Q掉了,大家其實(shí)都在用 Hyper-V,所以當(dāng)然就能夠兼容了。

那么問題來了,在這種兼容模式下,虛擬機(jī)的運(yùn)行會(huì)不會(huì)受到影響呢?WSL 2 等工具的運(yùn)行是否穩(wěn)定呢?

經(jīng)過筆者的實(shí)測(cè),虛擬機(jī)和 WSL 2、Docker 等共存是沒有問題的,虛擬機(jī)本身和 WSL 2、Docker 的運(yùn)行都沒有什么問題。

哪怕你在這種兼容模式下運(yùn)行一個(gè) macOS 虛擬機(jī),它的運(yùn)行也不會(huì)遇到什么問題,兼容確實(shí)是實(shí)現(xiàn)了的,你可以很放心地在使用 WSL 2 的同時(shí)使用 VMWare 等。

但是,虛擬機(jī)本身并不是和 Hyper-V 完全兼容的,以 VMWare 為例,你需要去掉虛擬機(jī)設(shè)置中虛擬化引擎的前兩項(xiàng)。

道理也很簡(jiǎn)單,因?yàn)樘摂M化這個(gè)東西實(shí)質(zhì)上已經(jīng)不是 VMWare 自己在管理了,它只是在調(diào)用系統(tǒng)的 API 去做虛擬化,所以自然而然在引擎方面它也不能實(shí)現(xiàn)對(duì) CPU 性能計(jì)數(shù)器的虛擬等。

實(shí)現(xiàn)兼容和不實(shí)現(xiàn)兼容對(duì)于虛擬機(jī)的實(shí)際運(yùn)行還是會(huì)產(chǎn)生一定影響的,如果這個(gè)設(shè)置會(huì)干擾到虛擬機(jī)的正常使用,那么你還是需要靠關(guān)閉 Hyper-V 來規(guī)避兼容問題。

如果你有遇到「Moniter Mode」不能正常啟動(dòng)的錯(cuò)誤,那么與一定是虛擬機(jī)設(shè)置內(nèi)的這兩個(gè)設(shè)置項(xiàng)存在問題。之前已經(jīng)創(chuàng)建的虛擬機(jī)是不需要重新創(chuàng)建的,調(diào)整設(shè)置之后就可以直接開機(jī),沒有任何問題。

另一點(diǎn)需要注意的是,這個(gè)兼容并不包括 Windows 沙盒。Windows 沙盒本身又是一個(gè)很特殊的存在,它之所以可以很快地啟動(dòng)一個(gè)純凈的、全新的 Windows,是因?yàn)樗灿玫搅颂摂M化的技術(shù),直接通過 Hyper-V 再運(yùn)行一個(gè) Windows 內(nèi)核。

然而,這會(huì)造成一些問題。Windows 沙盒的技術(shù)來源于企業(yè)級(jí)的容器技術(shù)。系統(tǒng)內(nèi)核的絕大多數(shù)文件其實(shí)是和可以和沙盒共享的,所以 Windows 實(shí)際上只需要運(yùn)行一個(gè)很小型的鏡像就可以啟動(dòng)沙盒,沙盒所用的很多系統(tǒng)文件其實(shí)是直接關(guān)聯(lián)到了系統(tǒng)本身的文件上。

配合微軟打造的一套內(nèi)存管理、內(nèi)核調(diào)度、GPU 虛擬化等機(jī)制,Windows 沙盒不但性能高、啟動(dòng)快,而且可以做得非常輕量。

由于沙盒和系統(tǒng)本身共用了文件來創(chuàng)造虛擬機(jī),根據(jù)一些說法,這會(huì)使得系統(tǒng)本身并不是運(yùn)行在一個(gè)完全原生化的狀態(tài)上,系統(tǒng)本身其實(shí)已經(jīng)被放到了 Hyper-V 之中,由一套兩個(gè)系統(tǒng)內(nèi)核外部的環(huán)境進(jìn)行各種調(diào)度。

在本文提到的兼容問題上,Windows 沙盒的啟用會(huì)引起不少奇怪的兼容問題,比如網(wǎng)絡(luò),啟動(dòng)了 Windows 沙盒可能會(huì)導(dǎo)致你的程序無法正常綁定端口或者正常釋放端口,只有重啟系統(tǒng)問題才能能夠解決,這可能是一些內(nèi)核級(jí)別的 Bug 導(dǎo)致的。端口其實(shí)并沒有占用,但是程序就是沒有辦法正常綁定。

就筆者個(gè)人的實(shí)踐來說,只有關(guān)閉 Windows 沙盒能夠有效地解決網(wǎng)絡(luò)端口不正常的問題。

目前筆者沒有測(cè)試過的是類似于 360 核晶防護(hù)這一類同樣基于 VM 技術(shù)實(shí)現(xiàn)的是否也會(huì)引起一些兼容性的問題,如果你遇到了其他奇怪的兼容問題,那么你可能要考慮一下是不是安全軟件的這類功能造成的。

總體來說至少 VMWare 能夠和 Hyper-V 一系的東西實(shí)現(xiàn)兼容,這一點(diǎn)還是很讓人開心的,畢竟 VMWare 確實(shí)是很好用的虛擬機(jī)軟件,而 WSL 2、Docker 等也確實(shí)是很好用的工具,沒有什么能夠比兼得還要更美好的了,哪怕存在一些小不足,但是這都是可以接受的。

以上是本文的全部?jī)?nèi)容,如果你喜歡本文可以掃描下方的二維碼關(guān)注我們,感謝你的支持。

這里是技宅空格,我們明天見。


當(dāng)前文章:如何才能讓你的Windows上的VMWare和WSL2等共存?
網(wǎng)址分享:http://weahome.cn/article/cggpic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部