无忧启动论坛

标题: 请教:引导第二硬盘的vista [打印本页]

作者: bobodggb    时间: 2008-12-14 23:59
标题: 请教:引导第二硬盘的vista
配置情况:
hd0:40G, IDE接口, (hd0,0)预留空间,打算安装 WIN PE ,(hd0,1)安装ubuntu8.10
hd1:160G, SATA接口,(hd1,0)安装XP番茄,(hd1,1)安装XP纯净,(hd1,2)安装vista,(hd1,4)安装MAC,(hd1,5)备份区
hd2:250G,sata接口,资料保存区
hd3:40G,IDE接口,下载区

目前通过UBUNTU8.10引导其它系统,menu.lst配置如下

title linux
…………

title xp1
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
chainloader +1

title xp2
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,1)
chainloader +1

title vista
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,2)
chainloader /bootmgr

…………

出现引导xp系统正常,但不能引导vista系统,error:17 cannot mount selected partition。
郁闷中,为什么会出现这种错误呢?有什么解决的办法呢?希望大家赐教!!!!

[ 本帖最后由 bobodggb 于 2008-12-15 16:43 编辑 ]
作者: missxia    时间: 2008-12-15 02:23
我也想知道,沙发。。。
作者: victor888    时间: 2008-12-15 10:09
ubuntu不懂,grldr还行。
作者: xyl5565    时间: 2008-12-15 10:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: Climbing    时间: 2008-12-15 10:44
楼主根本不懂引导,也不懂grub4dos。

从你那个菜单看,你用的根本不是Ubuntu 8.10自带的grub,而是grub4dos,而且,用法还是错误的。

象你这种情况,你应该先讲清楚你的各个系统是如何安装的,每个系统的引导都要从引导扇区、引导文件这些东西开始,不清楚这些基础的架构,谈何引导?
作者: bobodggb    时间: 2008-12-15 17:03
to:xyl5565 (龙哥)
之前已试过了,用这种方法是直接引导去了xp番茄版。

to:Climbing大哥
你说的很对,我其实真的不懂引导,不知climbing大哥还记得不,我是从上次那个引导mac之后才开始认识引导,我真的是很菜的,那些语句我是真的看过grub4dos后写的,我目前是通过Ubuntu 8.10琮引导系统的!(mac的暂时不行,之前在网上有看过可以通过Ubuntu的grub来引导)

我先说说我的情况:
把160G硬盘分为5个区,三个为主分区(xp1,xp2,vista),二个为逻辑分区(mac,备份区),把160G硬盘设置为启动第一硬盘,先安装mac,再独立安装xp1,xp2,vista,mac通过xp1来引导,单独把1,2,3分区设置为活动分区后可以独立启动相应的系统。
把80G IDE 分为3个区(fat32,ext3,swap),硬盘设置为第一启动硬盘,安装Ubuntu8.10,通过第一楼设置的menu.lst,可以正常启动xp1,xp2,ubuntu8.10(mac还没去测试),但是启动vista的时候发生错误。

在网上逛了一遍,说法很多,也找不到比较统一的教程(我的E文不行),希望各位大哥除了提供这问题解决方法外,也可以提供一些好教程,谢谢……
作者: xyl5565    时间: 2008-12-16 08:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: bobodggb    时间: 2008-12-16 09:15
to:xyl5565 (龙哥)
不是太明白是什么意思,昨晚回去也试了一下,设置160G硬盘为启动第一硬,第一主分区为活动分区,即xp番茄引导grub4dos,可以通过以下启动vista
rootnoverify (hd0,2)
chainloader /bootmgr
弄不清楚.
ubuntu8.10的grub与grub4dos的区别有什么呢?望赐教!!!
作者: xyl5565    时间: 2008-12-16 09:41
提示: 作者被禁止或删除 内容自动屏蔽
作者: bobodggb    时间: 2008-12-16 10:22
上网查找了一下,发现有两个可能,不是对否:
1)xp与vista共存的一个,必须要有一个hide,别一个用unhide,如果是这样的话,那为什么用160G 硬盘设为第一启动硬盘的时候(grub4dos)可以启动呢?
2)引导windows系统,必须为活动分区.这也好像也跟我用grub4dos引导的时候有矛盾啊?

