作者Adama (So Say We All.)
看板Linux
标题Re: [分享] new WSL2 and new Docker at win10
时间Thu Jun 4 16:47:34 2020
: 推 Adama: WSL2就需要HyperV了吧(linux内核),还是会跟VM/VB冲突吧? 05/25 14:38
: 推 Adama: docs.microsoft.com/en-us/windows/wsl/compare-versions 05/25 14:42
: → Adama: 这里表示WSL2的确不能跟VM/VB一起跑 05/25 14:42
: → Adama: Docker不再需要HyperV是因为用上WSL2的linux kernel的关系 05/25 14:43
: 推 alan23273850: https://imgur.com/dWmVVCA 这边有提到某些虚拟机器 05/30 15:22
: → alan23273850: 也能和 hyper-V 并存 05/30 15:22
: → alan23273850: 我安装了之後实测了一下,VM和WSL2真的可以同时执行 05/31 01:57
: → roccqqck: https://i.imgur.com/UpTqKJB.png 我virtualbox6.1.8可 05/31 02:03
查了一下,最新的VirtualBox和VMWare的确都能用Hyper-V的介面了
VMWare是从15.5.5版开始支援 (5/28才释出的)
https://blogs.vmware.com/workstation/2020/05/vmware-workstation-now-supports-hyper-v-mode.html
VirtualBox是6.1.4 (2/19) 开始支援
Windows host: Restore the ability to run VMs through Hyper-V, at the expense of performance
因为用了Hyper-V介面 (WHP APIs)後,虚拟机会变成在user level执行,无法再直接存取硬体 (VT-X or AMD-V)。这大概是为什麽VB写着代价是效能损失吧...
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.129.0.115 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1591260471.A.DE4.html
1F:推 roccqqck: 所以不是WSL2不用hyperV 06/04 19:17
2F:→ roccqqck: 而是VB VM支援了hyperV 06/04 19:17
我前po就说了啊,WSL2要用linux kernel就非得用虚拟技术才行
你应该知道kernel是做什麽用的吧
3F:推 oldmon: 我的VirtualBox开Hyper-V的介面後效能损失到几乎不能用, 06/05 01:04
4F:→ oldmon: 不知道是不是还有什麽地方可以调,不过我默默把他移回去了 06/05 01:05
其实这就是M$又一次霸道的地方,开了Hyper-V後就屏蔽硬体不给用,强迫使用它提供的
介面。(反之VB和VM同时开都没事。)
前一篇有讨论到WSL2的影响和M$的动机等,我觉得还需要再观察,搞不好是最後是在帮
Hyper-V垄断hypervisor的地位?? 因为Hyper-V是个还不成熟开发中的产品。VirtualBox5
其实就支援过Hyper-V当作fallback,但後来M$改掉就没了,所以6.1.4它才写「重新支
援」 ,但难保未来M$又改掉,等於说M$有完全的标准掌控权
也有人说M$贡献了很多开源码所以并不黑。嘿嘿,Android也是开源的啊,但gapps不是。
一旦市场形成後,就产生宰制力了(看看华为手机)(连Android x86都推不起来了)
※ 编辑: Adama (220.129.0.115 台湾), 06/05/2020 09:38:41
5F:→ roccqqck: 我原本以为WSL2用了另一套跟vb相容的type2虚拟技术 06/05 12:07
6F:→ roccqqck: mac的docker也从来没跟vb打架啊 06/05 12:11
7F:→ Adama: docker是OS层虚拟化,它没有自己的kernel,不能跟VB类比吧 06/05 16:08
8F:推 roccqqck: 那为何win的hyperV docker跟vb打架 06/05 16:25
9F:→ roccqqck: mac的docker就没事 06/05 16:25
10F:→ roccqqck: mac的docker也有跑轻量的linux vm 06/05 16:28
11F:→ OrzOGC: 我还是乖乖用双系统好了 06/05 18:05
12F:推 Arbin: 因为 Hyper-V 是 Type 1 的 Hypervisor 06/06 19:41
13F:→ Arbin: 其它都 Type 2的 06/06 19:41
14F:推 Arbin: Type 1 就是绕过OS直接抓硬体资源 06/06 19:44
15F:→ Arbin: Type 2 还会经过OS这一层 06/06 19:44
16F:→ Arbin: 所以也有人说「开启 Hyper-V的Windows实际上也是一个虚拟 06/06 19:46
17F:→ Arbin: 机」 06/06 19:46
18F:→ Arbin: mac 上的 docker 小 vm 我猜也是 Type 2 的才没打架 06/06 19:49
19F:→ Arbin: 话说 mac 上有 type 1 的 hypervisor吗...? 06/06 19:49
20F:→ kenduest: 还没看过。不过都是 type2 的要同时跑是真的方便就是 06/09 22:37
21F:→ kenduest: mac 上我可以同时跑parallels,fusion vm 环境都没事 06/09 22:38