假设我们有 64GB 的动态扩展 VHDX。安装操作系统后,“动态初始化”空间约为 10GB。现在,我知道我需要大约 25GB 的额外空间 - 例如总共 35GB。
问题:如何强制初始化 VHDX 文件的任一部分(例如 35G)或其余部分?
动机:当虚拟化系统进行一些额外的软件安装时,该过程会比较慢,因为除了安装文件之外,VHDX 还需要初始化额外的空间。所以我希望能够提前初始化空间,这样到时候,安装额外的软件就不会花很长时间。
答案1
最简单的方法是运行任何磁盘基准测试工具,它将创建所需大小的测试文件,迫使下面的 VHDX 扩展。
您可以使用 Microsoft DiskSPD 来实现此目的:https://gallery.technet.microsoft.com/DiskSpd-a-robust-storage-6cd2f223
命令行将是这样的:
Diskspd.exe -b64K -d10 -h -L -o1 -t1 -s -w100 -c20G c:\io.dat
其中 -c20G是所需尺寸,并且数据目录:\io.dat是文件路径。
删除创建的测试文件后,您将释放空间,但 VHDX 仍然浮动。
希望能帮助到你。
答案2
请将 sysinternal sdelete 与 z 开关一起使用。
sdelete -z <driveletter:>
z 开关零用零填充空白空间,因此您的图像将增长到其大小的 100%。
请注意,使用 diskpart compact vdisk 命令后可以剪切空间,它会从文件中剪切标记为零的可用空间。