另:如果有一个系统引导的时候用了makeactive,那引导其它系统的时候是不是也要用makeactive设置呢?(例如,grub4dos是通过xp引导,当引导vista的时候把E区设置为活动,那下次启动的时候是不是就会直接是启动vista,而不能启动grub4dos呢),不好意思,我对引导的一些概念定义把握不太准,描述的可能不太清楚,现在也不能测试.

[ 本帖最后由 bobodggb 于 2008-12-16 10:24 编辑 ]
作者: xyl5565    时间: 2008-12-16 11:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: xxxyyy1    时间: 2008-12-17 12:07
不懂。。。。。。。。。。。。。。。。
作者: Climbing    时间: 2008-12-17 12:59
在我的印象中,你安装的这些系统中,Mac、Vista、Ubuntu都是最好引导的,我对Ubuntu 8.x的引导比较熟悉,它只依赖于自己根分区的uuid,只要uuid指定对了,无论从哪里都可以正常引导。而Vista则只依赖于自己所在硬盘的MBR中的微软标识,只要标识没改,也可以随意启动(这一点类似于ubuntu中的uuid)。Mac的启动就是靠tboot去查找hfs+分区,只要是支持的,应该也可以随意启动(不过我没有试过双硬盘的情况下这是否好用)。

而XP能否启动则严重依赖于boot.ini中的ARC路径,如果(hd0)换成了(hd1),那么xp肯定是不能正常启动了,用grub4dos的map (hd0) (hd1)的仿真方式是可以解决这个问题的。

针对楼主的问题,我建议在160G的硬盘的mbr中安装grub4dos,并将该硬盘设置为(hd0),基本上一个menu.lst全部搞定(menu.lst放到160G硬盘的第一主分区上,grldr也放在这里,也就是hd0,0上),不过xp1和xp2需要共用一个boot.ini,启动时需要手工选择一下(或者用激活对应分区的方式来启动,这样就避免了手工选择)。


  1. default 0
  2. timeout 8
  3. title xp1
  4. root (hd0,0)
  5. makeactive
  6. chainloader /ntldr # 或者 chainloader +1

  7. title xp2
  8. root (hd0,1)
  9. makeactive
  10. chainloader /ntldr # 或者 chainloader +1

  11. title vista
  12. find --set-root /bootmgr
  13. chainloader /bootmgr

  14. titile Mac OS
  15. find --set-root /tboot
  16. chainloader /tboot

  17. # Ubuntu的参数将ubuntu自带的menu.lst相应内容搞过来就行了,类似下面的格式
  18. title Ubuntu
  19. find --set-root /boot/vmlinuz......
  20. kernel /boot/vmlinuz.... root=uuid=xxxxxxxxxxxxxxxxxxx ...
  21. initrd /boot/initrd.......
复制代码

作者: bobodggb    时间: 2008-12-18 00:12
如果是把160G硬盘设置为HDO,是没问题的,我都可以实现全部的引导。
把80G硬盘设为HDO也是为了想弄清楚怎样来处理二硬盘启动的问题。
希望Climbing 大哥可以给点意见!

另ubuntu8.10的grub也应该有map的仿真功能吧?我通过了在ubuntu的grub下用map可以引导xp,这可不可以说明该grub在仿真功能呢?

昨晚把ubuntu的grub升级了一下,结果 ubuntu启动不了,其它没问题!还可以上网来查东西,现在在想办法解决!
作者: Climbing    时间: 2008-12-18 00:30
Ubuntu的grub是GNU Grub legacy再加上自己的补丁,跟grub4dos完全是两回事,它肯定是不支持map这种仿真功能的,之所以没有出错误,是因为grub默认忽视它不认识的命令行,就当那些命令不存在,grub4dos也具有这个特点,你可以试试在menu.lst中写上一些不存在的命令,然后用e看一下相应菜单下的命令,你会发现那些行都消失了。

