hyper-v实战系列:第一代虚拟机转第二代步骤
hyper-v两代不同虚拟机说明
hyper-v中的虚拟机有两种形式,分别是第一代虚拟机(generation 1, 即传统bios引导),第二代虚拟机(generation 2, 即uefi引导)。
关于这两代虚拟机的优缺点和支持的操作系统,因为官网上已经有非常详细的说明,我这里就不再赘述了,直接去看msdn官方文档即可:是否应在 Hyper-V 中创建第 1 代或第 2 代虚拟机? | Microsoft Learn
代数选择推荐
我的建议是windows 8及windows server 2012之后版本的系统使用第2代的方式来安装,windows 7或windows server 2008R2之前版本的系统使用第1代的方式来安装。
系统环境说明
我的hyper-v宿主机系统是windows 11 24h2工作站专业版,其hyper-v版本为12.0,待转换的1代虚拟机系统为win10 ltsc 2021,如下图所示:
转换步骤
重要!!!在实际操作前,请先备份好要转换的虚拟机。备份操作也十分简单,右键相应的虚拟机,然后选择导出即可!
1. 执行磁盘转换命令
进入到虚拟机中,在powershell(管理员模式)下执行以下命令:
mbr2gpt.exe /convert /allowFullOS
如下图所示:
2. 导出转换后的虚拟硬盘
2.1 先关闭虚拟机
2.2 创建新的检查点
右键虚拟机,单击【检查点】,待检查点创建完成即可
备注:因为虚拟机可能有检查点(即vmware workstation中的快照概念),所以直接右键该虚拟机进行导出时,其导出的硬盘可能有多个,即多个差异盘(avhdx)和1个基本盘(vhdx)。我们这里需要的是一个包括全部数据的虚拟盘(也是vhdx格式),所以目前不要这样操作,如下图所示:
2.3 导出刚创建的检查点
单击刚才的虚拟机,然后在检查点区域找到刚创建的检查点节点(通过其创建时间即可判断出来),右键导出即可,如下图所示:
2.4 找到导出的硬盘vhdx
在上一步的导出目录中,找到导出到的虚拟磁盘文件(*.vhdx),记录下来,我这里的具体路径是
"O:\win10_ltsc_gen1\Virtual Hard Disks\win10_ltsc_gen1.vhdx",如下图所示:
3. 创建新虚拟机
3.1 以二代虚拟机的方式创建一个新的虚拟机叫 win10_new
3.2 挂载转换后的硬盘
然后点击完成即可。
3.3 启动新虚拟机
3.4 成功启动
参考
Converting a Generation 1 Hyper-V Virtual Machine to Generation 2