是否应在 Hyper-V 中创建第 1 代或第 2 代虚拟机?
Posted 玩电脑的辣条哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否应在 Hyper-V 中创建第 1 代或第 2 代虚拟机?相关的知识,希望对你有一定的参考价值。
适用于: Windows server 2022、Windows 10、Windows Server 2016、Microsoft Hyper-V Server 2016、Windows server 2019、Microsoft Hyper-V server 2019
备注
如果你计划将 Windows 虚拟机上传 (vm) 本地到 Microsoft Azure、第1代和第2代 vm (VHD 文件格式)并支持固定大小的磁盘。 请参阅 azure 上的第2代 vm ,了解有关 Azure 支持的第2代功能的详细信息。 有关上传 Windows vhd 或 vhdx 的详细信息,请参阅准备 Windows vhd 或 vhdx 上传到 Azure。
创建第1代或第2代虚拟机的选择取决于要安装的来宾操作系统以及要用于部署虚拟机的启动方法。 建议创建第2代虚拟机,以便充分利用安全启动等功能,除非满足以下任一陈述:
要从其启动的 VHD 不是 UEFI 兼容的。
第2代不支持要在虚拟机上运行的操作系统。
第2代不支持您要使用的启动方法。
有关第2代虚拟机可用功能的详细信息,请参阅 hyper-v 功能按代和来宾提供兼容性。
创建虚拟机后,无法对其进行更改。 因此,我们建议你在选择代之前查看此处的注意事项,并选择要使用的操作系统、启动方法和功能。
支持哪些来宾操作系统?
第1代虚拟机支持大多数来宾操作系统。 第2代虚拟机支持大多数64位版本的 Windows 和更高版本的 Linux 和 FreeBSD 操作系统。 使用以下部分来了解哪一代虚拟机支持你想要安装的来宾操作系统。
Windows 来宾操作系统支持
CentOS 和 Red Hat Enterprise Linux 来宾操作系统支持
Debian 来宾操作系统支持
FreeBSD 来宾操作系统支持
Oracle Linux 来宾操作系统支持
SUSE 来宾操作系统支持
Ubuntu 来宾操作系统支持
Windows 来宾操作系统支持
下表显示了可用作第1代和第2代虚拟机的来宾操作系统的 Windows 64 位版本。
64位版本的 Windows 第 1 代 第 2 代
Windows Server 2022 ✔ ✔
Windows Server 2019 ✔ ✔
Windows Server 2016 ✔ ✔
Windows Server 2012 R2 ✔ ✔
Windows Server 2012 ✔ ✔
Windows Server 2008 R2 ✔ ✖
Windows Server 2008 ✔ ✖
Windows 11 ✖ ✔
Windows 10 ✔ ✔
Windows 8.1 ✔ ✔
Windows 8 ✔ ✔
Windows 7 ✔ ✖
下表显示了可用作第1代和第2代虚拟机的来宾操作系统的 Windows 32 位版本。
32位版本的 Windows 第 1 代 第 2 代
Windows 10 ✔ ✖
Windows 8.1 ✔ ✖
Windows 8 ✔ ✖
Windows 7 ✔ ✖
CentOS 和 Red Hat Enterprise Linux 来宾操作系统支持
下表显示了哪些版本的 Red Hat Enterprise Linux (RHEL) 和 CentOS 可以用作第1代和第2代虚拟机的来宾操作系统。
操作系统版本 第 1 代 第 2 代
RHEL/CentOS 3.x 系列 ✔ ✔
RHEL/CentOS 7、windows 系列 ✔ ✔
RHEL/CentOS 1.x 系列 ✔ ✔
注意:仅在 Windows Server 2016 和更高版本上受支持。
RHEL/CentOS 5. x 系列 ✔ ✖
有关详细信息,请参阅 CentOS 和 Red Hat Enterprise Hyper-V 上的 Linux 虚拟机。
Debian 来宾操作系统支持
下表显示了哪些 Debian 版本可以用作第 1 代和第 2 代虚拟机的来宾操作系统。
操作系统版本 第 1 代 第 2 代
Debian 10.x () 系列 ✔ ✔
Debian 9.x (stretch) 系列 ✔ ✔
Debian 8.x () 系列 ✔ ✔
Debian 7.x (wheezy) 系列 ✔ ✖
有关详细信息,请参阅 Hyper-V 上的 Debian 虚拟机。
FreeBSD 来宾操作系统支持
下表显示了哪些版本的 FreeBSD 可以用作第 1 代和第 2 代虚拟机的来宾操作系统。
操作系统版本 第 1 代 第 2 代
FreeBSD 12 到 12.1 ✔ ✔
FreeBSD 11.1 到 11.3 ✔ ✔
FreeBSD 11 ✔ ✖
FreeBSD 10 到 10.3 ✔ ✖
FreeBSD 9.1 和 9.3 ✔ ✖
FreeBSD 8.4 ✔ ✖
有关详细信息,请参阅 Hyper-V 上的 FreeBSD 虚拟机。
Oracle Linux来宾操作系统支持
下表显示了哪些 Red Hat 兼容内核系列版本可以用作第 1 代和第 2 代虚拟机的来宾操作系统。
Red Hat 兼容的内核系列版本 第 1 代 第 2 代
Oracle Linux 8.x 系列 ✔ ✔
Oracle Linux 7.x 系列 ✔ ✔
Oracle Linux 6.x 系列 ✔ ✖
下表显示了哪些版本的 Unbreakable Enterprise 内核可以用作第 1 代和第 2 代虚拟机的来宾操作系统。
Unbreakable Enterprise Kernel (UEK) 版本 第 1 代 第 2 代
Oracle Linux UEK R3 QU3 ✔ ✖
Oracle Linux UEK R3 QU2 ✔ ✖
Oracle Linux UEK R3 QU1 ✔ ✖
有关详细信息,请参阅Oracle Linux Hyper-V 上的虚拟机。
SUSE 来宾操作系统支持
下表显示了哪些版本的 SUSE 可以用作第 1 代和第 2 代虚拟机的来宾操作系统。
操作系统版本 第 1 代 第 2 代
SUSE Linux Enterprise Server 15 系列 ✔ ✔
SUSE Linux Enterprise Server 12 系列 ✔ ✔
SUSE Linux Enterprise Server 11 系列 ✔ ✖
打开 SUSE 12.3 ✔ ✖
有关详细信息,请参阅 Hyper-V 上的 SUSE 虚拟机。
Ubuntu 来宾操作系统支持
下表显示了哪些版本的 Ubuntu 可以用作第 1 代和第 2 代虚拟机的来宾操作系统。
操作系统版本 第 1 代 第 2 代
Ubuntu 20.04 ✔ ✔
Ubuntu 18.04 ✔ ✔
Ubuntu 16.04 ✔ ✔
Ubuntu 14.04 ✔ ✔
Ubuntu 12.04 ✔ ✖
有关详细信息,请参阅 Hyper-V 上的 Ubuntu 虚拟机。
如何启动虚拟机?
下表显示了第 1 代和第 2 代虚拟机支持哪些启动方法。
启动方法 第 1 代 第 2 代
PXE 通过使用标准网络适配器启动 ✖ ✔
使用旧网络适配器启动 PXE ✔ ✖
从 SCSI 虚拟硬盘启动 (。VHDX) 或虚拟 DVD (。ISO) ✖ ✔
从 IDE 控制器虚拟硬盘 (。VHD) 或虚拟 DVD (。ISO) ✔ ✖
从软盘启动 (。VFD) ✔ ✖
使用第 2 代虚拟机的优点是什么?
以下是使用第 2 代虚拟机时获得的优势:
安全启动
这是一项功能,可验证启动加载程序是否由 UEFI 数据库中受信任的颁发机构签名,以帮助防止未经授权的固件、操作系统或 UEFI 驱动程序在启动时运行。 默认情况下,针对第 2 代虚拟机启用安全启动。 如果需要运行安全启动不支持的来宾操作系统,可以在创建虚拟机后禁用它。 有关详细信息,请参阅安全启动。
若要保护第 2 代 Linux 虚拟机的启动,需要在创建虚拟机时选择"UEFI CA 安全启动"模板。
启动卷越大 第 2 代虚拟机的最大启动卷为 64 TB。 这是 支持的最大磁盘大小。VHDX。 对于第 1 代虚拟机,的最大启动卷为 2TB。的 VHDX 和 2040GB。VHD。 有关详细信息,请参阅 Hyper-V 虚拟硬盘格式概述。
对于第 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 代虚拟机的一些其他提示。
附加或添加 DVD 驱动器
无法将物理 CD 或 DVD 驱动器附加到第 2 代虚拟机。 第 2 代虚拟机中的虚拟 DVD 驱动器仅支持 ISO 映像文件。 若要创建环境环境Windows ISO 映像文件,可以使用 Oscdimg 命令行工具。 有关详细信息,请参阅 Oscdimg 命令行选项。
使用 New-VM Windows PowerShell cmdlet 创建新的虚拟机时,第 2 代虚拟机没有 DVD 驱动器。 可以在虚拟机运行时添加 DVD 驱动器。
使用 UEFI 固件
物理 Hyper-V 主机上不需要安全启动或 UEFI 固件。 Hyper-V 为独立于 Hyper-V 主机上的虚拟机提供虚拟固件。
第 2 代虚拟机中的 UEFI 固件不支持安全启动的设置模式。
我们不支持在第 2 代虚拟机中运行 UEFI shell 或其他 UEFI 应用程序。 使用非 Microsoft UEFI shell 或 UEFI 应用程序从技术上讲是可行的(如果它们直接从源进行编译)。 如果这些应用程序未正确进行数字签名,则必须为虚拟机禁用安全启动。
使用 VHDX 文件
可以在虚拟机运行时重设 VHDX 文件的大小,该文件包含第 2 代虚拟机的启动卷。
我们不支持或建议你创建一个可启动到第 1 代和第 2 代虚拟机的 VHDX 文件。
虚拟机代次是虚拟机的属性,而不是虚拟硬盘的属性。 因此,无法判断 VHDX 文件是由第 1 代还是第 2 代虚拟机创建的。
使用第 2 代虚拟机创建的 VHDX 文件可以附加到第 1 代虚拟机的 IDE 控制器或 SCSI 控制器。 但是,如果这是可启动的 VHDX 文件,则第 1 代虚拟机不会启动。
使用 IPv6 而不是 IPv4
默认情况下,第 2 代虚拟机使用 IPv4。 若要改为使用 IPv6,请运行 Set-VMFirmware Windows PowerShell cmdlet。 例如,以下命令将名为 TestVM 的虚拟机的首选协议设置为 IPv6:
PowerShell
Set-VMFirmware -VMName TestVM -IPProtocolPreference IPv6
添加用于内核调试的 COM 端口
在添加 COM 端口之前,COM 端口在第 2 代虚拟机中不可用。 可以使用 WMI Windows PowerShell 或 Windows Management Instrumentation (来) 。 这些步骤将展示如何使用 Windows PowerShell。
添加 COM 端口:
禁用安全启动。 内核调试与安全启动不兼容。 请确保虚拟机的状态为"关闭",然后使用 Set-VMFirmware cmdlet。 例如,以下命令在虚拟机 TestVM 上禁用安全启动:
PowerShell
Set-VMFirmware -Vmname TestVM -EnableSecureBoot Off
添加 COM 端口。 使用 Set-VMComPort cmdlet 完成此操作。 例如,以下命令将虚拟机上的第一个 COM 端口 TestVM 配置为连接到本地计算机上命名管道 TestPipe:
PowerShell
Set-VMComPort -VMName TestVM 1 \\\\.\\pipe\\TestPipe
备注
配置的 COM 端口未列在 Hyper-V 管理器中虚拟机的设置中。
以上是关于是否应在 Hyper-V 中创建第 1 代或第 2 代虚拟机?的主要内容,如果未能解决你的问题,请参考以下文章
在 OS X 10.9.4 中创建第一个 android 应用程序时出现 java.lang.NullPointerException