创建完美整数容量显示的VHDX
2024年9月30日大约 1 分钟
刚才干了一件非常强迫症的事情:想创建一个VHDX文件,要求他在资源管理器里面完美显示为“1.0 T”,并且(看起来)没有空置的未分配空间。
第一步是计算出来一个完美的“1.0 T”分区是多大,这个倒是有资料 —— 当然不是 1024 乘一下的事情,而是一套祖传的微软屎山:
整数G计算公式:(X-1) * 4 + 1024 * X = Y
算例:1.0 T = (1024-1) * 4 + 1024 * 1024 = 1052668
但是!这个是单个分区,与VHDX的容量还不同。VHDX相当于一个磁盘,这里面还有分区表的空间,以及隐藏、默认会创建的MSR分区空间。
这个资料不好找,但我基本上面多加水水多加面给找出来了:默认的MSR分区是16M,而分区表是2M,所以就是 1052668 + 16 + 2 = 1052686 M,创建VHDX的时候填入这个值就可以了。
当然,这个应该不是绝对精确的,只是多出来的空间在Windows的磁盘管理器中不显示了而已。
另外,提前警告,这个分区在资源管理里面是 1.0 T,在磁盘管理里面显示是 1028M, 这个就没办法了,他自己跟自己大家谁还能管。