第 2 代虚拟机概述

 

适用对象:Windows Server 2012 R2

虚拟机代次决定了提供给虚拟机的虚拟硬件和功能。 在 Hyper-V 中,有两个支持的虚拟机代次:第 1 代和第 2 代。 第 2 代虚拟机具有简化的虚拟硬件模型,并支持统一可扩展固件接口 (UEFI) 固件(而不是基于 BIOS 的固件)。 还从第 2 代虚拟机中删除了大部分旧设备。

本主题介绍了关于第 2 代虚拟机的多种优势和要求。 对于 Windows Server 2016 Technical Preview 或 Windows 10 上的 Hyper-V ,请参阅 应在 Hyper-V 中创建第 1 代还是第 2 代虚拟机?

在以前版本的 Hyper-V 中,仅有一代虚拟机。 在 Windows Server 2012 R2 中,有两代虚拟机,当你创建新虚拟机时,可从中进行选择。

  • 第 1 代 为虚拟机提供的虚拟硬件与以前版本的 Hyper-V 中的虚拟硬件相同。

  • 第 2 代 在虚拟机上提供以下新增功能:

    • PXE 通过使用标准网络适配器启动

    • 从 SCSI 虚拟硬盘启动

    • 从 SCSI 虚拟 DVD 启动

    • 安全启动(默认启用)

    • UEFI 固件支持

备注

已删除 IDE 驱动器和传统网络适配器支持。

要求

支持将以下 Windows 来宾操作系统用作第 2 代虚拟机:

  • Windows Server 2012 R2

  • Windows Server 2012

  • 64 位版本的 Windows 8.1

  • 64 位版本的 Windows 8

  • 有关支持第 2 代虚拟机的 Linux 分发的信息,请参阅 Linux 和 FreeBSD HYPER-V 上的虚拟机

    警告

    除非安全启动选项处于禁用状态,否则不会启动第 2 代 Linux 虚拟机。

警告

创建虚拟机后,无法更改其代次。

第 2 代虚拟机的功能

PXE 通过使用标准网络适配器启动

在以前版本的 Hyper-V 中,如果你想要使用 PXE 启动执行来宾操作系统的远程安装,你需要安装旧版网络适配器。 旧版网络适配器在第 2 代虚拟机中不可用。 第 2 代虚拟机使用标准网络适配器支持 PXE 启动。

从 SCSI 控制器启动

在以前版本的 Hyper-V 中,你无法从 SCSI 附加的虚拟硬盘或 DVD 中启动虚拟机。

第 2 代虚拟机可以从虚拟硬盘或附加到 SCSI 控制器的 DVD 中启动。 虚拟的集成驱动电子设备 (IDE) 控制器在第 2 代虚拟机中不可用。

安全启动

安全启动是一项可帮助防止在启动时运行未经授权的固件、操作系统或 UEFI 驱动程序(也称为选项 ROM)的功能。

备注

默认情况下,针对第 2 代虚拟机启用安全启动。 可在创建虚拟机之后对此进行修改。 有关详细信息,请参阅安全启动

设备支持对比

下面是第 1 代和第 2 代虚拟机之间的设备对比。

第 1 代设备

第 2 代替换设备

第 2 代增强功能

IDE 控制器

虚拟 SCSI 控制器

从 .vhdx(64 TB 的最大大小和联机调整大小功能)中启动

IDE CD-ROM

虚拟 SCSI CD-ROM

每个 SCSI 控制器最多支持 64 个 SCSI DVD 设备。

传统 BIOS

UEFI 固件

安全启动

旧版网络适配器

合成网络适配器

使用 IPv4 和 IPv6 的网络启动

软盘控制器和 DMA 控制器

不支持软盘控制器

适用于 COM 端口的通用异步收发器 (UART)

用于调试的可选 UART

更快且更可靠

i8042 键盘控制器

基于软件的输入

使用较少的资源,因为没有任何模拟。 还减少来自来宾操作系统的攻击面。

PS/2 键盘

基于软件的键盘

使用较少的资源,因为没有任何模拟。 还减少来自来宾操作系统的攻击面。

PS/2 鼠标

基于软件的鼠标

使用较少的资源,因为没有任何模拟。 还减少来自来宾操作系统的攻击面。

S3 视频

基于软件的视频

使用较少的资源,因为没有任何模拟。 还减少来自来宾操作系统的攻击面。

