Hyper-V
Hyper-V,代号 Viridian,旧称 Windows Server Virtualization,是 Microsoft 的本地虚拟机管理程序,它可以在运行 x86-64 位的 Windows 上创建虚拟机。从 Windows 8 开始,Hyper-V 取代 Windows Virtual PC 作为 Windows 客户端版本的硬件虚拟化组件。可以配置运行 Hyper-V 的服务器计算机能够将单个虚拟机公开到一个或多个网络。Hyper-V 是与 Windows Server 2008 一起首次发布,自 Windows Server 2012 和 Windows 8 以来一直无需额外付费。独立的 Windows Hyper-V Server 是免费的,但仅具有命令行接口。
省流:Hyper-V 是微软自己系统的虚拟化工具
VMware
Vmware 是一家提供云计算和硬件虚拟化的软件和服务的公司。
下列的 Vmware 部分代指 Vmware Workstation
VMware Workstation 是 VMware 公司销售的商业软件产品之一。该工作站软件包含一个用于英特尔 x86 兼容电脑的虚拟机套装,其允许用户同时创建和运行多个 x86 虚拟机。每个虚拟机可以运行其安装的操作系统,如(但不限于)Windows、Linux、BSD 变生版本。用简单术语来描述就是,VMware Workstation 允许一台真实的电脑在一个操作系统中同时开启并运行数个操作系统,其它 VMware 产品帮助在多个宿主电脑之间管理或移植 VMware 虚拟机。免费版本为 VMware Workstation Player。
VMware Fusion 是 VMware 针对 Mac 电脑推出的一款虚拟机软件。
省流:Vmware 是针对商业化使用的虚拟化软件
Hyper-V VS VMware
Hyper-V 的优势
- Windows 8 及以上专业版自带,无需下载安装即可免费使用(开箱即用)
- 虚拟磁盘采用的是 vhd/vhdx 格式,可以直接挂载到 Windows 上读取文件(假如是 Linux 的话还是不可以的)
- 动态资源调度,可以动态调度内存和 CPU,自动分配资源。
- 挂起速度快,检查点效率较高
VMware 的优势
- 可以动态调整窗口大小(需要安装 open-vm-tools)
- 可以宿主机和虚拟机复制粘贴文件
- 可以直通 USB 设备(U 盘、网卡、蓝牙之类的)
- 可以通过 vmware-tools 调用 GPU,DirectX11 及以上版本可以调用主机显卡(Vulkan 在 VMware Workstation 17 是支持的)
- 支持更多操作系统,可以一键安装
Hyper-V 和 VMware 结构区别
省流 1:开了 Hyper-V 的 Windows 实际上的相当于是运行在 Hyper-V 中的虚拟化 Windows,即 Type1 中的 GuestOS VM。
省流 2:使用 VMware 是在系统层上跑的虚拟化软件,实际上相当于 Type2 中的 Hypervisor
所以开了 Hyper-V 后,Windows 性能会有一定降低,而 Vmware 是运行在 Host OS(宿主机系统)上的一个虚拟化软件,效率相对来说更高
(经过更新优化,现在 Hyper-V 性能降低感知不明显)
由于兼容性问题,两个 Hypervisor 层是不能共存的,这也就造成了 Hyper-V 系统和 VMware 不能同时使用。
于是 VMware 想了个招,将自己套在了 Hyper-V 中,再使用里面的资源虚拟化,这样就解决了 Hyper-V 和 VMware 共存的问题了。
(从 Vmware15 开始官方就解决了共存问题)
结构类似下图
由于现在 Windows 很多方便的功能如 WSL(Linux 的 Windows 子系统),WSA(Android 的 Windows 子系统),Docker on desktop 都需要用到 Hyper-V 技术,这也就让 VMware 嵌套一层 Hyper-V 变得无可厚非
更加详细的可以看 Revercc’s Blog 的内容
Hyper-V 与 VMware 的共存
由于 Hyper-V 虚拟机再开启了 Hyper-V 的情况下,相对于 VMware 有更好的资源调度优势,运行需要高性能的应用时有一定优势,而 VMware 在用户界面、管理、体验上均优于 Hyper-V,也成为平时使用的首选,可以经过设置在 VMware 和 Hyper-V 共享使用虚拟机
下列以 Kali Linux 为例
首先我们确保虚拟机的 Secure Boot 是关闭状态,并且磁盘格式为 VHD 格式,如果不是的话请用工具将其转化为 VHD 格式
Hyper-V Manager 里面既可以实现 VHD 格式和 VHDX 格式的相互转换
记住这边的 Firmware 框起来的设置,后面会有用的
在转换之后记得将虚拟机的磁盘修改为 VHD 格式
在 VMware 新建虚拟机,并且选择挂载你刚刚转换的 VHD 磁盘
Version 和 Firmware Type 要选对应的那个
如果是 BIOS 启动的话应该可以直接使用了,但是如果是 UEFI 要进行其他的设置
开机按 F2 进入 Boot Manager
Enter setup->Configure boot options->Add boot option-> 选择你的磁盘和文件(找回上面你 Hyper-V 的图,一般为第一个)
找到你的 EFI 文件并且选择 Commit changes and exit
再进入 Configure boot options->Change boot order 修改启动顺序,保存重启即可
然后两边都可以进入系统,两边都能正常使用了
在进入 VMware 后记得安装相关 vmware-tools 才能使用自动调节分辨率,调用 GPU 等一些相关功能
sudo apt update sudo apt install open-vm-tools -y
开始快乐使用 VMware 的各种功能而又可以充分利用 Hyper-V 的高性能咯