Windows怎么迁移Hyper-V虚拟机到另一台物理主机

风宇同学_9204

风宇同学_9204

2026-11-12

534人浏览

原创

迁移Hyper-V虚拟机需确保目标主机已安装Hyper-V角色、版本兼容、网络连通且存储充足;推荐导出+导入法(保留检查点与配置),或PowerShell批量操作、脱机直拷、实时迁移及网络共享导出等五种方式。

windows怎么迁移hyper-v虚拟机到另一台物理主机

将Hyper-V虚拟机从一台物理主机迁移到另一台物理主机,必须确保目标主机已安装Hyper-V角色、版本兼容、网络连通且具备足够存储空间,否则导入后无法启动或配置丢失。

使用Hyper-V管理器导出+导入(图形界面,推荐新手)

该方法适用于Windows Server 2012 R2及更高版本,完整保留检查点、配置和虚拟硬盘路径信息,无需命令行操作。

在源主机上右键目标虚拟机 → 选择“导出” → 指定本地路径(如D:VMExportMyVM)→ 点击“确定”开始导出。

导出完成后,确认文件夹内包含Virtual Hard Disks、Snapshots和Virtual Machines三个子目录;缺少任一目录说明导出异常,不可继续迁移。

将整个导出文件夹复制到目标主机的本地磁盘(不建议直接放网络共享路径,避免权限或断连导致导入失败)。

在目标主机打开Hyper-V管理器 → 右键服务器名称 → 选择“导入虚拟机” → 浏览至刚复制的文件夹 → 选择“注册虚拟机”(保留原ID,适合域内服务连续性)或“复制虚拟机”(生成新ID,避免SID冲突)→ 完成向导。

【导入后务必右键虚拟机 → “连接” → 启动并验证网卡是否绑定到存在的虚拟交换机】,否则开机黑屏或无网络——这是90%首次迁移失败的根源。

用PowerShell批量导出与导入(适合多VM或无人值守)

此方法绕过GUI限制,支持脚本化执行,但要求两台主机均以管理员身份运行PowerShell,且Hyper-V模块已加载。

方法一:导出单台VM
以管理员身份运行PowerShell,在源主机执行:
Export-VM -Name "WebServer01" -Path "E:ExportsWebServer01"

方法二:导入并自动启动
在目标主机执行:
Import-VM -Path "E:ExportsWebServer01Virtual Machines{GUID}.xml" -Register → 导入完成后立即运行:
Start-VM -Name "WebServer01"

注意:-Register参数不会复制文件,仅注册原有路径;若已移动.vhdx文件,必须改用-Copy参数并配合-GenerateNewId,否则启动报错“找不到虚拟硬盘”。

脱机文件直拷+手动注册(最快,但不保留检查点)

适用于已关机、无快照、且对迁移速度敏感的轻量级VM,跳过导出封装步骤,节省50%以上时间。

第一步:确认虚拟机状态为“已关闭”(不是“已保存”),否则.vhdx可能被锁定,拷贝会失败。

第二步:定位两个关键文件:
① 配置文件:C:ProgramDataMicrosoftWindowsHyper-VVirtual Machines{GUID}.xml
② 虚拟硬盘:C:UsersPublicDocumentsHyper-VVirtual Hard DisksMyVM.vhdx

Windows 开机自启并隐藏到系统托盘
Windows 开机自启并隐藏到系统托盘

让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。

下载

第三步:将这两个文件复制到目标主机的对应目录(路径必须一致)或任意新路径;若放新路径,需用记事本打开.xml文件,搜索ParentPath字段,手动修改为新.vhdx绝对路径。

第四步:在目标主机PowerShell中执行:
Add-VM -Path "C:ProgramDataMicrosoftWindowsHyper-VVirtual Machines{GUID}.xml"

这一步注册后,VM即出现在Hyper-V管理器列表中,但不会自动启动;需手动右键→“启动”。

实时迁移(零停机,需提前配置)

仅当两台主机已加入同一域、启用Kerberos约束委派、虚拟交换机名称完全一致、且CPU型号兼容时才可启用。迁移全程来宾系统持续运行,用户无感知。

① 在源主机Hyper-V管理器中,右键虚拟机 → “移动” → 选择“移动虚拟机”类型 → 下一步

② 选择目标主机(必须已添加到同一管理器视图)→ 勾选“包括存储” → 指定目标存储路径(如D:VMs)→ 下一步

③ 检查摘要页中的传输类型是否显示为Live;若显示Network,说明未满足实时迁移条件,强行执行将导致虚拟机临时冻结数秒甚至蓝屏。

【迁移前必须确保目标主机存在同名虚拟交换机,否则迁移中途失败且无法回滚】,名称差异(如“Default Switch” vs “外部网络”)即触发错误事件ID 21502。

通过网络共享路径导出(解决本地磁盘不足)

当源主机剩余空间小于VM总大小(含快照)时,可直接导出到目标主机的Windows共享文件夹,规避中间拷贝步骤。

在源主机Hyper-V管理器中右键虚拟机 → “导出” → 路径填写:
\TargetServerVMShareMyVM(需提前在目标主机创建共享并赋予源主机管理员读写权限)。

导出过程由源主机发起,数据流经网络直达目标共享;期间若网络中断,导出任务失败,已传部分不会自动清理,需手动删除残留文件夹。

导出成功后,直接在目标主机Hyper-V管理器中“导入虚拟机”,路径指向该共享文件夹即可——无需再复制本地。

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3459

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

3018

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1548

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2739

5

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.08

3370

4

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

1737

3

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

2023.08.28

2537

4

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.30

5447

5

Window.setInterval()方法
Window.setInterval()方法

Window.setInterval() 方法的基本语法是“window.setInterval(function, delay)”,function是要重复执行的函数或代码块,delay是每次执行之间的时间间隔,以毫秒为单位。本专题为大家提供Window.setInterval()相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

855

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习