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的测试版附带了某些x86-64版本的Windows Server 2008。最终版本于2008 年6月26日发布，并通过Windows Update提供。 Hyper-V自发布后每一代Windows均包含该程序。

微软通过两个渠道提供Hyper-V，一是作为Windows Server 2008及其之后的Windows版本中的一个可选组件，它同时在x64的Windows 8、Windows 8.1和Windows 10的專業版、企業版上作為可選元件；另一个是Hyper-V服务器，它是一个Windows Server的免费程序版本，但功能有限。

Hyper-V Server 
Hyper-V Server 2008于2008年10月1日发布，它由Windows Server 2008核心服务及Hyper-V组成，而其他的Windows Server 2008组件则被禁用，并且Windows服务有限。 Hyper-V Server 2008仅限于用于配置主机操作系统、物理硬件和软件的命令行接口。菜单驱动的CLI接口和一些可自由下载的脚本文件简化了配置。此外，Hyper-V Server支持通过远程桌面连接进行远程访问。但是，主机操作系统和来宾虚拟机的管理和配置通常是使用Microsoft管理控制台通过网络在另一台Windows计算机或系统中心虚拟机管理器上完成的，这样可以更轻松地进行“指向和单击”配置，并且可以监视Hyper-V Server。

Hyper-V Server 2008 R2（Windows Server 2008 R2 的一个版本）于2009年9月推出，包括Windows PowerShell v2，用于更大的CLI控制。远程访问Hyper-V服务器需要网络接口和Windows防火墙的CLI配置。此外，也不完全支持使用Windows Vista计算机来管理Hyper-V Server 2008 R2。

架构

Hyper-V以分区的方式实现虚拟机的隔离。分区是由hypervisor支持的逻辑隔离单元，每个客户操作系统都在其中执行。在每个hypervisor实例中，必须至少有一个运行有Windows系统的根分区（或叫父分区）。虚拟化服务提供程序和虚拟机管理服务运行在父分区中，并为子分区提供支持。父分区创建子分区来托管客户操作系统。父分区使用hypercall API创建子分区。

分区无法访问物理处理器，也不处理处理器中断。它们拥有对处理器的虚拟视图，并在每个客户分区私有的虚拟内存地址区域中运行。虚拟机管理程序处理对处理器的中断，并将它们重定向到各自的分区。子分区无法直接访问其他硬件资源，而是通过虚拟设备访问。对虚拟设备的请求要么通过VMBus，要么通过虚拟机管理程序重定向到父分区中的设备，由其处理这些请求。 

在Windows系统开启Hyper-V后，作为宿主操作系统的Windows系统会运行在一个虚拟机之中，在Hyper-V虚拟化层之上运行。因此，一些易受延迟影响的高精度应用程序可能会出现问题。宿主机仍然可以直接访问所有硬件。

向后兼容性 
与Microsoft Virtual Server和Windows Virtual PC一样，Hyper-V 将每个来宾操作系统保存到单个虚拟硬盘文件中。它支持较旧的.vhd格式，以及较新的.vhdx。可以在Hyper-V中复制和使用Virtual Server 2005、Virtual PC 2004和Virtual PC 2007中的较旧.vhd文件，但必须从虚拟机中删除任何较旧的虚拟机集成软件（相当于Hyper-V Integration Services）。使用Hyper-V配置并启动迁移的来宾OS后，来宾OS将检测到（虚拟）硬件的更改。安装“ Hyper-V集成服务”将安装五项服务以提高性能，同时添加新的来宾视频和网卡驱动程序。

客户端操作系统 
Windows 8 专业版或企业版或更高版本的64位SKU带有一个特殊版本的Hyper-V。

参考资料 

虛擬化軟體
Windows组件
Windows服务器