关于 VHD

虚拟硬盘 (VHD) 格式是一种公开提供的映像格式 规范 ,允许将硬盘封装到单个文件中,以供操作系统以相同的方式使用物理硬盘作为 虚拟磁盘 使用。 这些虚拟磁盘能够托管 (NTFS、FAT、exFAT 和 UDFS) 的本机文件系统,同时支持标准磁盘和文件操作。 VHD API 支持允许管理虚拟磁盘。 使用 VHD API 创建的虚拟磁盘可以充当启动磁盘。

如何使用 VHD 文件的一个示例是 Windows 7、Windows Server 2008、虚拟服务器和 Windows 虚拟电脑中的 Hyper-V 功能。 这些产品使用 VHD API 来包含虚拟机用作其系统启动磁盘的 Windows 操作系统映像。

Microsoft Windows 软件开发工具包 (SDK) 集成了本机 VHD 支持,支持使用虚拟磁盘,使开发人员和管理员能够更轻松地使用平台 API 支持或管理工具在 VHD 文件中创建、管理和部署 Windows 映像。 无需安装单独的应用程序或实现 VHD 格式分析程序来启用这些操作。 这些 API 允许独立于任何其他虚拟化技术通用使用虚拟磁盘。

术语

术语 后备存储 用于指实际硬盘上存在的物理文件。 后备存储由 VHD 映像文件表示。

在引用 动态扩展的虚拟磁盘时,术语动态、 可扩展稀疏 通常可互换使用。 对于 VHD 技术,这些术语是相同的。

VHD 系统功能概述

下图概述了 VHD 功能及其关系。

vhd 块关系图

下面是前面描述的功能的摘要说明。

用户模式本机 Windows API:

  • VirtDisk.dll - VHD 管理 API 的通用库。

用户模式域特定的管理包装器:

  • VDS VHD API - VHD Windows API 的 VDS 对象模型包装器。

内核模式驱动程序:

  • VDrvRoot.sys - 根虚拟驱动器枚举器。
  • FsDepends.sys - 嵌套卷依赖项管理。
  • Vhdmp.sys - VHD 分析器和依赖属性提供程序。

本部分中的 SDK 文档介绍了用户模式本机 Windows VHD API。

虚拟磁盘类型

使用虚拟磁盘时有一些注意事项,以及可用的虚拟磁盘类型:

  • 已修复 - VHD 映像文件已根据请求的最大大小在后备存储上预先分配。

  • 可扩展 - VHD 映像文件也称为“动态”、“动态可扩展”和“稀疏”,它只使用后备存储上所需的空间来存储虚拟磁盘当前包含的实际数据。 创建此类虚拟磁盘时,VHD API 不会根据请求的最大大小测试物理磁盘上的可用空间,因此可以成功创建最大大小大于可用物理磁盘可用空间的动态虚拟磁盘。 有关详细信息,请参阅 ExpandVirtualDisk注意 动态虚拟磁盘的最大大小为 2,040 GB。

     

  • 差异 - 父虚拟磁盘用作此类型的基础,随后写入虚拟磁盘的任何操作都与新的差异 VHD 映像文件不同,并且不会修改父 VHD 映像文件。 例如,如果你有一个干净安装系统启动操作系统虚拟磁盘作为父级,并将差异虚拟磁盘指定为系统要使用的当前虚拟磁盘,则父虚拟磁盘上的操作系统将保持其原始状态,以便快速恢复或基于其他差异虚拟磁盘快速创建更多启动映像。 有关详细信息,请参阅 MergeVirtualDisk注意 差异虚拟磁盘的最大大小为 2,040 GB。

     

所有虚拟磁盘类型的最小大小为 3 MB。

关于 VDS

VHD 参考

虚拟硬盘映像格式规范