Grub2引导VHDX中的Windows
来源:互联网 发布:网络恶意诋毁怎么办 编辑:程序博客网 时间:2024/06/05 10:27
装了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安装包做的事::解压 install.wim 到指定分区、写入引导扇区、写入 BCD 这三样。
4. VHD可以实现多级引导,也就是说VHD中的文件还可以再识别另一个VHD中的文件。这个是重点,也就是实现Grub2引导VHDX中Windwos的原理。
具体的步骤如下:
虚拟一块VHD或VHDX硬盘,并写入MBR和引导文件后,再用这个硬盘来引导VHD文件中的系统,这样借助memdisk后grub2可以引导VHD,而memdisk引导后可以直接读取MBR,(关于memdisk可以去其WIKI上获取更多信息),这样再把BCD中的引导路径更改为本地的系统或VHD中的系统。步骤如下:
1.首先创建一个VHD磁盘,进入命令行后DISKPART。
Create vdisk file=c:\win7bootmgr.vhd maximum=32 type=fixed
Select vdisk file=c:\win7bootmgr.vhd
Attach vdisk
Create partition primary
Active //这一步是MBR硬盘上必须的
Format label=bootmgr quick
Assign letter=j
2. 之后用bcdboot.exe来将引导文件复制到这个盘中,Bcdboot c:\windows /s h: /l zh-cn (/f可以加也可以不加,如果/f all 是BIOS和UEFI的启动文件都复制,不加就是BIOS,/f uefi是UEFI)
3. 用bootice写入MBR,并且修改复制进去的引导文件中的BCD,将其改为想要的路径。如果要引导VHD则改为VHD所在。
4. 下载最新版syslinux提取memdisk,并放到相应的位置,自己决定。
5. 在etc/grub.d/40_custom中写入菜单:
menuentry “Windows 7 ” {
linux16 /boot/syslinux/memdisk harddisk
initrd16 /boot/win7bootmgr.vhd
}
然后在Ubuntu中执行sudo update-grub。
开机重启即可成功用Grub2引导VHD/VHDX中的Windows。
- Grub2引导VHDX中的Windows
- 重装windows后修复grub2引导
- 重装windows后修复grub2引导
- 重装windows后修复grub2引导
- Windows+Linux 双系统 grub2 引导问题
- GRUB2引导Windows PE等ISO文件的办法
- Windows 8 + centOS7双系统引导丢失 grub2解决
- 安装CentOS后添加Windows引导项到grub2
- Grub2引导WinXP
- 修复 grub2 引导程序
- GRUB2引导linux系统
- 显示grub2引导菜单
- grub2 引导自制kernel
- grub2手动引导ubuntu
- centos7 grub2 引导win7
- GRUB2引导修复
- centos7 grub2 引导相关
- 在Ubuntu系统下装Win7并引导双系统,重装windows后修复grub2引导
- SVN几个有用的钩子(windows下使用)
- 本周任务一
- 养生常识
- 圣杯布局、双飞翼布局
- 电子或通信领域当前的主流技术及其社会需求调查报告
- Grub2引导VHDX中的Windows
- C 数组最大值
- Android 同一段String 要设置为不同的两个颜色
- 超轻量级缓存技术——EhCache
- Android开发进阶系列(十) 玩转AChartEngine专题(下)
- struts2常用标签之property&debug
- robotframework学习
- 用Photoshop制作自己喜欢的桌面
- [python]微信开发access_token数据库存储 和 socket存取