当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : grub如何启动2个主分区里的2个Win7?
帖子发表于 : 2012-12-31 14:20 

注册: 2007-06-06 18:36
帖子: 307
送出感谢: 0 次
接收感谢: 0 次
我的电脑,三个主分区分别为win7、未用、XP,ubuntu装在逻辑分区,grub装在MBR,一切正常。
因为Win7变慢,我就在未用的第2个主分区也ghost了一个win7,
然后进入ubuntu, sudo update-grub,重新启动,启动菜单有2个win7,
但是选择sda2的win7,却总是进入sda1的win7。
看了一下grub.cfg,发现sda1和sda2两个分区UUID是一样的(来自同样的ghost Win7)。
所以第2个win7总是进入第1个win7。
我把有UUID那一行删除,改成
set root=(hd0,2)
结果还是一样。
有没有人碰到同样的问题?
我的系统是deepin_11.06_i386,基于Ubuntu的。


最后由 ustone 编辑于 2013-01-01 20:23,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: grub如何启动2个主分区里的2个Win7?
帖子发表于 : 2012-12-31 20:11 
头像

注册: 2010-07-15 18:30
帖子: 674
送出感谢: 2
接收感谢: 7
没有碰到过,干脆把 grub2 装在逻辑分区上,MBR 用 win 的 bootmgr 好了!


_________________
我是OS控…


页首
 用户资料  
 
3 楼 
 文章标题 : Re: grub如何启动2个主分区里的2个Win7?
帖子发表于 : 2012-12-31 23:32 
头像

注册: 2007-10-23 12:54
帖子: 1750
送出感谢: 3
接收感谢: 28
Win7 启动靠的是 bootmgr,一旦 bootmgr 启动就会加载找到的第一个 BCD 也就是引导配置文件。所以把后一个 Win7 的引导写到前一个 Win7 的菜单里应该就可以了。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: grub如何启动2个主分区里的2个Win7?
帖子发表于 : 2013-01-01 0:03 

注册: 2012-11-25 15:29
帖子: 48
系统: LTS 12.04
送出感谢: 3
接收感谢: 0 次
你因该可以通过bcdedit修改BCD,创建一个新的引导项,到第二个win7上去


页首
 用户资料  
 
5 楼 
 文章标题 : Re: grub如何启动2个主分区里的2个Win7?
帖子发表于 : 2013-01-01 13:02 

注册: 2007-06-06 18:36
帖子: 307
送出感谢: 0 次
接收感谢: 0 次
tooktang 写道:
没有碰到过,干脆把 grub2 装在逻辑分区上,MBR 用 win 的 bootmgr 好了!


bootmgr能调用逻辑分区的grub2启动Ubuntu不?
现有系统上怎么安装bootmgr到MBR?


页首
 用户资料  
 
6 楼 
 文章标题 : Re: grub如何启动2个主分区里的2个Win7?
帖子发表于 : 2013-01-01 13:09 

注册: 2007-06-06 18:36
帖子: 307
送出感谢: 0 次
接收感谢: 0 次
AutoXBC 写道:
Win7 启动靠的是 bootmgr,一旦 bootmgr 启动就会加载找到的第一个 BCD 也就是引导配置文件。所以把后一个 Win7 的引导写到前一个 Win7 的菜单里应该就可以了。


经过一个下午的尝试摸索和easy bcd的使用,我发现了bootmgr只会加载上一次启动win7时加载的BCD,如果上一次依赖H:\boot\BCD(sda2)启动进入win7,这一次从sda1(C:)进去,加载的还是H:\boot\BCD(sda2),反之亦然。(我用easy bcd加上手工的dos命令使C:和H:的\boot\BCD不同(利用easy bcd可以改变启动驱动器重置过C:和H:),然后grub分别进入win7(sda1)和win7(sda2),显示的是相应的BCD启动菜单,只要没有真正启动win7,启动MaxDOS或XP等,都一直正确显示相应的BCD启动菜单。(证明grub正确加载了sda1或sda2里的win7的bootmgr)。一旦启动了一个win7,以后BCD就固定为上次进入win7的那个分区的了,所以grub菜单的2个win7就只能加载同一个BCD了。应该是win7启动后会重置其它分区的win7的bootmgr以后去读取本分区的BCD。如果是在硬盘上第2个主分区ghost安装第2个win7,它的bootmgr应该会搜索原来win7分区的BCD。)

easy bcd可以改变启动驱动器(即从哪个分区加载BCD)。

感觉win7不想让grub牵着走,故意这样设计的,导致bootmgr不如grub清晰而且独立性不好(因为可能一个主分区里的bootmgr去加载另一个主分区里的BCD,而且删除或改变一个主分区用途可能影响另一个主分区里win7的启动)。以前grub里2个XP都可以分别启动。

现在我已经用win7的boot manager暂时代替grub了。easy bcd的NeoSmart Linux很强大,可以通过它引导Linux,但好像和grub2(装在MBR)有冲突,还没完全搞明白。

win7修复启动可以从U盘进入win pe,进入win7的system32目录运行bcdboot c:\windows /s c: 命令。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译