Windows 磁盘备份与扩容实战:Disk2vhd 设置要点与「分区已扩容但容量没变」的坑

关键词:Disk2vhd · VHDX 备份 · 磁盘管理 · extend filesystem · NTFS

一、用 Disk2vhd 备份 D、E 盘:设置是否正确?

最近想把两块数据盘(D 盘 181.64GB、E 盘 295.18GB)转成 VHDX 虚拟磁盘做备份,使用微软官方的 Sysinternals 工具 Disk2vhd 2.02,目标保存到另一块 1T 机械盘 G 盘上。当时软件中的设置如下:

Disk2vhd 2.02 实际设置

设置逐项核对

配置项 设置 是否正确 说明
Use Vhdx 勾选 ✔ 正确 VHDX 支持 64TB、抗断电损坏,优于老 VHD(2TB 上限)
Use Volume Shadow Copy 勾选 ✔ 正确 在系统运行状态下做一致性快照,转换期间可继续使用电脑
Prepare for use in Virtual PC 不勾 ✔ 正确 该选项仅用于早已淘汰的 Microsoft Virtual PC,Hyper-V/VirtualBox 都不需要
勾选 D:\、E:\ 勾选 ✔ 正确 只转数据盘、不转系统盘,无需勾选 EFI/MSR 分区(EFI 只在转换系统盘时才需要)
目标路径 G:\600_备份\西数备份.vhdx ✔ 正确 目标盘 G 不在源盘 D/E 上,避免“边转换边写入源盘”的问题

关键提示:D 和 E 会合并成 1 个 VHDX 文件

用 DiskGenius 查看,D 盘和 E 盘其实位于同一块物理硬盘 HD0(西数 WDCPCSN730…512G)上:

DiskGenius 显示 D、E 两分区同属 HD0

Disk2vhd 的规则是“每个物理磁盘生成一个 VHDX 文件”,所以最终产物是一个约 477GB 的虚拟磁盘,里面同时包含 D、E 两个分区,而不是两个独立的 .vhdx 文件。挂载后可以同时看到两个分区。如果希望“分开备份、单独还原”,需要分两次操作:第一次只勾 D,第二次只勾 E。

转换前的检查点

  • 目标空间:实际数据量约 D 已用 79GB + E 已用 121GB ≈ 200GB,G 盘剩余 5098GB 完全够用;
  • 目录确认:目标文件夹 G:\600_备份\ 必须先存在,否则转换可能因路径无效而失败;
  • 文件占用:转换期间尽量不要往 D/E 写入新文件,VHDX 只包含点击 Create 那一刻的快照内容;
  • 磁盘健康:建议先跑 chkdsk D: /f、chkdsk E: /f,避免坏扇区导致转换中断。

转换完成后能做什么

  • 双击挂载:在资源管理器中双击 .vhdx 文件,自动挂载为本地磁盘,可当移动硬盘直接读写;
  • Hyper-V:新建虚拟机时选择“使用现有虚拟硬盘”;因为是数据盘(无系统),需搭配一个系统盘使用;
  • VirtualBox / VMware:VHDX 需先转换为 VMDK/VDI 等格式,老版本虚拟化平台兼容性不如 VHD。

二、磁盘管理扩展 C 盘后,「此电脑」里容量没变化

现象

使用 Windows 自带的磁盘管理给 C 盘执行“扩展卷”,过程中报错。但打开磁盘管理一看,C 盘分区已经变大;再看“此电脑”,C 盘容量却还是原来的 426.92 GB,没有任何变化。

原因:分区扩大了,文件系统没跟上

这是一个非常经典的已知问题(微软官方 KB 832316 有专门记录):

  • 磁盘管理显示的是「分区」大小 —— 它已经扩容成功;
  • 此电脑 / 资源管理器显示的是「文件系统」大小 —— 这一步失败了。

扩展卷其实是两步操作:① 扩大分区边界 → ② 扩展 NTFS 文件系统填满分区。当时的报错(通常是“参数不正确 / The parameter is incorrect”)发生在第二步,多由文件系统存在错误(脏位)引起,导致两边对不上。

修复方法

第一步:修复文件系统错误(清除脏位)

以管理员身份打开命令提示符:

chkdsk C: /f

C 盘是系统盘会被占用,会提示“是否计划在下次重启时检查此卷”,输入 Y 回车,然后重启电脑。开机时会自动执行磁盘检查(蓝色背景扫描),耐心等它跑完进系统。这一步是关键,不修好文件系统错误,下一步也会失败。

第二步:用 DiskPart 扩展文件系统

进系统后,再次以管理员身份打开命令提示符:

diskpart
list volume
select volume X     ← X 换成 C 盘对应的卷号
extend filesystem
exit

成功的话会提示:“DiskPart 成功扩展了卷的文件系统。”

为什么用 extend filesystem? 这是官方专门用于“分区已扩展但文件系统未扩展”场景的命令,它只扩展文件系统去填满分区,不会动分区和数据。完成后打开“此电脑”刷新,C 盘容量就会显示为新大小。此操作在线完成,不需要重启。

注意事项

  1. 不要再去磁盘管理重复点“扩展卷” —— 分区层面已完成,再点只会提示没有可用空间,操作无效;
  2. 暂时不要用第三方分区工具去“调整” C 盘 —— 分区和文件系统当前处于不一致状态,乱动有风险;
  3. 建议先把数据盘的 Disk2vhd 备份做完再动系统盘,虽然这两步风险很低,但先备份再动分区总是好习惯;
  4. 如果 extend filesystem 仍报错,或 chkdsk 发现大量无法修复的错误,需进一步排查(如用 DiskGenius 检查分区表、用 CrystalDiskInfo 查看硬盘健康状态)。

三、小结

  • Disk2vhd 备份数据盘:勾 Use Vhdx + Use Volume Shadow Copy,目标放别的物理盘即可;同一物理盘上的多个分区会合并成一个 VHDX,想分开就分两次转换;
  • “分区已扩容但资源管理器容量没变” = 分区成功、文件系统未扩展,修复口诀:先 chkdsk C: /f 清脏位 → 再 diskpart 的 extend filesystem。

本文记录于一次 Windows 磁盘备份与扩容实操过程 · 工具版本:Disk2vhd 2.02 / DiskGenius V5.4.2.1239