前段时间备份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>

 

 

三、将虚拟磁盘单个文件拆分为多个文件

1.找到 VMware 存放磁盘文件的路径,也就是 vmdk 文件所在的目录,例如我的文件在 F:\macOS 10.15.7,其中 macOS 10.15.7.vmdk 文件是单文件存储的虚拟磁盘,接下来将这单个文件拆分为多个文件
 
2. 打开命令提示符,快捷键 Win+R 打开运行,输入 cmd,按快捷键 Ctrl + Shift + Enter。输入命令进入 vmware-vdiskmanager.exe 程序所在的目录:例如我的在 “L:\Program Files应用程序\VMware 17Pro\”
cd "L:\Program Files应用程序\VMware 17Pro\"

 
 
3. 输入命令 “L:\Program Files应用程序\VMware 17Pro\vmware-vdiskmanager.exe” 可查看它所有的功能,也可以在在 vmware 安装位置打开 vmware-vdiskmanager.exe 程序可以查看
其中,-r 参数指定源磁盘文件;-t 参数指定输出虚拟磁盘文件的类型,其值为以下类型之一:
0:创建一个包含在单一虚拟文件中的可增长虚拟磁盘
1:创建一个被分割为每个文件2GB大小的可增长虚拟磁盘
2:创建一个包含在单一虚拟文件中的预分配虚拟磁盘
3:创建一个被分割为每个文件2GB大小的预分配虚拟磁盘
 
4. 输入 vmware workstation 的工具命令,这边需要知道自己 VM 的安装路径,例如我的 vmware-vdiskmanager.exe 在 “L:\Program Files应用程序\VMware 17Pro\vmware-vdiskmanager.exe ”;我的将要拆分的 vmdk 文件所在的目录在 “F:\macOS 10.15.7\macOS 10.15.7.vmdk”,将拆分的文件命名为 macOS 10.15.7-s.vmdk
"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"
 
 
5.等待转换结束出现 Virtual disk conversion successful. 的字样表示转换成功,打开对应文件夹便能看到拆分的文件
 
6. 文中所用到的命令如下
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.
 

发表评论

邮箱地址不会被公开。