我有一台 Windows XP VM(使用 VirtualBox 3.1.2),其硬盘空间正在慢慢填满。有时即使我删除了一些东西,可用空间也没有任何变化。
我已经尝试对虚拟机进行碎片整理,也尝试了 SysInternals sdelete 实用程序,但是没有帮助,事实上,虚拟机丢失了更多空间。
还有什么想法我还应该尝试吗?
答案1
在虚拟机中运行 sdelete 后,您是否关闭了它并压缩了驱动器?您需要运行一个命令来告诉 VirtualBox 查找未使用的空间并将其释放回来。
释放 .vhd 分配的空间的步骤
- 从虚拟机内部对 .vhd 进行碎片整理。
- 从虚拟机内部运行 sdelete。
- 关闭虚拟机。
- 打开命令提示符(开始 -> 运行 -> cmd.exe)。
- 将目录更改为您的虚拟盒安装目录。
cd \Program Files\Sun\VirtualBox
- 运行
vboxmanage modifyhd {filename} --compact
以缩小文件大小。
vboxmanage modifyhd "C:\Users\joshua\.VirtualBox\Hard Disks\XP Virtual Machine.vhd" --compact
- 等待该过程完成。
您需要知道 .vhd 文件的位置。您可以通过打开虚拟媒体管理器(文件 > 虚拟媒体管理器...)找到此信息,选择要压缩的驱动器并查看下面列出的位置。该过程完成后,您最终应该会得到一个与虚拟机中使用的空间量相匹配(或接近)的 .vhd 文件大小。
答案2
也许你的虚拟机中正在运行某种病毒或木马,正在慢慢占用可用的磁盘空间?或者其他有缺陷的程序正在浪费空间?我建议运行目录统计虚拟机内部来确定哪个组件占用了最多的空间。