关于将80G的当成(hd0),然后用来启动xp,应该也是可以的。不过对应的菜单应该改成这样:

title xp1
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd0,0)
makeactive
chainloader /ntldr

titile xp2
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
root (hd0,1)
makeactive
chainloader /ntldr
作者: bobodggb    时间: 2008-12-18 00:43
我也弄不清楚了,我第一次尝试的时候是没有用map的语句,结果启动不好,后来加上了就可以启动了,所以我以为是支持map仿真的!
我用E打开了那些菜单命令,可以看到map这个语句的!
我也尝试了用C了启动,打上help,也可以 看到map to partion from partion!

另,上面两个语句是用来启动xp的,启动vista就没办法吗?
作者: Climbing    时间: 2008-12-18 01:10
标题: 回复 #16 bobodggb 的帖子
启动vista不需要什么特别的设置吧?用原来的菜单应该就可以了。

我对Ubuntu自带的grub也不了解(实际上是从来没有用过),还真不知道它也有map命令,或许是从grub4dos中抄过来的。
作者: bobodggb    时间: 2008-12-18 13:36
现在的问题就是引导不了vista,我按你说的方法也试了几遍,结果还是不行,不能使用map --hook,经常出现的错误分两种:1)not found file 2)error:17 cannot mount selected partition。
我在想,是不是vista不能安装在HD1呢?还是ubuntu带的grub不支持hd1的vista呢?

打算今晚回去试验:ubuntu的grub(MBR)—grub4dos(hd0,0)—vista(hd1,2)
作者: xyl5565    时间: 2008-12-19 08:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: Climbing    时间: 2008-12-19 09:47
标题: 回复 #18 bobodggb 的帖子
你试试这样启动Vista:

map (hd0) (hd1)
map (hd1) (hd0)
map --hook
find --set-root /bootmgr
makeactive
chainloader /bootmgr


问题关键在于bootmgr如何找到自己的菜单配置文件BCD,可能它的找法类似于NTLDR找boot.ini,它只会在(hd0)的活动分区上找自己的菜单配置文件。注意,我说的这些命令都是grub4dos下的命令。

你可以用ubuntu的grub使用kernel grub.exe方式来加载grub4dos。

[ 本帖最后由 Climbing 于 2008-12-19 09:48 编辑 ]
作者: xyl5565    时间: 2008-12-20 13:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: bobodggb    时间: 2008-12-21 23:26
各位大哥!不好意思,是我自己搞错了,我现在知道什么问题了,但想不到有什么好的方法解决!

主要原因是我的vista用了VistaSP1_Loader来破解激活,这安装破解后把160G设置为第一启动盘,把vista分区(第3分区)设置为活动分区,也不能正常引导进vista,是经过一段比较长的时间启动到第一分区的xp,如果把VistaSP1_Loader删除后就可以正常引导启动到vista。

大哥们可以提供一下解决的方法吗?是通过grub解决呢?还是通过变换破解方法解决呢?


另:可以解释一下vistasp_loader的原理和生成哪些文件吗???

[ 本帖最后由 bobodggb 于 2008-12-22 00:04 编辑 ]
作者: Climbing    时间: 2008-12-22 12:30
这个跟Vista Loader没有什么关系吧?
作者: bobodggb    时间: 2008-12-22 14:20
我也觉得很奇怪!是有关系的!但具体是什么情况也不太清楚,网上也有这种情况,但解决的方法好像没什么统一,我试了一下,也解决不好!

网上有资料说vista loader其实就是一个grub4dos,用grub4dos来模拟bois的oem,安装了vista loader会在安装的vista的分区(我的情况是活动分区)的根目录下产生一个grldr,据说程序内置的默认引导菜单模拟 BIOS ,然后通过grldr引导bootmgr,vista loader也会改变mbr,具体怎样改变就不清楚了!
http://bbs.znpc.net/viewthread.php?tid=4067
http://bbs.znpc.net/redirect.php?tid=5014&goto=lastpost

