尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

VMware虚拟机迁移Parallels Desktop实战:vmdk转hdd、架构兼容与排错指南

VMware虚拟机迁移Parallels Desktop实战:vmdk转hdd、架构兼容与排错指南 把 VMware 虚拟机整套搬到 Parallels Desktop是我最近帮朋友折腾最多的一件事也顺手踩了不少坑。坦白说单纯搜“vmware 虚拟机转 parallels 教程”能搜到很多碎片信息但大多停留在“点导入-选文件-等完成”这一步真到实际操作时会发现一堆隐藏问题架构不兼容、VMware Tools 没卸干净导致蓝屏、直接在 Apple Silicon Mac 上导入 x86 虚拟机后根本开不了机……这些才是迁移真正的门槛。这篇文章我按新版本 Parallels Desktop19/20 系列的界面和逻辑来写把从 VMware Workstation / VMware Fusion 迁移到 Parallels 的完整流程、工具选型、排错经验全部梳理一遍。不管你是 Windows 上装了 VMware Workstation 想把 Windows/Linux 虚拟机带到 Mac还是本来在 Mac 上用 VMware Fusion 准备换到 Parallels都可以照着操作。迁移完成后原有系统、软件、数据、配置基本保留不用重装系统省下的时间相当可观。1. 迁移前先把账算清楚架构、版本与备份动手之前我建议先花十分钟搞清楚三件事否则后面很容易白等一场转换时间。1.1 为什么会出现从 VMware 迁 Parallels 的需求很多人会有疑问虚拟机软件多得是为什么非要迁移我遇到最多的场景有三种。第一种是把办公环境从 Windows 电脑带到 Mac。很多企业电脑预装 VMware Workstation里面跑了专用的 Windows 系统、加密客户端、旧版浏览器环境等。换到 Mac 之后不想重配环境最直接的思路就是把虚拟机文件带走。第二种是 macOS 用户从 VMware Fusion 转 Parallels。VMware Fusion 免费版确实能用但新版本对个人用户有一些限制比如在 Apple Silicon 上跑不了 Intel 版 Windows、Windows 集成度偏弱、偶尔网络配置抽风。Parallels 在 Windows 与 macOS 的集成体验上更完善Coherence 模式可以让 Windows 应用直接显示在桌面相当于不用来回切换系统。第三种是 Linux 开发环境迁移。很多人用 VMware 跑 Ubuntu、CentOS 当测试环境里面装了一堆 Docker、数据库、编译工具链重装一次的成本很高。这类虚拟机迁移后一般都能直接启动性价比最高。但有一条底线必须提前知道如果你的 Mac 是 Apple SiliconM1/M2/M3/M4 系列而虚拟机里装的是 x86 版 Windows那么不管迁到哪家虚拟机软件都无法在 Mac 上原生运行因为 Parallels 和 VMware 在 Apple Silicon 上都没有提供 CPU 指令集翻译层。这个不是软件 bug是硬件层面就不兼容。遇到这种情况导入操作可以做但开机大概率黑屏或直接报“无法检测到可引导操作系统”只能放弃原有 x86 Windows 镜像改用 ARM 版 Windows 11。1.2 动工前先确认三件事芯片架构、VMware 版本、磁盘空间第一件事确认 Mac 的架构。点击左上角苹果图标 → 关于本机 → 处理器那一栏Intel 会写“Intel Core i5/i7/i9”Apple Silicon 会写“Apple M1/M2/M3”等。Intel Mac 可以迁移任意 x86 虚拟机Apple Silicon Mac 只能迁移 ARM 版系统或 Linux 等跨架构虚拟机。下面这个表可以帮你快速判断主机架构VMware 虚拟机系统类型能否直接迁移运行Intel Macx86 Windows 7/10/11可以Intel Macx86 Linux可以Intel Macx86 macOS通常可以但受 Apple 授权限制Apple Silicon Macx86 Windows不行只能重建 ARM 版Apple Silicon Macx86 Linux通常不行需要换 ARM 版内核Apple Silicon MacARM 版 Windows/Linux可以第二件事确认 VMware 虚拟机的版本和格式。VMware Workstation 和 Fusion 生成的虚拟机目录里核心配置是 .vmx 文件磁盘是 .vmdk 文件。Parallels 导入向导对新版本的支持比较好VMware 12 以后生成的 .vmx 基本都能识别。如果你的虚拟机特别老VMware 6/7 时代建议先用 VMware 打开把虚拟硬件版本升级到当前版本再迁移。第三件事磁盘空间。这里很容易翻车。Parallels 导入时不会把原 .vmdk 直接改名当 .hdd 用而是会复制转换生成一份新的磁盘文件。也就是说转换期间源文件和目标文件会同时存在你必须预留至少等于原虚拟机占用空间的额外空间。我建议按原虚拟机实际占用大小的 1.5 到 2 倍预留因为转换过程还需要临时文件空间。第四件事备份。这个话我说过很多次但每次都要强调一遍。迁移前把整个 .vmwarevm 文件夹Windows 下就是 VMware 虚拟机保存目录里的子文件夹完整复制一份到移动硬盘或本地其他分区。Parallels 的导入逻辑是“复制转换”理论上不会改动原文件但万一手滑选错、路径不对、中途断电有备份就有后悔药。我一般直接压缩成 zip 再存一份操作成本低心理踏实很多。提示在 Windows 上默认虚拟机位置通常是C:\Users\用户名\Documents\Virtual Machines\在 macOS 的 VMware Fusion 里默认是~/Virtual Machines/。迁移前先确认你要迁移的虚拟机不在共享/网络盘上尽量放到本机目录。1.3 一个最容易被忽略的准备步骤先卸载 VMware Tools如果你直接拿着原封不动的 VMware 虚拟机去导入 Parallels有概率会出现开机蓝屏、花屏、鼠标漂移、网卡消失等诡异问题。原因在于 VMware Tools 和 Parallels Tools 都包含虚拟显卡、虚拟鼠标、内存管理相关的内核级驱动两套驱动同时存在时容易互相冲突。所以我在迁移前都会先进虚拟机系统把 VMware Tools 卸载干净。Windows 系统里打开“控制面板 → 程序和功能”找到 VMware Tools右键卸载按提示重启。Linux 系统则在终端执行 VMware Tools 卸载脚本sudo /usr/bin/vmware-uninstall-tools.pl卸载完成后虚拟机里 VMware 的窗口自适应、拖拽文件、共享剪贴板这些功能会失效这时候不要慌因为马上要走了。卸载完 VMware Tools 的虚拟机相当于一台“纯裸机”状态的虚拟电脑反而更容易被 Parallels 正确识别。有人问我不想卸载直接导入行不行答案是可以试但概率不高。我在测试中碰到过一台 Windows 7 虚拟机不卸载直接导入启动后桌面能进但鼠标键盘完全不可用最后还是在安全模式下把 VMware Tools 停掉才解决。与其后面折腾不如一开始就卸干净。2. 转换机制拆解.vmdk 怎么变成 .hdd很多教程让你“点导入就行了”但从来没解释后台发生了什么。花几分钟理解转换机制遇到报错时就能判断问题出在哪一层而不是瞎猜。2.1 Parallels 导入向导到底在后台干了什么Parallels 导入 VMware 虚拟机核心是三步第一步读取 .vmx 配置文件。这个文件本质是文本格式记录虚拟机的 CPU 核数、内存大小、磁盘控制器类型、网卡型号、声卡、USB 控制器等信息。Parallels 读完这些配置后会建立一个对应的 .pvm 包结构把自己的虚拟硬件参数对齐上去。第二步磁盘格式转换。VMware 的磁盘文件是 .vmdkParallels 的磁盘文件是 .hdd两者虽然底层都是虚拟硬盘但容器格式、元数据结构不同。Parallels 导入时会用内置转换器把 VMDK 的块数据完整复制到新的 HDD 文件里同时把虚拟硬盘的几何参数、分区表信息一并带过去。这个阶段占用了大部分转换时间。第三步硬件适配。VMware 虚拟机的网卡通常是 e1000 或 VMXNET3Parallels 会映射成自己的 paravirtualized 网卡声卡、USB 控制器也会替换为 Parallels 兼容的虚拟设备。转换完成后启动虚拟机时会自动注入一个“虚拟硬件变更”事件Windows 在首次启动时重新枚举硬件、安装新驱动。这个过程可以用一个类比理解VMware 虚拟机是一个“住在 A 小区的住户”Parallels 是“B 小区的物业”。导入不是把人直接拉过去而是先看住户档案.vmx、把家具搬过去vmdk→hdd、再帮住户在 B 小区登记新门禁硬件适配。如果住户原本装了一堆 A 小区专属的门禁系统VMware Tools到 B 小区后就会和新门禁冲突。2.2 新版本对 Intel 和 Apple Silicon 的不同处理Parallels Desktop 18 之后导入向导的界面有调整但对 VMware 虚拟机的识别逻辑差别不大。真正影响迁移结果的是主机平台。在 Intel Mac 上导入过程是从 x86 到 x86虚拟硬件基本兼容Windows 重启后自动装驱动成功率非常高。我自己实际测试过一台 Windows 10 虚拟机导入后 5 分钟内完成硬件重新枚举直接进桌面系统软件和已安装的程序全部都在。在 Apple Silicon Mac 上情况分两种。第一种虚拟机里是 ARM 版系统比如 Windows 11 ARM、某些 ARM Linux 发行版这类可以正常导入运行速度通常很快。第二种虚拟机里是 x86 架构系统这类在 Apple Silicon 上无法运行。很多人以为 Parallels 能像 Rosetta 那样翻译 x86 指令但实际上 Parallels 对 Windows 虚拟机走的是硬件虚拟化M 系列芯片的 CPU 没有 x86 指令集就没办法“假装”自己是 Intel 处理器。除非你用 Parallels 新版本里的“使用 Rosetta 运行 x86 Linux 应用”功能但这只针对 Linux 应用不是完整的系统虚拟化。转换前在主界面就能看到虚拟机处理器信息。我的建议是如果是 Apple Silicon 且目标是 Windows直接放弃导入 x86 版重新创建 ARM 版 Windows 11然后把原来虚拟机里的数据文件拷贝出来再放进去。虽然麻烦但这是唯一可行的路线。2.3 磁盘格式与快照对转换结果的影响VMDK 分两种动态分配thin和固定大小thick。动态分配的 VMDK 文件小但 Parallels 转换时会扫描整个虚拟磁盘的分配表转换后生成的 HDD 文件可能比原 VMDK 略大。固定大小的 VMDK 转换后大小基本一致。这块不用太在意大小差异只要空间预留够就行。更需要注意的是快照。VMware 虚拟机如果保留了多个快照磁盘文件通常不止一个主 VMDK 之外还有 -s001、-s002 这类增量文件。Parallels 的导入向导虽然能识别快照但新版对带复杂快照链的虚拟机支持并不完美转换时间会成倍增加偶尔还会卡死。我的经验是导入前先在 VMware 里删除所有快照把系统状态合并到主磁盘。这样 Parallels 拿到的就是一个干净的磁盘文件转换速度和稳定性都明显好很多。尤其是那些挂了四五个快照、存在了两年以上的“祖传虚拟机”一定要先清理快照再迁移。另外虚拟机的固件类型也值得看一眼。旧版 Windows 7 虚拟机常用 BIOS 固件Windows 10/11 虚拟机可能是 EFIUEFI固件。Parallels 导入时能识别并保留对应固件类型但 EFI 引导的虚拟机偶尔会出现引导项丢失的问题。如果你的虚拟机是 EFI 启动迁移前最好在 VMware 中确认系统盘是 GPT 分区这样 Parallels 侧识别更稳定。3. 实操新版 Parallels 导入 VMware 虚拟机的完整流程下面这部分是全文核心我会按新版本 Parallels Desktop 的实际界面操作来写照着点就行。3.1 打开导入入口的方法新版本 Parallels Desktop 的界面比 16/17 版清爽不少。打开软件后默认进入“控制中心”可以看到现有的虚拟机列表。点击菜单栏的“文件 → 新建”在弹出的窗口里能看到两个标签一个是“安装 Windows 或其他操作系统”另一个是“导入”。选择“导入”标签后窗口里会出现几个可导入的来源包括“从 Boot Camp”“从 Parallels”等最关键的是选择 VMware 虚拟机文件。此时点击“选择文件…”按钮去文件系统里找到你要迁移的 .vmx 文件。这里有一个容易踩的坑很多人会把整个 .vmwarevm 文件夹拖进 Parallels或者双击 .vmx 让系统用 Parallels 打开。这两种方式不是完全不行但新版有时只会“挂载”这个虚拟机并不会真正转换格式最后你会发现虚拟机列表里多了一个灰色的不可用项。正确做法就是走“文件 → 新建 → 导入”路径明确告诉 Parallels我要把 VMware 虚拟机转成 Parallels 格式。如果你的 Parallels Desktop 是通过 App Store 安装的菜单路径可能略有不同但基本都在“文件 → 新建 → 导入”这个方向。3.2 导入向导配置项逐项说明选择好 .vmx 文件后点“继续”进入配置界面。这个界面在不同版本略有差异但核心选项是一致的。第一个是虚拟机名称。默认会沿用原虚拟机的名字你可以改成更简洁、没有空格和特殊字符的英文名比如 win10-dev、ubuntu-server。这一步建议认真改因为这个名称会显示在 macOS 访达的虚拟机文件路径里如果名字里有中文或空格后续某些命令行操作、共享文件夹配置容易出幺蛾子。第二个是存储位置。Parallels 默认把虚拟机放在~/Parallels/目录。如果你的 Mac 硬盘空间紧张可以点“自定义”选择其他位置比如外接硬盘或第二块内置硬盘。我建议尽量放在本机内置硬盘上因为外接 USB 硬盘速度慢虚拟机磁盘 I/O 会明显变差Windows 启动可能要等很久。第三个是完成方式选“自定义设置”还是“完成”我强烈建议选“自定义设置”因为接下来的硬件配置需要手动过一遍。默认会按你原来虚拟机的配置导入但偶尔会把内存、CPU 数量提得很高导致 Mac 本身变卡。进入自定义设置后把内存调到一个合理值比如 4GB8GB 的 Windows 虚拟机给 4GB 即可不要贪多。向导最后一个页面会显示“导入概要”点击“导入”按钮转换正式开始。转换过程中有一个进度条耗时取决于虚拟机磁盘大小和硬盘速度。我的实际经验一个 60GB 左右的 Windows 10 虚拟机在 NVMe 固态硬盘上大概需要 1015 分钟如果是机械硬盘可能要半小时以上。这段时间建议不要手动关掉 Parallels也不要去动原 .vmdk 文件。转换完成后虚拟机列表里会出现新的 .pvm 虚拟机原 .vmwarevm 文件夹仍然保留在原来的位置。提示如果你准备把原 VMware 虚拟机删除来腾空间先别急。我建议至少保留一周确认 Parallels 里运行一切正常再删。硬盘再紧张也不差这几天。3.3 启动后收尾安装 Parallels Tools 和驱动修补导入完成后双击虚拟机启动第一次启动会明显比平时慢因为虚拟硬件已经变化操作系统需要重新枚举设备。我的经验是 Windows 启动动画之后可能黑屏 13 分钟这是正常现象别频繁强制重启。如果超过 5 分钟还是黑屏再考虑按第 4 节的排错方案处理。进入桌面后第一件事是安装 Parallels Tools。点击菜单栏“虚拟机 → 安装 Parallels Tools”Parallels 会自动挂载一个虚拟光驱Windows 里打开光驱执行安装。安装过程可能会要求重启照做即可。Parallels Tools 装好后以下功能才会正常自适应分辨率窗口拉伸时 Windows 桌面分辨率自动跟随剪贴板共享macOS 和 Windows 之间复制粘贴文本、文件文件拖拽直接拖文件进出虚拟机网络优化虚拟网卡驱动对齐网络性能恢复正常共享文件夹通过 Parallels 设置共享目录在 Windows 里像本地盘一样访问安装完 Parallels Tools 后建议重启一次虚拟机让所有驱动完全加载。重启后打开“设备管理器”检查一下有没有带黄色感叹号的设备尤其是网络适配器、显示适配器、PCI 设备。如果有感叹号可以右键“更新驱动程序 → 自动搜索”一般能从 Windows Update 或 Parallels Tools 安装包里找回正确驱动。另外要提醒一点Windows 检测到硬件变化后有概率提示需要重新激活系统尤其是 Windows 10/11 的数字许可证。如果你原来用的是正版授权且绑定了微软账号登录账号后一般会自动重新激活如果是批量授权或 OEM 授权可能需要电话激活或联系管理员。这是正常流程不用感到意外。4. 导入失败的常见场景与排查方案迁移过程中难免遇到问题。我把自己实际遇到过的、以及帮别人处理过的典型案例整理出来做成一个速查表遇到问题先对照定位。现象可能原因处理方案导入向导找不到 .vmxVMware 版本太老或文件路径包含权限限制先用 VMware 打开该虚拟机并升级虚拟硬件版本再把整个目录移到无特殊字符路径导入进度一直 0%源 VMDK 有快照链或文件损坏在 VMware 中删除快照运行vmware-vdiskmanager -R修复后再导入导入后启动黑屏VMware Tools 残留驱动进安全模式禁用并卸载 VMware Tools 相关驱动重装 Parallels Tools启动后蓝屏磁盘控制器驱动不兼容在 VMware 中把磁盘控制器改为 IDE/SATA 兼容模式后再导入网络显示“网络初始化失败”或没有网络适配器Parallels 网络过滤器未正确安装重装 Parallels Tools在“偏好设置 → 网络”里恢复默认设置Apple Silicon 导入 x86 系统后无法引导架构不兼容只能放弃该虚拟机新建 ARM 版系统虚拟机菜单显示“没有配置和打开选项”直接双击 .vmx 导致未真正转换重新走“文件 → 新建 → 导入”流程4.1 导入后开机黑屏或蓝屏多半和 VMware Tools 残留有关黑屏和蓝屏是最常见的两类启动失败。蓝屏往往发生在 Windows 启动过程中报错代码多种多样比如INACCESSIBLE_BOOT_DEVICE、SYSTEM_THREAD_EXCEPTION_NOT_HANDLED等。这种情况大概率是磁盘控制器驱动或显卡驱动冲突解决办法有两个方向。方向一如果在导入前没有卸载 VMware Tools可以先尝试在 Parallels 虚拟机启动时按 F8 进安全模式。安全模式下 Windows 不会加载大部分第三方驱动如果可以进桌面就去“程序和功能”里卸载 VMware Tools然后重启看能否正常进入系统。方向二如果安全模式也进不去回到原 VMware 虚拟机里操作。把 VMware 虚拟机的磁盘控制器从默认的 SCSILSI Logic 或 BusLogic改成 SATA 或 IDEWindows 会重新下载统一驱动然后再次导出给 Parallels。这个方法在 VMware 转换到 Parallels 的场景下非常有效很多卡在磁盘驱动的都是因为这个。黑屏问题多数集中在显卡驱动上。Parallels 导入后默认使用虚拟显卡但如果原来的 VMware 显卡驱动没卸掉系统会尝试加载旧显卡驱动导致输出信号混乱。这种情况可以强制关闭虚拟机然后在 Parallels 配置里把“图形”选项调整一下比如关闭硬件加速启动后再安装 Parallels Tools。4.2 网络初始化失败或没有网络适配器Parallels Desktop 的网络问题也是高频故障。旧版本 16/17 时代经常会遇到“网络初始化失败”的报错新版 19/20 虽然少一些但导入老虚拟机后仍然可能出现。导入后的虚拟机如果在 Windows 设备管理器里找不到网卡或者网卡上有黄色感叹号先重装一次 Parallels Tools。如果重装后仍然不行打开 Parallels“偏好设置 → 网络”点“恢复默认设置”把虚拟网卡环境重置一遍。这个操作会重建 Parallels 的虚拟网络服务不影响现有虚拟机数据。如果只是网络慢或者能连通但没有 DNS先去 Windows 设置里把网卡 IP 和 DNS 改成自动获取Parallels 默认用的是 DHCP。另外有些企业虚拟机设置了静态 IP迁移后网卡 MAC 地址变了系统把新网卡当成新设备不会自动应用原来的 IP 配置。这时候进“控制面板 → 网络适配器”把新网卡按旧网卡的信息重新配置即可。4.3 导入后虚拟机无法打开提示配置错误新版 Parallels 偶尔会弹“无法打开此虚拟机因为它使用的配置不受支持”之类的话。常见原因有三类。第一类是 .vmx 文件版本太旧。解决办法是先用 VMware 打开虚拟机在 VMware 的“虚拟机设置 → 选项 → 高级”里把虚拟硬件版本升级到最新比如 VMware 17 的版本保存退出后再导入。第二类是路径问题。很多 Windows 用户的用户名带中文或者 VM 目录放在带空格的路径下Parallels 解析 .vmx 时可能出错。把整个 VM 目录复制到一个纯英文无空格的路径比如D:\VMs\win10再导入。第三类是文件权限问题。macOS 上如果虚拟机是从 U 盘或网盘拷贝来的文件可能带着“只读”或扩展属性。在终端里对对应目录执行一次权限修复把属主改成当前用户sudo chown -R $(whoami):staff /path/to/vmwarevm sudo chmod -R urw /path/to/vmwarevm4.4 磁盘空间不减反增原虚拟机文件怎么清理导入成功后很多人发现硬盘可用空间反而变小了因为 Parallels 虚拟机文件和原来的 VMware 虚拟机文件同时存在。确认 Parallels 虚拟机稳定运行后就可以把原 VMware 虚拟机目录删除。删除之前建议去 Parallels 里执行一次“压缩”。打开虚拟机菜单 →“操作 → 压缩”Parallels 会把 .hdd 文件里已删除但未释放的空间清理掉。压缩过程中虚拟机会被临时暂停几分钟后又恢复。压缩完磁盘再删除原 VMware 文件夹你会发现最终占用的空间可能比原来还少因为压缩把虚拟机的空闲空间回收了。还有一个小技巧如果导入后发现 Parallels 虚拟机磁盘文件巨大但系统里实际数据没那么多可以在 Windows 虚拟机里运行磁盘清理、删除 Windows.old 目录、清理休眠文件然后在 Parallels 里再压缩一次。这样能取回不少空间。5. 进阶补充导入向导失败时的备选方案绝大多数情况下通过前面说的导入向导就能完成迁移。但总有极端情况比如 VMware 虚拟机文件损坏、Parallels 识别不了 .vmx、或者 .vmdk 文件被分离过。这时候可以试一下手动拼接的备选方案。流程粗略是这样先用 qemu-img 把 vmdk 转成 raw 格式再在 Parallels 里新建一个相同系统类型的空白虚拟机把 raw 磁盘挂过去。具体命令如下# 安装 qemumacOS 可用 brew install qemu qemu-img convert -f vmdk source.vmdk -O raw disk.raw得到 raw 镜像后在 Parallels 里手动创建一个空白虚拟机然后打开它的配置在硬盘选项里选择“使用现有磁盘镜像”指向转出来的 raw 文件。这种方法比较折腾而且需要自己保证虚拟硬件参数匹配新手不建议轻易尝试。大部分场景下原版导入向导已经足够用。如果你确实频繁折腾虚拟机我个人的建议是把“qemu-img”装好备着它不仅能在 VMware/Parallels/raw 之间转换格式还能用来修复部分损坏的虚拟磁盘。尤其是那些“祖传虚拟机”多一条手动转换路径迁移时就多一份从容。迁移这件事核心原则就一条稳字当头先备份再动手。
返回列表