装了Windwos与Ubuntu多系统,在网上查了好多资料,都没发现如何用Grub2引导装在VHDX中的Windows开机,有关于使用memdisk的,但是装有Windows的VHDX过大,直接让其引导会出错,于是读了几篇文章后,有了一些想法,自己试验了一下,成功实现了用Grub2引导VHDX中的Windwos开机。
网上看到一篇帖子的内容是用grub2引导UEFI(gpt硬盘)中的Windows 7开机的,看完帖子明白了以下几点:
1. 在BISO下,Windows7 开机的时候只要读取BCD后就可以引导VHD,但是BCD所在硬盘必须有MBR,即为主分区,但重要的是这个硬盘可以是物理的也可是虚拟的,也就是说如果在gpt的硬盘上,可以虚拟出一块硬盘并写入MBR,再加入引导文件即可实现引导物理磁盘上的操作系统。
2.VHD是一个硬盘镜像,只是最后多了一点文件,形成了vhd格式。发现原来当 type=fixed 的时候,vhd 其实就是 raw image 加上 512 字节的 footer。切掉这个尾巴之后,得到的东西和 dd 式的 raw image 是一模一样的。而就算不切掉尾巴,这一部分也会被认为是未分区空间从而被忽略掉。所以,其实 type=fixed 的 vhd 是不用转换,直接可以当 raw image 用喂给 MEMDISK 的。
3. Windows 的安装框架是 Windows PE,而 Windows 安装镜像文件也就是 Windows PE 和 install.wim 的组合而已,所以可以直接从安装镜像里就可以释放一个 Windows PE 出来。Windows安