我的昨晚(今天凌晨)测试情况:
1)没装vista loader:可以正常进入vista ,但vista是没有激活。
2)装了vista loader:启动时间比较一般的长,停顿了一段时间就启动到了第一分区(hd0,0)的xp。
3)删除vista loader:又可以正常启动vista
4)…………
弄了很多遍,还是不行,有关的资料比较少,水平也不够,看不懂应该怎样弄!太困了,睡着了!
作者: xyl5565    时间: 2008-12-23 01:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: Climbing    时间: 2008-12-23 20:38
标题: 回复 #24 bobodggb 的帖子
我由于没有用过Vista,所以对你说的Vista Loader不是很熟悉,感觉上你指的Vista Loader应该就是网上流传的softmod-l.iso(事实上还有另一个Vista loader可以轻易的激活Vista,我就是用这个轻易激活了我安装的Vista 64位版,版本是2.1.3),破解原理是:使用一个修改版的grub4dos(也就是grldr),这个修改过的grldr相当于软修改BIOS(修改对应的内存区域)从而将你的机器变成一个假的OEM机器,从而用OEM版的lic文件激活。所以,这种Vista的启动过程是先进入grub4dos(也就是修改过的grldr),然后再通过grub4dos调用bootmgr(估计这里就要用到一个软盘映像中的bootmgr + BCD)来启动了,从目前来看,应该是那个软盘映像里面的BCD文件设置有问题,只要修改一下BCD文件应该就可以了。
作者: bobodggb    时间: 2008-12-23 21:42
我说说我昨晚的测试过程:
1)把vistal loader删除,安装一个以前用过的破解软件(具体软件名不清楚,但结果也是在vista的分区根据目录出现grldr,启动过程出现了第一分区根据目录下的menu.lst菜单,grldr的版本不hd0的grldr,所以可以确定是安装破解的时候出现的grldr,比较旧的,在引导vista 的菜单用了acpi - rootnervify (hd0,1) - chainloader /bootmgr,可以引导进入破解的vista
2)把比较新版的vista loader安装时候出现的grldr覆盖vista分区的grldr,结果情况跟以前的一样,经过长时间启动到xp,这可不可说明是grldr有问题呢?

boot文件夹下是有bcd文件,但我不知道怎样弄!

[ 本帖最后由 bobodggb 于 2008-12-23 21:51 编辑 ]
作者: bobodggb    时间: 2008-12-23 21:48
to 龙哥

1) 如何绕过loader来激活vista 呢?是不是就是说用别的办法,便刷bois?
2)vista loader没有选择安装路径的,安装的时候就会在vista的分区的根目录下出现grldr,我是在设置vista分区为活动分区的情况启动vista的,这算不算是把vista loader安装在vista分区呢?

会不会是我的vista loader有问题呢?之前不久我试过安装是可以激活的,不过那时候是把vista安装在第一分区.

vista分区根目录下的boot文件夹是什么时候出现的?是安装vista的时候还是vista loader的时候呢?

[ 本帖最后由 bobodggb 于 2008-12-23 21:50 编辑 ]
作者: bobodggb    时间: 2008-12-23 21:49
to Climbing
根据我的理解,我估计不是用softmod-i.iso,等我回到家把那个vista loader贴上来!我在安装vista loader的时候有很多个OEM来选的
作者: Climbing    时间: 2008-12-23 22:34
标题: 回复 #29 bobodggb 的帖子
如果有多个OEM来选,那肯定是softmod无疑,因为它会对应不同的OEM文件在Vista中导入对应的Lic文件。

