以编程方式重新连接损坏的 VHD 链

Reconnect broken VHD chain programmatically

如果 VHD 链损坏(例如,父 VHD 被修改,这就是子 VHD 不再挂载的原因),可以使用 Hyper-V "Reconnect" 功能修复它。我如何以编程方式执行相同的操作?

我想你想要 AttachVirtualDisk,但我不确定这是否是你对 VHD 链的要求。

确定找到解决方案。需要使用 OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS 标志以 OpenVirtualDisk 打开 VHD。然后用 SET_VIRTUAL_DISK_INFO_PARENT_PATH 调用 SetVirtualDiskInformation 传递与之前相同的路径。这将更新父唯一 ID 并允许挂载链。