PCI 总线

不再需要

可编程中断控制器 (PIC)

不再需要

可编程间隔计时器 (PIT)

不再需要

超级 I/O 设备

不再需要

第 2 代常见问题

下面是有关第 2 代虚拟机的一些常见问题。

是否可以一起运行第 1 代和第 2 代虚拟机?

是的。 这是预期情况,因为第 2 代并不支持 Hyper-V 支持的所有来宾操作系统。 需要在第 1 代虚拟机中安装不受第 2 代虚拟机支持的来宾操作系统。

第 2 代虚拟机的性能是否有所提高?

在每日运行虚拟机时,第 1 代和第 2 代虚拟机之间没有性能差异。 你可能会在第 2 代虚拟机的虚拟机启动和安装时间方面看到一些改进。

使用第 2 代虚拟机的好处是什么?

下面是使用第 2 代虚拟机的好处:

  • 可以从 SCSI 设备或标准网络适配器启动虚拟机。

  • 当安全启动处于启用状态时,有助于防止在启动时运行未经授权的固件、操作系统或 UEFI 驱动程序。

如何通过在第 2 代虚拟机上使用 COM 端口来启用内核调试?

默认情况下,COM 端口在第 2 代虚拟机中不可见。 可以通过使用 Windows PowerShell 或 Windows Management Instrumentation (WMI) 来配置 COM 端口。

若要使用 COM 端口启用内核调试,请按照以下步骤进行操作:

  1. 禁用安全启动。 内核调试与安全启动不兼容,因此必须在虚拟机中禁用安全启动。 当虚拟机处于关闭状态时,使用 Set-VMFirmware Windows PowerShell cmdlet 来禁用安全启动。 例如,以下命令将在虚拟机 TestVM 上禁用安全启动:

    Set-VMFirmware –Vmname TestVM –EnableSecureBoot Off
    
  2. 配置 COM 端口。 使用 Set-VMComPort Windows PowerShell cmdlet 将 COM 端口添加到虚拟机。 例如,以下命令将在虚拟机 TestVM 上配置第一个 COM 端口,以在本地计算机上连接到名为 TestPipe 的命名管道:

    Set-VMComPort –VMName TestVM 1 \\.\pipe\TestPipe
    

备注

在 Hyper-V 管理器控制台中查看虚拟机的设置时,已配置的 COM 端口不可见。

第 2 代虚拟机是否支持 RemoteFX?

不能。 第 2 代虚拟机不支持 RemoteFX。

是否可以将物理 CD 或 DVD 驱动器附加到第 2 代虚拟机中?

不能。 第 2 代虚拟机中的虚拟 DVD 驱动器仅支持 ISO 映像文件。 若要创建 Windows 环境的 ISO 映像文件,可以使用 Oscdimg 命令行工具。 有关详细信息,请参阅 Oscdimg 命令行选项

是否可以将采用 VHD 格式的虚拟硬盘附加到第 2 代虚拟机中?

不能。 第 2 代虚拟机仅支持 VHDX 格式的虚拟硬盘驱动器。 你可以在 Hyper-V 管理器控制台中使用“编辑虚拟硬盘向导”来将 VHD 文件转换为 VHDX 格式,或者使用 Convert-VHD Windows PowerShell cmdlet。

已从 VHD 文件转换的 VHDX 文件是否可以用于启动第 2 代虚拟机?

不能。 需要对操作系统进行干净安装。

在运行第 2 代虚拟机时,是否可以调整包含该虚拟机启动卷的 VHDX 文件的大小?

是的。

第 2 代虚拟机支持的 VHDX 文件的最大大小是多少?

64 TB

是否可以创建可同时启动第 1 代和第 2 代虚拟机的 VHDX 文件?

尽管从技术上讲可以执行此操作,但可能会发生意外错误。 因此,不支持也不建议使用可同时启动到第 1 代和第 2 代虚拟机的 VHDX 文件。

是否可以装载由第 2 代虚拟机使用的 VHDX 文件?

是的。 VHDX 文件是一个用于磁盘的容器,因此,它可以进行装载,而无需考虑虚拟机代次。

是否可以分辨出某个 VHDX 文件是由第 1 代还是由第 2 代虚拟机创建?

不能。 虚拟机代次是虚拟机的属性,而不是虚拟硬盘的属性。

