我在 virtualbox windows server 2008 中有一个使用 Truecrypt 加密的大型 raid 5 卷,我想解密整个卷,因此我单击了 Truecrypt 中的永久解密,这几天都很顺利,直到达到 95%。现在,它已经填满了整个卷,只剩下 700kb 的剩余空间,virtualbox 冻结了虚拟机,因为它已经用完了主机上的空间……为什么 truecrypt 占用空间,我该如何解决这个问题?谢谢。
答案1
假设您选择的动态扩展客户驱动器的最大尺寸大于主机操作系统上可用的尺寸:
TrueCrypt 在解密过程中写入整个卷(包括“可用”空间)(如果以前未使用的空间,则在此过程中用垃圾数据明文替换零“密文”),因此客户磁盘文件扩展到其最大容量。
根据罗伯特·塞蒂亚迪(Robert Setiadi)的这篇文章您可以使用删除恢复归零区域并随后压缩磁盘映像:
打开 VirtualBox 并运行客户端操作系统(本指南仅在客户端操作系统为 Windows 时才有效)。
进行一些清理(卸载不必要的应用程序、删除未使用的文件、清理临时文件等)。您可能需要运行 Windows 磁盘清理工具。
执行磁盘碎片整理程序。
下载这个名为删除。
将应用程序解压到您的用户文件夹,然后打开命令窗口并输入删除-zc:(这将在您未使用的空间上放置零位)。
关闭 Windows 客户端操作系统并关闭 VirtualBox。
在主机操作系统中执行以下命令:VBoxManage 修改我的.vdi –紧凑(将“my.vdi”替换为您的 vdi 文件的路径和文件名)。如果您的主机操作系统是 Windows,请在命令提示符中输入它。如果您的主机操作系统是 Mac,请打开终端并输入命令。此命令已在 VirtualBox 4.2.6 中测试过并且运行良好。不过,VirtualBox 的未来版本可能会更改语法。
完成后,立即检查您的 VDI 文件大小。
然而,正如作者所说:
使用 VirtualBox 4.2.6 在 Mac OSX 10.8.2 Mountain Lion(主机操作系统)和 Windows XP Home Edition(客户操作系统)上进行了测试。不同的操作系统或不同的 VirtualBox 版本可能会产生不同的结果。使用本指南的风险由您自行承担。
此方法假设您目前可以在客户操作系统上运行程序,这意味着您可能必须先将映像移动到更大的驱动器,才能重新启动它。然后您应该能够暂停 TrueCrypt 并按照上述步骤压缩映像,然后再处理剩余的 5%。
如果您的驱动器足够大以容纳整个卷,您也可以让它完成并在之后压缩,这将产生一个更小的文件(除非您在该过程完成后重复压缩步骤)。