压缩由磁盘管理创建的 VHD 文件?

压缩由磁盘管理创建的 VHD 文件?

我的电脑运行的是 Windows 7 64 位。我使用磁盘管理创建了一个新的 VHD 文件并将其制作成一个新的虚拟驱动器。磁盘大小为 8GB。使用大约 3GB 后,我决定对其进行格式化。然而格式化后磁盘大小仍然是 3GB。

我尝试使用 diskpart 来压缩此 VHD 文件,但收到此错误消息

虚拟磁盘服务错误:请求的操作要求以只读方式连接虚拟磁盘。

那么,有没有什么办法可以压缩这个VHD文件呢?

答案1

除非是只读的,否则无法在附加的 VHD 上完成压缩。

要分离磁盘,您需要在磁盘管理中右键单击 VHD 磁盘,然后选择分离 VHD:

分离 VHD

diskpart然后,您可以使用命令提示符完成压缩:

  1. 跑步diskpart
  2. 通过路径选择磁盘:select vdisk file="<path>"
  3. 将其附加为只读:attach vdisk readonly
  4. 压缩它:compact vdisk
  5. 压缩完成后,再次将其分离:detach vdisk

然后,您可以通过磁盘管理将其重新连接到正常且新压缩的状态。

(参考:http://linhost.info/2011/01/windows-how-to-compact-a-dynamic-vhd/

答案2

我对压缩vhd的解决方案(在windows下):

  1. 重要的!在磁盘管理中挂载 vhd 并进行碎片整理。此步骤允许缩小卷以获取最大可用空间

  2. 重要的!在磁盘管理中缩小 vhd 分区。

  3. 重要的!在可用空间上创建新的 FAT32 分区并格式化它(不是很快)。此步骤将清除磁盘数据,没有它,vhd 文件大小将不会减少。

  4. 删除 FAT32 分区。

  5. 将 vhd 分区扩展至完整大小。

  6. 以管理员身份运行 cmd 并:

    磁盘分区

    选择 vdisk 文件=“my.vhd”

    光盘

如果没有步骤 1-3,vhd 文件大小不会减少

相关内容