将 VirtualBox 虚拟机迁移到 Hyper‑V,核心是把 VDI 虚拟磁盘 转换成 Hyper‑V 支持的 VHD/VHDX,再在 Hyper‑V 中新建虚拟机并挂载转换后的磁盘。
一、迁移前准备
- 关闭 VirtualBox 虚拟机:确保目标虚拟机已完全关机(不可挂起 / 快照)。
- 卸载 VirtualBox 增强工具(可选但推荐):进入虚拟机系统,卸载 VirtualBox Guest Additions,避免驱动冲突。
- 备份 VDI 文件 :复制一份原始
.vdi文件,防止转换失败。 - 启用 Hyper‑V:
- 打开「控制面板 → 程序 → 启用或关闭 Windows 功能」
- 勾选 Hyper‑V 及其子项 → 确定 → 重启电脑。
二、方法一:用 VBoxManage 转换 VDI → VHD(推荐,无需第三方工具)
1. 打开管理员命令提示符
按 Win+X → 选择「Windows 终端(管理员)」或「命令提示符(管理员)」。
2. 进入 VirtualBox 安装目录
cd "C:\Program Files\Oracle\VirtualBox"
3. 执行转换命令(VDI → VHD)
VBoxManage.exe clonemedium disk "你的VDI文件路径.vdi" "输出VHD文件路径.vhd" --format VHD
示例:
VBoxManage.exe clonemedium disk "D:\VMs\Win10\Win10.vdi" "D:\VMs\HyperV\Win10.vhd" --format VHD
等待完成(时间取决于磁盘大小)。

4.(可选)VHD 转 VHDX(推荐,性能更好)
打开 Hyper‑V 管理器 → 右侧「操作」→「编辑磁盘」→ 下一步 → 选择刚生成的 .vhd → 下一步 → 选择 转换 → 下一步 → 格式选 VHDX → 选择动态扩展 / 固定大小 → 指定保存路径 → 完成。

三、在 Hyper‑V 中创建并挂载磁盘
- 打开 Hyper‑V 管理器 → 右侧「新建」→「虚拟机」。
- 关键内容:按向导设置:名称、位置、代数(一定选第 1 代 ,支持 UEFI)、内存、网络。否则虚拟机可能无法启动,我第一次就是选了第2代,导致折腾很久没启动起来。
- 关键步骤 :在「连接虚拟硬盘」时,选择 「稍后附加虚拟硬盘」 → 完成创建。
- 右键新建的虚拟机 →「设置」→「IDE 控制器 / SCSI 控制器」→「硬盘驱动器」→「添加」→ 浏览选择转换好的
.vhdx→ 确定。


- 虚拟机「设置」→「IDE 控制器(0)」→「硬盘驱动器」→ 确认挂载的是转换后的 VHDX 文件;
- 关键项:若挂载在 SCSI 控制器,改到 IDE 控制器(第 1 代虚拟机对 IDE 兼容性更好)。

四、启动与修复(常见问题)
- 启动虚拟机:若提示「无法启动」,检查:
- 第 1 代 / 第 2 代是否匹配(原系统是 BIOS 用第 1 代,UEFI 用第 2 代)。
- 安全启动:第 2 代虚拟机 →「设置」→「安全」→ 取消勾选「启用安全启动」(Linux / 旧 Windows 通常需要)。
- 启动失败,提示系统启动文件,需要先用对应操作系统ISO镜像,先启动系统,不需要安装系统,只需要进入修复计算机命令提示界面
虚拟机「设置」→「DVD 驱动器」→ 挂载 Win10 安装 ISO → 启动虚拟机,从光盘进入「修复计算机」→「命令提示符」。执行以下命令修复引导:
# 1. 标记系统分区为活动分区(MBR引导的核心)
diskpart
list disk # 选系统盘(Disk 0)
select disk 0
list partition # 选容量最大的主分区(通常是 Partition 1)
select partition 1
assign letter Z: # 分配Z盘(提示已占用就换X:/Y:)
active # 必须执行!标记为活动分区
exit
# 2. 强制重写引导(跳过所有复杂步骤)
bootsect /nt60 Z: /mbr /force # 重写MBR,清除VirtualBox旧引导
bcdboot Z:\Windows /s Z: /f BIOS # 重建BIOS引导配置
五、重启验证
- 输入
exit关闭命令提示符 → 移除 ISO 镜像 → 重启虚拟机;