我熟悉使用 Oracle VirtualBox 的vboxmanage.exe
命令行工具来缩小虚拟磁盘的总空间。现在我有一个 VMware 多卷磁盘 (vmdk),并且已经对操作系统/磁盘的可用空间进行了碎片整理并将其归零,但现在我不知道如何像在 VirtualBox 中一样将虚拟磁盘总空间缩小到其实际大小。
我需要使用哪种工具?
如果需要该程序进行缩小,则可以替代 Workstation,我使用 VMware 免费播放器。
(我见过此解决方案,但它使用庞大且付费的Workstation程序。)
我真的不想依赖那种措施的程序来完成这项任务。
答案1
好的,我只是耍了一个技巧,效果很好。
1)安装VMware工作站在虚拟机中(以避免安装这个庞大的程序在 SO 中安装的所有不需要的注册表项、驱动程序、连接和服务的垃圾......)
2)从VMware工作站在虚拟操作系统中安装到主机操作系统:
libeay32.dll
ssleay32.dll
vmware-vdiskmanager.exe
此时我们有一个可以运行的独立程序vmware-vdiskmanager.exe
,它不需要安装 VMWare Workstation 应用程序来缩小虚拟磁盘 :),因此我们可以将这些文件存储在一个文件夹中,然后从命令行调用该应用程序来缩小磁盘:
".\vmware-vdiskmanager.exe" -k ".\Disk.vmdk"
注意:这些 dll 库与OpenSSL并且是运行应用程序所必需的,也许其他功能vmware-vdiskmanager.exe
将需要复制其他库。
3)另外,我们可以在操作系统中添加一些注册表项来缩小 VMWare 虚拟磁盘(磁盘.vmdk)通过鼠标右键单击文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.VMDK\Shell\VMWare]
"MUIVerb"="VMWare"
"SubCommands"="VMWare.Compact"
"icon"="C:\\VMWare.ico"
"Position"="Top"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\VMWare.Compact]
@="Shrink Disk"
"icon"="C:\\VMWare.ico"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\VMWare.Compact\command]
@="\"C:\\vmware-vdiskmanager.exe\" -k \"%1\""
注意:更改注册表脚本上的文件路径。