第 2 代 VHDX 文件是否可以附加到第 1 代虚拟机中?

是的。 VHDX 文件可以附加到第 1 代虚拟机的 IDE 控制器或 SCSI 控制器中。 但是,如果这是可启动的 VHDX 文件,将不会启动第 1 代虚拟机。

是否可以将第 2 代虚拟机导入 Windows Server 2012 中的 Hyper-V?

不能。 第 2 代虚拟机是 Windows Server 2012 R2 中的新功能。

物理主机上是否需要安全启动或 UEFI 固件?

不能。 虚拟固件及其配置独立于物理平台。

第 2 代虚拟机中的 UEFI 固件是否支持安全启动的安装模式?

不能。

是否可以在第 2 代虚拟机中运行 UEFI shell 或其他 UEFI 应用程序?

Microsoft 不提供也不支持 UEFI shell 或其他 UEFI 应用程序。 使用非 Microsoft UEFI shell 或 UEFI 应用程序从技术上讲是可行的(如果它们直接从源进行编译)。 如果这些应用程序没有相应地进行数字签名,你将需要针对该虚拟机禁用安全启动。

第 2 代虚拟机的启动项存储在何处?

第 2 代虚拟机的启动项存储在虚拟机的配置文件中。

新虚拟机的默认代次是什么?

默认情况下,使用“新建虚拟机向导”或 NEW-VM Windows PowerShell cmdlet 创建第 1 代虚拟机。 在“新建虚拟机向导”中,你可以在“指定代次”页面上选择“第 2 代”。 在 Windows PowerShell 中,你可以使用 –Generation 参数来指定虚拟机的代次。

是否可以在创建虚拟机后更改其代次?

不能。

为什么不支持 64 位版本的 Windows Server 2008 R2 和 Windows 7 作为第 2 代来宾操作系统?

尽管 Windows Server 2008 R2 和 Windows 7 支持 UEFI,但它们依赖于未在第 2 代虚拟机硬件中提供的可编程中断控制器 (PIC)。

为什么不支持 32 位版本的 Windows 8.1 和 Windows 8 作为第 2 代虚拟机的来宾操作系统?

第 2 代虚拟机在 32 位来宾操作系统上不受支持,因为仅 64 位的 UEFI 固件不具有兼容性支持模块。

是否可以使用第 2 代 Linux 虚拟机?

有关支持第 2 代虚拟机的 Linux 分发的信息,请参阅 Linux 和 FreeBSD HYPER-V 上的虚拟机

警告

默认情况下,在第 2 代虚拟机中启用安全启动,并且除非已禁用安全启动选项,否则不会启动 Linux 虚拟机。

你可以在 Hyper-V 管理器中虚拟机设置的“固件”部分禁用安全启动,也可以使用 Powershell 来禁用它:

Set-VMFirmware -VMName "VMname" -EnableSecureBoot Off

第 2 代虚拟机最多可以支持几个网络适配器?

八个。 此外,第 2 代虚拟机不支持旧版网络适配器。

第 2 代虚拟机最多可以支持几个存储设备、VHDX 文件或 DVD 驱动器?

256。第 2 代虚拟机最多支持四个 SCSI 控制器,每个控制器支持 64 个设备。 第 2 代虚拟机可以有四个以上的 DVD 驱动器。

使用 New-VM Windows PowerShell cmdlet 创建新虚拟机时,为什么第 2 代虚拟机没有 DVD 驱动器?

在第 2 代虚拟机上,你可以在运行该虚拟机时添加 DVD 驱动器。

第 2 代虚拟机是否支持 iSCSI 或光纤通道启动?

不能。

是否可以执行使用 IPv6 的网络安装?

是的。 默认情况下,第 2 代虚拟机使用 IPv4。 通过使用 Set-VMFirmware Windows PowerShell cmdlet,你可以将虚拟机设置为使用 IPv6 而非 IPv4。 例如,以下命令将为一台名为 TestVM 的虚拟机将首选协议设置为 IPv6:

Set-VMFirmware –VMName TestVM –IPProtocolPreference IPv6

针对第 2 代虚拟机的无人参与安装,是否可以将虚拟软盘 (.vfd) 用作应答文件?

不能。 第 2 代虚拟机不支持虚拟软盘驱动器。 作为替代方法,可在 DVD 驱动器中使用 ISO 映像文件。