HQY

×

Windows使用VHDX后无法开启休眠的时代,很快就要结束了

hqy hqy 发表于2026-06-30 22:06:02 浏览2 评论0

抢沙发发表评论

图片

1.1 项目目标

在 Windows 平台上设计并实现一个内核模式驱动程序,将 VHDX 格式的虚拟磁盘镜像文件 挂载为 Windows 可以识别的物理磁盘,并支持 Windows 将该虚拟磁盘用作系统分区(即从该 VHDX 磁盘启动 Windows)。

1.2 核心需求

需求
说明
VHDX 格式支持
完整支持 Microsoft VHDX v2 规范(动态、固定、差分三种格式)
虚拟磁盘呈现
将 VHDX 文件虚拟化为 Windows 可识别的磁盘设备,支持分区、格式化、文件系统
EFI 参数传递
存储设备分区信息、VHDX 镜像文件名通过 EFI 环境变量传递给驱动
系统启动支持
通过 UEFI 阶段的虚拟磁盘模拟,Windows Boot Manager 无需感知 VHDX 格式即可启动
休眠支持
完整支持 S4 休眠和恢复。虚拟磁盘在 UEFI 阶段由 Multiware 提供,休眠文件可直接访问
延迟加载
处理 mwvdd.sys 先于物理磁盘驱动加载的时序问题,支持存储就绪后自动加载
参考 svbus
驱动框架参考 Windows SVBus 虚拟总线驱动的架构模式

1.3 非功能性需求


  • 性能

    虚拟磁盘 I/O 性能不低于物理磁盘的 80%(固定格式)
  • 可靠性

    支持异常断电恢复,通过 VHDX Header 双副本机制(取高 SequenceNumber 有效头)保证元数据一致性
  • 兼容性

    支持 Windows 7 / 8 / 8.1 / 10 / 11 x64 及对应 Windows Server 版本
  • 可维护性

    VHDX 解析代码与 Linux MWVD 模块保持结构一致,便于同步更新

1.4 核心设计理念:两阶段虚拟磁盘

本方案的独特之处在于虚拟磁盘的模拟跨越两个执行阶段:

UEFI 固件阶段(Multiware 云固件)
  └── VHDX 文件 → 虚拟磁盘 → Boot Manager 可读
       │                      │
       │   虚拟磁盘持续有效     │ hiberfil.sys 可直接访问
       │                      │
Windows 内核阶段(mwvdd.sys)  │
  └── 接管 VHDX 解析 ←───────┘
       │
       虚拟磁盘继续工作(无缝衔接)

关键优势:由于 Multiware 在 UEFI 阶段已将 VHDX 模拟为虚拟磁盘,Windows Boot Manager 始终面对的是一个"普通磁盘",因此即使 Windows 7 的 Boot Manager 完全不支持 VHDX 格式,也能正常启动并从该虚拟磁盘读取休眠文件。

初始版1.0.0驱动已经编译完成,测试完成后就会发布。


打赏

本文链接:https://kinber.cn/post/6683.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客