你可以在下面的链接中下载到我说的那个Vista Loader v2.1.3,感觉上它比较好用,比softmod要好。
http://nufans.net/upload/micro$oft/vista
作者: bobodggb    时间: 2008-12-24 00:59
也试过了vista loader v2.1.3了,结果还是跟第一个一样了!到目前为止,只有第二个可以引导进入vista!
第一个:VistaSP1_Loader_3.0.0.1,失败,启动到HD0,0的XP。
第二个:windows vista 傻瓜式破解程序v4.8,可以启动,但启动过程中会出现hd0,0上的menu.lst菜单
第三个:Vista Loader v2.1.3跟第一个是一样的结果。

第三个失败后不删除程序,直接把第二个产生的grldr覆盖第三个产生的grldr,可以启动,跟安装第二个的情况是一样的!这是不是说明主要是因为grldr而产生这个问题呢?而跟修改过的mbr没关系呢?

[ 本帖最后由 bobodggb 于 2008-12-24 01:31 编辑 ]

1.jpg (67.7 KB, 下载次数: 55)

1.jpg

2.jpg (35.53 KB, 下载次数: 53)

2.jpg

grldr(Vista_loader_V213).rar

86.86 KB, 下载次数: 39, 下载积分: 无忧币 -2

grldr(VistaSP1_Loader_3001).rar

86.9 KB, 下载次数: 265, 下载积分: 无忧币 -2

grldr(可以引导的).rar

86.87 KB, 下载次数: 52, 下载积分: 无忧币 -2


作者: xyl5565    时间: 2008-12-24 03:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: Climbing    时间: 2008-12-24 09:18
标题: 回复 #31 bobodggb 的帖子
我发给你的Vista Loader根本不是基于grldr的,也就是说,与softmod无关。我运行该程序之后,没有在硬盘根目录下发现grldr文件,它应该使用的是另一种激活方式。我安装Vista时甚至没有填序列号,安装完成后,当时显示未激活,但运行该程序并重启后,直接就激活了,Windows Update之类的完全正常。然后,我试用用grub4dos直接chainloader /bootmgr,完全正常的就进入Vista了,将bootmgr + BCD任意变换位置都没有问题,可以正常启动Vista。

实在不行,QQ联系我,远程支持一下子吧。

[ 本帖最后由 Climbing 于 2008-12-24 09:19 编辑 ]
作者: bobodggb    时间: 2008-12-24 23:47
刚才Q了一下,发现你不在线!

我也觉得奇怪,为什么会这样呢!开始我还以为是我当时忘记了删除windows vista 傻瓜式破解程序v4.8,所以刚也重新试过了一遍,卸载了原来的windows vista 傻瓜式破解程序v4.8,确认vista分区根目录下没有grldr,重新启动,可以直接进入没有激活的vista,也确认了vista分区根目录下没有grldr,再安装vista loader v2.1.3,在安装过程我监视着vista分区的根目录,见着grldr的出现!

真是怪事啊!在网上搜了不知多少遍,也没有发现问题的原因!
我安装的vista为Windows Vista Ultimate SP1 OEM 28 in1 中文版,我在怀疑是不是版本的问题!


龙哥!可不可以详细帮小弟解答一下呢!我可能有时候会钻牛角尖一点,只是有些问题没有弄清楚,总是不舒服的!麻烦你了!

[ 本帖最后由 bobodggb 于 2008-12-24 23:56 编辑 ]
作者: xyl5565    时间: 2008-12-25 03:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: Climbing    时间: 2008-12-25 08:32
标题: 回复 #34 bobodggb 的帖子
感觉上好象你白天不能上线,只能在晚上。而我一般只在白天,晚上就可能有事儿或者只能上网(无法上QQ等即时通讯软件)。

你的测试结果跟我亲自做的完全不同,这让我很困惑。我感觉,不是你出了问题,就是我出了问题。
作者: bobodggb    时间: 2008-12-26 17:59
谢谢各位大哥的解答,现在问题已经解决了,趁着下班前的空闲时间向各位大哥汇报一下!

原因:是因为破解的grldr的跟在(hd0,0)的grub4dos的menu.lst有冲突,grldr的内置默认菜单路径是在(hd0,0),但不知是什么原因打不开那个菜单!内置的菜单就先启动了(hd0,0)的xp。

