英文名称 中文名称 说明
Container 容器
Guarded Host 受保护的主机 利用远程证明创建并运行受防护的虚拟机
Hyper-V
├Hyper-V Management Tools Hyper-V 管理工具 包含 GUI 管理工具和 Power Shell 的 Hyper-V 模块
└Hyper-V Platform Hyper-V 平台
├Hyper-V Hypervisor Hyper-V 虚拟机监控程序
└Hyper-V Services Hyper-V 服务
Virtual Machine Platform 虚拟机平台
Windows Hypervisor Platform Windows 虚拟机监控程序平台
Windows Sandbox Windows 沙盒
Windows Subsystem for Linux 即 WSL 1
Hyper-V: 就是微软的 Hypervisor 。装了 Hyper-V 下面这两个东西就可以创建基于 Hyper-V 的虚拟机了。
Virtual Machine Platform: 要安装这个才能装 WSL2 [5]。Docker [6]也可以通过这个 API 运行。
Windows Hypervisor Platform:要安装这个才能让VMware等第三方虚拟机和 Hyper-V 共存。
Windows Sandbox: 可以理解为一个临时的虚拟机,关机即焚,在原系统中不留痕迹。我曾经以为它是基于 Hyper- V 的,现在看来不是。
Guarded Host: 这个貌似和虚拟机本身没什么关系。是用来保护远程主机的证书的。
Containers: 这个是 Windows 自己的容器[12]。
转自:https://zhuanlan.zhihu.com/p/381969738
VMware能独立通过自己的方式虚拟化。开启Windows的虚拟机平台后VMware就必须使用微软指定的方式虚拟化了
Hyper-V其实分两个部分:底层的虚拟机平台,以及上层的虚拟机管理软件。以前的Windows版本,这两个是同一个选项,现在的新版本则是分成Hyper-V和虚拟机平台两个选项。wsl2、沙盒本质上是基于Hyper-V的虚拟机,所以虚拟机平台要打开才能用。但作为Windows的两项特殊功能,无需额外使用管理软件对虚拟机进行管理。但也因此wsl2缺失了一些虚拟机常见功能,例如网络只能配置为NAT,不能指定IP/网段,虚拟磁盘管理等。另一个问题是Hyper-V是Type-I型的虚拟机,Host运行在虚拟机平台上,一方面性能有所下降,另一方面则是其它虚拟机软件可能会有所冲突。新版本的vmware workstation、virtualbox是没问题的,但旧版的,以及众多安卓模拟器就不好用了。
作者:木头龙
链接:https://www.zhihu.com/question/439585675/answer/2144365789
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
沙盒使用了硬件虚拟化技术,是隔离化的桌面环境,可在其中安装软件,同时无需担心长久影响设备。而 Windows 沙盒提供了轻型桌面环境,可安全地隔离运行应用程序。 Windows 沙盒环境中安装的软件保持"沙盒"状态,并独立于主机运行。
强烈推荐软件sandboxie,开源免费了。------我还没用过 之后试试
Windows 功能中的 “虚拟机平台” 功能的作用并不是向用户直接提供一个虚拟机工具,而是用来支持第三方虚拟机平台 (例如 VMware 等) 在 Windows 系统下运行。开启了此功能后,仍然需要您手动下载第三方虚拟机平台进行使用。
虚拟机平台:一般用不到,可以给Android Studio、QEMU等软件进行虚拟化加速
这个虚拟机平台其实就是一个精简版的Hyper-v。
官方介绍
https://learn.microsoft.com/zh-cn/virtualization/windowscontainers/about/https://learn.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server
微软在2016年的Ignite技术大会上正式发布了Windows Server 2016,其中的容器服务已经可以作为生产环境使用。这意味着Windows 内置的容器服务正式进入了大家的视野,虽然之前我们已经有了Docker for Windows,但是在这篇文章中我们要聊的并不是运行在Windows上面的Linux虚拟机里面的容器,而是原生的Windows容器。
Windows 提供2种类型的容器运行时模型。两种都叫Windows Container
其中,Windows Server Container 与大家所熟悉的Linux Contianer容器模型一致,容器与底层操作系统共享内核,所以它们会很轻量而且运行迅速。当你在容器中启动一个进程的时候,这个进程实际上运行在宿主机上,你可以使用任务管理器或者Powershell 命令 Get-Process 获取到这个进程的信息。
Hyper-V Contianer则是一种全新的容器运行时模型,它将在宿主机上启动一个很小的虚拟机,所以容器将具备自己独立的操作系统内核。当你在Hyper-V Container中启动进程的时候,宿主机对这个进程是无感知的。Hyper-V Container提供了更好的隔离性,而且这个虚拟机被裁减得非常小,所以性能仍然会不错。
在Windows Server 2016上,你可以在2种不同的运行时之间选择;而Windows 10上虽然也提供了容器服务,但是只能运行Hyper-V Contianer。
无论是哪种运行时,你都可以使用标准的Docker命令行进行操作,同时容器镜像的格式也和Linux容器镜像保持一致。这意味着Windows Container 可以通过 docker hub 分发,你之前在Linux容器上的经验积累也可以被继承到Windows容器上。
很多朋友都问过这个问题:我是不是可以在Windows容器服务中运行Linux应用,或者反过来。Docker很厉害,但还木有辣么厉害。你无法在Windows上直接运行Linux进程,同样你也无法在Windows Container中运行Linux进程。这个情况对于以上提到的2中运行时都适用,无论哪种运行时模型,底层操作系统都是Windows,所以你无法运行Linux进程。
这同样意味着,当前Docker Hub上面的大量镜像无法在Windows Container 中使用。微软已经开始在Docker Hub上提供Windows容器镜像,你可以使用同样的docker pull命令或者去这些镜像。比如:microsoft/windowservercore 镜像是一个完整的服务器镜像(大概3G大小),在这个镜像中你可以使用标准的msi安装包,通过Dockerfile来构建你自己镜像,可以安装和运行完整的.net framework和其他的Windows应用程序。microsoft/nanoserver 镜像则是一个精简版的操作系统镜像(大概300M),不提供msi支持,只能运行.net core应用,同时需要使用powershell进行管理。
参考 https://learn.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server
分版本 server好像能直接用
在win10 11上 需要docker destop中选择这个
目前windows的容器还很大 好像最少3G
请安装wsl和docker destop for windows
也就是linux子系统
更详细的看另一篇博客 本篇侧重讲的是与hyper v的关系
打开它不需要开启Hyper-V,只需开启虚拟机平台功能,因为Hyper-V是基于“虚拟化平台”中。
wsl2不需要开启 hyper-v指的是你不需要在 Windows 控制面板的程序与功能设置项里面安装hyper-v和对应的控制台工具
但是实际上wsl2底层还是hyper-v’实现的纯虚拟机,不信你可以看taskmgr里面vmmem 以及虚拟网卡vEthernet
本质上wsl2就是—个安装了不带桌面的linux发行版,它和你自己手动维护一个虚拟机的差别在于他自动映射了localhost这个域名,打通了wsl2和宿主win环境的网络名称,以及自动映射了一个叫做 wsl的samba共享文件夹,打通了文件系统
WSL 2/Docker本质上都是Hyper-V。
WSL 2是一个轻量级的Hyper-V VM;
旧版的Docker for Windows如果要跑Linux镜像,会安装运行一台运行Linux的Hyper-V虚拟机,用Hyper-V的管理工具是可以看到的。
win版的Docker Desktop从18.02开始,使用Windows容器模式,打开体验功能版本,可以直接使用内置的Linux内核跑Linux容器而无需在Hyper-V里面额外安装运行一台Linux VM。
使用wsl linux图形化的时候会使用到
作者:hhhhhhhhh
链接:https://www.zhihu.com/question/50144689/answer/119646291
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
区别在于 Cygwin 是把 Linux utility 编译成 windows native binary,然后这样你就可以在 windows 里面用 ls, curl, wget 之类的 Linux utility 了。(utility 换到 windows 的思维上就是 app)所以你在 Cygwin 下面能够看到 ls.exe, curl.exe, bash.exe之类的。假装自己再用 Linux。。。其实用的都是 windows binary。这也就相当于在用户接口(shell)这一层面做的虚拟化。然而 UoW 是在内核进行的虚拟化,把 Linux kernel call 直接转化成 NT kernel call,然后把 Ubuntu 的 user mode 直接扔在上面。所以我们在应用层或者 shell 层是完全看不见 windows 的影子的。是一个真真正正完完全全的 Ubuntu 系统。当然在不触碰内核的情况下。。。UoW 的好处在于。内核的接口肯定比用户层发展的慢,这样保证了兼容性。所以 UoW 上可以毫不费力的装上几乎所有的 Linux 的东西。UoW 应该是除了真正 Linux 系统以外,目前对 Linux 系统兼容最好的系统。(well,目前可能有争议,因为还有个别几个网络协议没有搞好。。。)然后因为微软和 Canonical 一起搞得。。。没人比这两家公司更了解 windows 和 Ubuntu 了吧。。。所以优化也是没得说,效率远高于 Cygwin 和其他的在虚拟方式。最后唯一的缺点在于。。。因为这个从内核层面就开始模拟,所以导致 UoW 与 windows 的文件系统,应用不兼容。也就是说两个系统几乎不能交互。唯一的交互只有微软提供的两个管道,一个是 bash.exe 另一个是 lxrun.exe但是 Cygwin 这一类在 shell 层面虚拟的因为这些都是 exe,所以可以直接在 windows 下调用,Cygwin 下也可以直接调用 windows 的 exe 文件。Cygwin 和 windows 用的是一样的 NTFS,所以完全不存在什么文件系统不兼容的问题。。。至于是不是反过来的 wine,这我不知道。。。不太了解 wine 怎么工作的。
VcXsrv是微软Windows的开源显示服务器。
VcXsrv可以运行安装了WSL(Linux子系统Linux)的Linux GUI程序。 在bash for Windows中,设置DISPLAY环境变量允许WSL程序使用Windows GUI。
安卓子系统 能和wsl共存(wsl和hyperv无法共存)
要在bios中开
任务管理器的cpu虚拟化
随着国产手机的崛起,越来愈多人使用国产安卓系统的手机,用安卓玩游戏的也越来越多。但是,手机玩游戏有时候不是很方便,所以便有了在电脑上安装安卓模拟器。而在使用安卓模拟器时,会要求开启VT虚拟机技术。那么模拟器vt是什么意思呢?
模拟器vt是什么意思
1、VT是英文virtualizationtechnology的缩写,其意思是CPU虚拟化技术,我们安装的手游助手就是通过虚拟化使得在电脑上玩手游有着更加流畅的体验,流畅度提升10倍都不为过。所以当我们的电脑上安装安卓模拟器的时候显然开启VT虚拟化技术非常重要。
2、值得一提的是,开启VT并不会对我们的电脑造成负面影响,大家放心即可。
3、传统的纯软件虚拟化方式(无需CPU支持VT技术)和硬件辅助虚拟化方式(需CPU支持VT技术)。纯软件虚拟化运行时的开销会造成系统运行速度较慢,有数据表明其引起的系统性能下降可能达5%-20%。所以,支持VT技术的CPU在