创建 Hyper-V 虚拟机时,“第一代(Generation 1)还是第二代(Generation 2)”不是性能档位,而是虚拟硬件与固件模型。代数一旦创建不能直接切换,所以应在安装系统前决定。
一、主要区别
第一代模拟传统 BIOS,启动磁盘通常接在虚拟 IDE 控制器,兼容较旧操作系统和传统启动镜像。第二代使用虚拟 UEFI,支持安全启动、虚拟 TPM、从虚拟 SCSI 启动以及更现代的设备模型。
对受支持的新 Windows 和主流现代 Linux,通常优先第二代。以下情况可能选择第一代:
- 旧操作系统不支持 UEFI。
- 已有系统盘采用传统 BIOS/MBR 启动,且不准备转换。
- 使用的启动介质或部署流程不兼容第二代。
二、磁盘文件不能说明代数
VHDX 只是虚拟磁盘格式。一个 VHDX 能否启动取决于盘内分区和引导方式、虚拟机固件及控制器组合,不能看到 .vhdx 就判断属于第二代。把 BIOS/MBR 系统盘直接挂到第二代虚拟机,常见结果是找不到启动设备。
检查物理或原系统时,可查看磁盘是 MBR 还是 GPT、系统是否以 UEFI 启动。迁移转换要有完整备份,先在副本上验证,不能拿唯一生产磁盘试错。
三、创建时选择
Hyper-V 管理器中选择“新建(New)→ 虚拟机(Virtual Machine)”,在“指定代数(Specify Generation)”页面选择。PowerShell:
New-VM -Name 'Lab-Gen2' -Generation 2 -MemoryStartupBytes 4GB `
-NewVHDPath 'D:\VMs\Lab-Gen2\disk.vhdx' -NewVHDSizeBytes 64GB
创建后用 Get-VM -Name Lab-Gen2 | Select Name,Generation 核对。
四、第二代安装失败怎么排
先确认 ISO 支持 UEFI 引导,虚拟 DVD 已放到启动顺序前面,并检查安全启动模板。Windows 通常使用 Microsoft Windows 模板;受支持 Linux 通常选择 Microsoft UEFI Certificate Authority。不要因为一次启动失败就永久关闭所有安全功能。
网络 PXE、恢复介质和克隆模板也要分别验证。代数是虚拟机属性,不随导出说明自动变成另一代;跨平台迁移尤其要记录原来的固件类型。
本文为中文原创教程。选择依据参考 Microsoft Learn:Should I create a generation 1 or 2 VM?。
评论一下?