发现原因:把(hd0,0)上的menu.lst改名了,结果就启动到了激活的vista。

解决方法:用UA把破解的grldr里查找到的"/menu.lst"中的第一、二个代换成"/////////"

用grub4dos引导:grub4dos(grldr)在hd0,0上,把hd0,0设置为活动分区,通过xp引导grldr,把菜单改为
title vista
rootnoverify (hd0,2)
chianloader +1
同理,把第二块硬盘设置为启动硬盘,也可以通过ubuntu的grub的map语句正常引导vista。

真无聊,都是由于基础不好,搞到自己浪费了几个星期!呵呵……不好意思!

疑问:
1)chinaloader +1不是应该启动windows系统吗?按现在的情况来看,是不是引导了hd0,2根目录下的grldr啊?
2)我的一块硬盘(已经设置为启动硬盘)格式为fat32,是主分区,但不是活动分区,根目录下有一个grub4dos的grldr,我用ubuntu(第二分区)的grub通过chainloader +1引导第一分区的grldr,结果失败,这跟上面的理解是不是冲突了,那有什么办法可以引导grub4dos的grldr呢?(不采用kernel  /grub.exe)

请教:要怎样才可以使ubuntu的grub支持中文?

[ 本帖最后由 bobodggb 于 2008-12-26 23:40 编辑 ]
作者: vivachris    时间: 2008-12-26 18:52
标题: 看了
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: xyl5565    时间: 2008-12-27 01:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: Climbing    时间: 2008-12-30 06:10
标题: 回复 #37 bobodggb 的帖子
1)chinaloader +1不是应该启动windows系统吗?按现在的情况来看,是不是引导了hd0,2根目录下的grldr啊?


chainloader +1是加载当前设备的引导扇区(或MBR),至于这个引导扇区是用来加载什么,那就看是什么引导扇区了,可不一定都是Windows。例如,正常情况下,Vista的引导扇区用来加载bootmgr,但如果你将grldr改名为bootmgr,那么它就加载grub4dos而不加载bootmgr了。我怀疑你用的softmod可能就是这样工作的。

2)我的一块硬盘(已经设置为启动硬盘)格式为fat32,是主分区,但不是活动分区,根目录下有一个grub4dos的grldr,我用 ubuntu(第二分区)的grub通过chainloader +1引导第一分区的grldr,结果失败,这跟上面的理解是不是冲突了,那有什么办法可以引导grub4dos的grldr呢?(不采用 kernel  /grub.exe)


这个问题同上,你想通过chainloader +1来引导该分区的grldr,你需要先在这个分区上安装grub4dos的引导扇区,至于安装方法,你可以使用bootlace或者grubinst。

要想直接引导grldr,在ubuntu的grub下,你可以直接使用chainloader /grldr,如果失败了,你可以用chainloader /grldr.mbr的方式,这两种方式有一个缺陷:一定要保证只有你要加载的分区根目录下有一个grldr文件,而其它分区根目录下不能有grldr文件,否则,有可能会优先加载其它分区下的grldr文件。最好用的方式来是使用kernel /grub.exe的方式,这样是直接加载,不存在麻烦。

请教:要怎样才可以使ubuntu的grub支持中文?


一直没有用过你说的Ubuntu的grub,不知道它跟grub4dos有没有关系。按道理说,官方的grub是不支持中文的,但印象中Ubuntu的Grub增加了gfxmenu的支持,也就是说应该是支持图形菜单的,这样就可以将中文做成图片来显示,详细使用方法,我也不太了解。

另一个简单的办法就是:你完全可以将ubuntu的grub用grub4dos替换,grub4dos除了不支持gfxmenu之外,很多方面的功能完全超出了ubuntu自带的grub,或者是大部分功能是与之兼容的,并且,它直接支持中文菜单。
作者: xyl5565    时间: 2008-12-30 06:40
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3