Grub2实现引导逻辑分区上的Win8
本方法有一些缺陷,可能会导致Windows8无法配置更新和Windows功能,使用前请做好备份。
至于是什么导致的Win8无法配置更新和Windows功能,目前还不知道。
系统环境如下:
Windows 7安装在/dev/sda1即(hd0,1)。Grub2的表述为:(hd0,msdos1)
Windows 8安装在/dev/sda5即(hd0,5)。Grub2的表述为:(hd0,msdos5),也就是第一个逻辑分区上。
Fedora17安装在硬盘最后面一段空间里。【大D不是很懂Linux的分区
这次要做的就是使用Grub2直接引导这三个操作系统,从而避免从过Grub2引导Win7/8进入下一级菜单,然后再选择想要进入的操作系统这种脱裤子放屁的事儿。
这里我们假设已经装好了三个系统,且Grub2为主引导。
本文假设C盘是安装Win7的盘符,D盘是安装Win8的盘符。
1.取消使用Win8的图形化引导菜单
a.Win+R,在运行窗口里输入msconfig,选择引导选项卡,将列表中的Windows7设置为默认OS。
b.重启电脑,这是可以看到恢复到了Win7的引导菜单。
c.进入PE,将C盘的boot目录和根目录下的bootmgr复制到D盘。
2.写PBR
PBR (Partition Boot Record) 硬盘分区引导记录,Grub2引导逻辑分区上的操作系统就全靠它了。
在Win7下,以管理员身份执行命令提示符(CMD)。
输入以下命令。
1 2 3 4 5 6 |
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\derek_s>bcdedit /store D:\boot\bcd /set {bootmgr} device partition=D: C:\Users\derek_s>cd c:\boot C:\Boot\Bcd>bootsect /nt60 D: |
然后,使用Bootice,对分区写PBR。
a.在目标磁盘处选择安装了系统的硬盘
b.点分区引导记录
c.在分区引导记录窗口里面的目标分区处选择需要写PBR的分区
d.选择类型为BOOTMGR引导程序
e.最后点安装/配置
f.进入Fedora,在终端下运行:
1 2 |
# 重新生成配置文件 [root@derek ~]# grub-mkconfig -o /boot/grub2/grub.cfg |
到这里,已经可以使用Grub2来分别启动C盘和D盘上的引导程序了。
3.修改BCD
同样使用Bootice,选择BCD编辑。
a.其他BCD文件
b.查看/修改
c.选择Windows 8
d.删除
e.保存当前系统设置
f.关闭
修改Windows8分区上的BCD是同样的操作,只不过要删除Windows 7的开机选项。
Win8 BCD路径,D:\boot\bcd
这个BCD就是前面复制过来的BCD。
总结
到这里,基本上就可以使用Grub2引导逻辑分区上的Win8了,具体就在于要有正确的分区引导记录,在Win8安装的逻辑分区里面有bootmgr。
参考资料
http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=256243
https://wiki.archlinux.org/index.php/GRUB2_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
http://bbs.wuyou.com/viewthread.php?tid=57675
大D不是很懂Linux的分区
哇卡卡,肯定是用了LVM这个东西
@davelv 我是在安装的时候,直接让安装程序代劳了。。
是不是原来有win7+fedora,然后装了win8以后,开机没有启动项了?
可以用张fedora/ubuntu的liveCD,然后进入试用的界面,开终端,install grub貌似就可以了,我以前也这也折腾过
@52computer 是这样的,我是Fc+Win7+Win8,用Grub2引导,做到在Grub2中分别引导这三个系统。
也就是进Win7/8的时候不用再进入Win7/8的引导菜单。
我为了避免52童鞋说的这种情况,一直都是用Bootice备份一份mbr出来的,遇到主引导有问题,直接恢复。只要Grub没有被损坏就ok.十分方便。
这个太复杂了!