前段时间备份VM虚拟机系统,发现磁盘是拆分为多文件的,而为了方便传输所以将多个文件合并为单文件,下面就虚拟磁盘合并过程中遇到的问题做以记录
一、简单的说下官方文档中提及的 vmware-vdiskmanager.exe 命令
1.vmware-vdiskmanager.exe是一个命令行工具,当现有的虚拟机已经是使用多个文件形式的话,可以使用 VMware workstation 附带的 vmware-vdiskmanager.exe 工具来进行合并。工具的位置在 VMware 安装的路径下,例如我的在 L:\Program Files应用程序\VMware 17Pro\vmware-vdiskmanager.exeVMware
2.生成的磁盘多个文件名称命名规则是如下:
根磁盘文件 – 如:Windows7.vmdk
分割磁盘文件 – 如:Windows7-s001.vmdk Windows7-s002.vmdk Windows7-s003.vmdk
3.使用命令合并多文件时只需要指定跟磁盘文件名称即可。根据帮助文档,使用 -r 指令指定多文件,-t 0 指令指定输出为单文件。示例如下:
&"vmware-vdiskmanager.exe" -r Windows7.vmdk -t 0 merge.vmdk Creating disk 'merge.vmdk' Convert: 100% done. Virtual disk conversion successful.
命令执行后,在对应目录下会生成合并的 merge.vmdk 虚拟磁盘文件,也可以使用此文件建立新的虚拟机。
二、利用 vmware-vdiskmanager.exe 命令进行虚拟磁盘合并
1.找到 VMware 存放磁盘文件的路径,也就是 vmdk 文件所在的目录,例如我的在 F:\macOS 10.15.7.vmdk,其中 macOS 10.15.7-s001.vmdk 到 s011.vmdk 是我将虚拟磁盘拆分成了多个文件,接下来将这些拆分的多个文件准备合并成单个文件
2. 接下来将这些拆分的多个文件合并成单个文件,打开命令提示符,快捷键 Win+R 打开运行,输入 cmd,按快捷键 Ctrl + Shift + Enter
3.输入命令进入 vmdk 文件所在的目录:例如我的在 F:\macOS 10.15.7.vmdkcd
F:\macOS 10.15.7.vmdk
4.打开 vmdk 文件所在的盘,例如我的在 F 盘,再输入 vmware workstation 的工具命令,这边需要知道自己 VM 的安装路径,例如我的 vmware-vdiskmanager.exe在 L:\Program Files应用程序\VMware 17Pro\vmware-vdiskmanager.exe;我的 vmdk 文件所在的目录在 F:\macOS 10.15.7.vmdk
F: "L:\Program Files应用程序\VMware 17Pro\vmware-vdiskmanager.exe" -r "macOS 10.15.7-cl1.vmdk" -t 0 "macOS 10.15.7.vmdk"
注意:如果这里没有打开vmdk文件所在的盘,直接进入 macOS 10.15.7 的路径进行以上操作是无法转换的并会报错:
5.等待转换结束出现 Virtual disk conversion successful. 的字样表示转换成功,打开对应文件夹便能看到合并的文件
6.以上所用到的命令如下
C:\WINDOWS\system32>cd F:\macOS 10.15.7.vmdk C:\WINDOWS\system32>F: F:\macOS 10.15.7.vmdk>"L:\Program Files应用程序\VMware 17Pro\vmware-vdiskmanager.exe" -r "macOS 10.15.7-cl1.vmdk" -t 0 "macOS 10.15.7.vmdk" Creating disk 'macOS 10.15.7.vmdk' Convert: 100% done. Virtual disk conversion successful. F:\macOS 10.15.7.vmdk>
三、将虚拟磁盘单个文件拆分为多个文件
cd "L:\Program Files应用程序\VMware 17Pro\"
0:创建一个包含在单一虚拟文件中的可增长虚拟磁盘1:创建一个被分割为每个文件2GB大小的可增长虚拟磁盘2:创建一个包含在单一虚拟文件中的预分配虚拟磁盘3:创建一个被分割为每个文件2GB大小的预分配虚拟磁盘
"L:\Program Files应用程序\VMware 17Pro\vmware-vdiskmanager.exe" -r "F:\macOS 10.15.7\macOS 10.15.7.vmdk" -t 1 "F:\macOS 10.15.7\macOS 10.15.7-s.vmdk"
C:\WINDOWS\system32>cd "L:\Program Files应用程序\VMware 17Pro\" C:\WINDOWS\system32>"L:\Program Files应用程序\VMware 17Pro\vmware-vdiskmanager.exe" -r "F:\macOS 10.15.7\macOS 10.15.7.vmdk" -t 1 "F:\macOS 10.15.7\macOS 10.15.7-s.vmdk" Creating disk 'F:\macOS 10.15.7\macOS 10.15.7-s.vmdk' Convert: 100% done. Virtual disk conversion successful.