我的电脑运行的是 Windows 7 64 位。我使用磁盘管理创建了一个新的 VHD 文件并将其制作成一个新的虚拟驱动器。磁盘大小为 8GB。使用大约 3GB 后,我决定对其进行格式化。然而格式化后磁盘大小仍然是 3GB。
我尝试使用 diskpart 来压缩此 VHD 文件,但收到此错误消息
虚拟磁盘服务错误:请求的操作要求以只读方式连接虚拟磁盘。
那么,有没有什么办法可以压缩这个VHD文件呢?
答案1
除非是只读的,否则无法在附加的 VHD 上完成压缩。
要分离磁盘,您需要在磁盘管理中右键单击 VHD 磁盘,然后选择分离 VHD:
diskpart
然后,您可以使用命令提示符完成压缩:
- 跑步
diskpart
- 通过路径选择磁盘:
select vdisk file="<path>"
- 将其附加为只读:
attach vdisk readonly
- 压缩它:
compact vdisk
- 压缩完成后,再次将其分离:
detach vdisk
然后,您可以通过磁盘管理将其重新连接到正常且新压缩的状态。
(参考:http://linhost.info/2011/01/windows-how-to-compact-a-dynamic-vhd/)
答案2
我对压缩vhd的解决方案(在windows下):
重要的!在磁盘管理中挂载 vhd 并进行碎片整理。此步骤允许缩小卷以获取最大可用空间
重要的!在磁盘管理中缩小 vhd 分区。
重要的!在可用空间上创建新的 FAT32 分区并格式化它(不是很快)。此步骤将清除磁盘数据,没有它,vhd 文件大小将不会减少。
删除 FAT32 分区。
将 vhd 分区扩展至完整大小。
以管理员身份运行 cmd 并:
磁盘分区
选择 vdisk 文件=“my.vhd”
光盘
如果没有步骤 1-3,vhd 文件大小不会减少