案例:VMWare上安装了Windows 10,并将其容量设置为256 GB。现在我只希望它具有32 GB的最大空间,该如何改变?
解决方案:
1.清理快照
清理删除本虚拟机的所有快照,这一步是必须的;
2.压缩整理磁盘
用虚拟机自带的压缩工具先压缩一下磁盘,最后进虚拟机系统的磁盘管理压缩回收磁盘;
3.转换磁盘
1.确认虚拟机硬盘是拆分成多个文件的动态分配硬盘
用文档编辑工具,不推荐记事本,打开.vmdk文件
- 如果有多行描述,并且每行写了 SPARSE ,这是我们需要的类型,拆分+动态分配磁盘。
- 如果有多行描述,但每行写的是 FLAT ,则为拆分的预分配磁盘,需要转格式。
- 只有一行描述,写的是 FLAT ,则是单一文件预分配磁盘,也需要转格式。
- 如果乱码或者提示打不开,则是单一文件动态分配磁盘,还是需要转格式。
2.转换工具:
VMWare 在新建虚拟机时会默认选择第一种类型,但玩家当初可能出于性能等考虑,选择了其它类型的虚拟硬盘。那么就需要使用 vmware 自带的一个命令行工具 vmware-vdiskmanager.exe 转换成第一种类型。该 工具 在 vmware 安装目录下,默认为 “C:Program Files (x86)VMwareVMware Workstationvmware-vdiskmanager.exe”。
3.转换命令
该工具的命令行写法为:
工具名 | 参数1 | 源文件 | 参数2 | 参数3 | 目标名称 |
---|---|---|---|---|---|
vmware-vdiskmanager | -r(转格式) | Windows XP.vmdk(例) | -t(目的) | 1(目的磁盘类型,1 为拆分+动态分配) | newdisk.vmdk |
该命令中, - r , - t1 两部分不需要变化, 目标名称 随意,之后会改名覆盖源文件。 源文件名 根据实际情况变化,而 工具名 通常要带上路径。
以管理员模式打开cmd控制台,所以完整的命令大约是如下样子:
cd C:Program Files (x86)VMwareVMware Workstation vmware-vdiskmanager.exe -r E:vmold.vmdk -t 1 E:vmnew.vmdk
如果之前是单个vmdk文件,转换完成以后,会生成new.vmdk和多个关联文件 “new-s0xx.vmdk”如果不想用单个文件,可以把新的 newdisk.vmdk 重命名成 “old.vmdk” 以替换。其它 newdisk-s00x.vmdk 不用变。
4.修改大小
打开新生成的new.vmdk文件,修改里面的文件
# Extent description后面的列表数据就是对应新生成的文件,测试每个文件大小后删除即可,
不想写了,。。待续 。。。
评论