由于前期规划的原因,经常面临 VHD/VHDX 虚拟磁盘容量大小设置过大或者不够用的尴尬情况。怎么调整 VHD/VHDX 虚拟磁盘大小容量呢?本文简要记录一下使用第三方工具进行修改的办法。
1、VHD/VHDX 虚拟磁盘容量调大:
把容量调大比较简单,使用 Bootice (BOOTICE_v1.3.4_x64_汉化单文件版.exe)工具即可。
双击打开 Bootice,切换”磁盘镜像”菜单,加载目标 VHD/VHDX 文件,点击“VHD文件信息”,“重设容量(扩展/缩减)…”,“新的容量”中输入调整后的容量大小。
P1.使用 Bootice 工具调整 vhd/vhdx 虚拟磁盘文件大小
2、VHD/VHDX虚拟磁盘容量调小/压缩:
根据 Bootice 工具菜单界面,理论上也支持对 VHD/VHDX 文件容量调小或压缩,但是在实际操作中,会出现数据可能被截断的风险提示(Failed to resize vhd:无法完成请求的调整大小操作,原因是它可能截断了位于虚拟磁盘上的用户数据),见下图2。
P2. Bootice 执行容量压缩时提示有数据截断风险,中止操作
为什么会出现数据可能被截断的情况呢?原来往 VHD/VHDX 虚拟磁盘文件中写入的数据不是严格按存储地址增量排序的,有小部分文件可能零零散散充斥整个虚拟磁盘空间;而 Bootice 工具进行容量压缩默认是从存储空间的尾部开始,这样一些无序的零散小文件就存在被彻底抹掉的风险,非常不推荐这样不安全的操作方式。
所以,要想压缩/调小 VHD/VHDX 虚拟磁盘文件大小,需要采用笨办法稍微绕一下:新建立一个空白的、合适容量大小的 VHD/VHDX 虚拟磁盘文件,然后 加载VHD,用傲梅助手、Diskgenius等磁盘管理工具进行硬盘克隆/数据对拷,如下图3:
P3.使用 傲梅分区助手进行克隆硬盘
更多:除了通过第三方工具调整 VHD/VHDX 虚拟磁盘大小外,也可以直接在 powershell 命令行工具中使用 resize 命令,不过需要先启用 hyper-v 功能,然后安装一些组件,可能略微复杂一点。。。
调整 VHD/VHDX 文件到指定大小:
Resize -VHD -Path ‘D:\XXX.vhdx’ -SizeBytes 60GB
自动压缩 VHD/VHDX 文件大小:
Resize -VHD -Path ‘D:\XXX.vhdx’ -ToMinimumSize