|
|
VHDX(包括VHD)是微软的虚拟硬盘格式,在Windows 7 企业版和旗舰版开始支持VHD Native Boot引导,在Windows 8之后完善并增加了VHDX格式。
要启动VHDX镜像文件,通常都需要修改BCD文件,然后使用bootmgfw.efi来引导。
市面上其他第三方工具启动VHDX(VHD),原理上都是通过自动修改BCD文件最后调用bootmgfw.efi来引导,并非自身引导VHDX文件。
VHDX镜像文件的最大好处就是整个系统都在一个镜像文件中,同时镜像文件可以支持差分。差分可以快速还原到父镜像所处的系统状态。但是,bootmgfw.efi并不支持启动阶段对镜像文件进行差分。
于是,很多高手开发了多个VHD启动切换到PE,通过Windows内命令实现差分,生成子镜像,重启切换到子镜像启动。
另外的方法,通过复制指定的子镜像文件文件,实现变相的差分。
这些方法,业务逻辑上,都是没有直接方法选择的变相方法。
然而,UEFI作为现代BIOS固件,拥有极强的扩展能力,同时也支持链式引导,只要在bootmgfw.efi启动前,提前把子镜像文件创建出来,差分启动创建出来的子镜像,那么整个启动流程就是非常顺畅的,没有那么多弯弯绕。
但是,在UEFI环境下差分创建子镜像,需要解决VHDX文件格式解析问题、父镜像浏览指定问题、整体业务流程问题,故此这么多年来一直没看到成功方案。
现在,方案来了,云固件就是上面解决方法的落地实现项目。
差分实现过程:
1.通过配置文件,指定父镜像文件;
2.使用图形界面,选择镜像启动选项;
3.选择手动差分动作生成子镜像,并直接调用bootmgfw.efi启动;
4.对于已经生成的子镜像,可以选择直接启动;
镜像配置文件
选择主界面
手动差分启动
选择之前创建的子镜像启动
|
|