Hyper-V 之三:第一代和第二代的区别

缘起

书接上回,我把我的一个 VirtualBox 虚拟机硬盘,里面安装的是 Windows 10,转换为 Hyper-V 的 VHDX 文件,挂载到 Hyper-V 虚拟机上面,选择的是第二代,成功运行起来了。

我有好几个 VirtualBox 的 Windows 虚拟机,因为我测试不同的程序,使用不同的虚拟机,这样避免因为系统的问题导致程序测试出问题。

问题

因此,再接再厉,再搞一个。按照前文的步骤,转换完成,在 Hyper-V 里面创建一个新的虚拟机,还是选择第二代,挂载转换好的硬盘,启动虚拟机 ...  ... 。。。。。。

虚拟机显示:找不到 BOOT 硬盘。

原文我不记得了,反正就是这个意思。

对比

我启动之前转换成功的那个虚拟机的 VirtualBox 机,在磁盘管理里面,查看它的硬盘,发现 C 盘的前面有一个没有盘符的独立的分区,上面有显示 EFI;

启动第二次转换后没成功启动的那个虚拟机的 VirtualBox 虚拟机,启动后,进入系统,在磁盘管理器查看它的硬盘,发现 C 盘前面也有一个没有盘符的独立的分区,显示 NTFS,没有 EFI 字样。

看得出来,大概是因为系统启动时,BIOS 和 UEFI 两种方式不同导致。

测试

在 Hyper-V 里面,新建虚拟机,这次选择第一代。然后挂载之前不能启动的那个虚拟机硬盘 VHDX 文件。启动虚拟机,成功!

对于这个问题,AI 的回答

### Hyper-V 的虚拟机:第一代与第二代的区别

Hyper-V 提供了两种类型的虚拟机:**第一代**(Generation 1)和 **第二代**(Generation 2)。它们的主要区别在于 **硬件架构** 和 **启动模式**,以及如何与现代操作系统(如 Windows 10)兼容。

#### 1. **启动方式(BIOS vs. UEFI)**
   - **第一代虚拟机**:使用传统的 **BIOS** 启动方式(Legacy BIOS)。这种模式要求虚拟机使用 **MBR** 分区(主引导记录),并且通过 BIOS 方式来加载启动文件。对于较旧的操作系统或以 BIOS 模式安装的操作系统(如一些老版本的 Windows 或某些 Linux 版本),第一代虚拟机是最佳选择。
   - **第二代虚拟机**:使用 **UEFI** 启动方式(统一可扩展固件接口)。这使得虚拟机能够支持 **GPT** 分区(GUID 分区表),并且支持更现代的安全功能,比如 **Secure Boot**(安全启动)。对于 Windows 8 及更高版本的操作系统,或者启用了 UEFI 安全启动的虚拟机,第二代虚拟机是理想的选择。

#### 2. **分区表要求**
   - **第一代虚拟机**:通常使用 **MBR** 分区表,这与传统的 BIOS 启动方式兼容。
   - **第二代虚拟机**:要求硬盘使用 **GPT** 分区表,因为 UEFI 启动只支持 GPT 分区。使用 GPT 分区表的好处是,它支持大于 2TB 的磁盘,并且具有更高的稳定性和灵活性。

#### 3. **硬盘控制器类型**
   - **第一代虚拟机**:使用 **IDE 控制器** 来连接虚拟硬盘。
   - **第二代虚拟机**:使用 **SCSI 控制器** 来连接虚拟硬盘,并且还允许连接更现代的硬件设备,如网络适配器和 DVD 驱动器。

#### 4. **操作系统兼容性**
   - **第一代虚拟机**:兼容老旧的操作系统,比如 **Windows XP**、**Windows 7** 以及其他传统 BIOS 启动的操作系统。
   - **第二代虚拟机**:适用于 Windows 8 及以后的版本,尤其是那些支持 UEFI 启动的操作系统。对于 Windows 10 和 Windows Server 2012 及更新版本,第二代虚拟机能提供更好的支持。

#### 5. **功能支持**
   - **第二代虚拟机** 支持更多现代的虚拟化功能,例如 **Secure Boot** 和 **PXE 网络启动**(通过 UEFI),而这些功能在第一代虚拟机中不可用。

#### 6. **性能和安全性**
   - **第二代虚拟机** 在使用 UEFI 启动的情况下,提供了一些额外的性能和安全性增强。例如,支持 **Secure Boot**,可以防止未经授权的操作系统或恶意软件在虚拟机中运行。
   - **第一代虚拟机** 则不支持这些现代的安全和性能特性。

### 你遇到的问题分析

你的虚拟机无法启动,很可能是因为 **第二代虚拟机** 的启动模式是 **UEFI**,而原先的虚拟硬盘可能是在 **BIOS(Legacy)模式** 下创建的,硬盘的分区表是 **MBR** 而不是 **GPT**,这导致 Hyper-V 无法找到正确的启动分区并报错。因此,在选择 **第一代虚拟机** 时,Hyper-V 默认使用传统的 BIOS 启动模式,这与 MBR 分区的硬盘更兼容,因此虚拟机能够成功启动。

### 结论

- **第一代虚拟机**:使用传统的 BIOS 启动模式,适用于 MBR 分区的硬盘,兼容老旧操作系统,不能使用 UEFI 的一些高级功能(如 Secure Boot)。
- **第二代虚拟机**:使用 UEFI 启动模式,要求硬盘使用 GPT 分区,适用于较新的操作系统(如 Windows 8 及更高版本),支持现代虚拟化功能。

结论

都是在 VirtualBox 里面安装的 Windows,都是 Windows 系统启动盘:

如果安装时,硬盘分区采用的是 BIOS 模式下的 MBR,则这个虚拟机硬盘转换为 VHDX 给 Hyper-V 使用时,需要创建第一代虚拟机,才能启动这个虚拟硬盘里面的 BIOS;

如果 VirtualBox 里面安装的 Windows 是使用 GPT 分区,适合 UEFI 启动模式的,转换后的虚拟硬盘文件就可以挂载到 Hyper-V 的第二代虚拟机里面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值