无忧启动论坛

标题: U盘启动GRUB中如何指定用本地硬盘启动系统? [打印本页]

作者: lrbin50    时间: 2008-11-27 14:40
标题: U盘启动GRUB中如何指定用本地硬盘启动系统?
如题,我把U盘格式化成了USB-HDD,用GRUB写入了U盘中的MBR启动,现在的问题是:如何在MENU.LST中指定用电脑的硬盘启动(硬盘的系统假设为XP 2000 VISTA),我刚学GRUB,看了一些教程,但还是没看明白,如果知道硬盘是HD0或是HD1还好办,但问题是在不同的BIOS中,硬盘的编号可能不同,硬盘可能是(HD0)但也可能是(HD1),怎样写才能让GRUB判断硬盘所在,写出来的配置才有通用性?对了,如果是双硬盘,每个硬盘都有自己的系统,又应该怎样?望高手指点,最好能帮忙写上详细的说明。感谢不尽!!
作者: xintiandi    时间: 2008-11-27 15:05
你在论坛里面搜。肯定能找到答案。最关键还要看你的u盘在dos下是否被识别为hdd模式。就算你制作的是usb-hdd也可能被某些主板识别为a:盘。我就遇到过这样的问题。所以我的u盘启动写了2个菜单。你可以参考这个帖http://pic.beckham.org/viewthread.php?tid=131472
title [4] USB-HDD 硬盘启动 root (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
chainloader (hd1,0)+1

title [5] USB-ZIP 硬盘启动 root (hd0,0)
root (hd0,0)
chainloader (hd0,0)+1
作者: lrbin50    时间: 2008-11-27 16:41
回楼上,我的本本开始就用你的TITLE [4],但失败!说让你按CTRL+ALT+DEL重启什么的
作者: 一只旋转的陀螺    时间: 2008-11-27 19:50
下面是我自己制作的U盘的启动菜单:

title [5]   从硬盘启动
find --set-root /ntldr
chainloader /ntldr
boot

[ 本帖最后由 一只旋转的陀螺 于 2008-11-27 19:52 编辑 ]
作者: lrbin50    时间: 2008-11-27 20:20
谢谢楼上,但你这个不通用,如果硬盘是VISTA呢?做维护要考虑通用性。
作者: xintiandi    时间: 2008-11-28 09:02
如果这样讨论就有点复杂了。vista我没有用过。不知道是不是也是用ntldr引导,pe也有nt引导文件find --set-root /ntldr,也可能定位到了启动u盘,如果插了多个u盘呢。如果装了多个操作系统呢。通用性就不好整了。肯定要找vista系统盘特有的特征文件来定位才行。或者用多个硬盘启动的菜单。总有一个适合你的。

这是在网上找的,看来vista是的引导文件是bootmgr
title 【三】 从本台电脑主计算机硬盘(Hard)启动操作系统(U盘=USB-HDD)
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd1,0)
makeactive
chainloader +1
title
clear
title 【四】 从本台电脑主计算机硬盘(Hard)启动操作系统(U盘=USB-ZIP)
rootnoverify (hd0,0)
makeactive
chainloader +1
title
clear
title 【五】 启动操作系统本台电脑 Windows Vista/2008 操作操作系统
find --set-root /bootmgr
chainloader /bootmgr
title
clear
title 【六】 从光驱启动操作系统
cdrom --init
map --hook
chainloader (cd0)
boot
title
clear

[ 本帖最后由 xintiandi 于 2008-11-28 09:14 编辑 ]
作者: xintiandi    时间: 2008-11-28 09:08
原帖由 lrbin50 于 2008-11-27 16:41 发表
回楼上,我的本本开始就用你的TITLE [4],但失败!说让你按CTRL+ALT+DEL重启什么的


你插上u盘,用光盘启动。查看你的u盘是不是c:,估计是被识别为a:了吧。我的u盘也是这样在一些电脑上识别为usb-hdd,但在有些机子上识别为usb-zip,TITLE [4],和TITLE [5],你都试了吗
作者: lrbin50    时间: 2008-11-28 23:20
谢谢楼上的东东,其实我的菜单现已可以启动了,只是,感觉不是很通用,希望有个通用的,看来,通用的比较难了。
作者: gchq2005    时间: 2008-12-1 15:02
关注中,,,,,希望有高手帮忙解决
作者: tulongwa    时间: 2009-1-15 20:16
我的光盘用gurb引导的
上面有pe2.0和一些工具
系统装的是vista
用光盘引导时选择进pe2.0就进pe2.0
选择进vista就能进vista
但是我用uiso把光盘镜像写入U盘以后gurb引导失效了
重新给U盘装上gurb又能引导了
但是选择进vista时却进了pe2.0

[ 本帖最后由 tulongwa 于 2009-1-15 20:18 编辑 ]

Snap1.jpg (16.16 KB, 下载次数: 148)

Snap1.jpg

作者: yfwang0798    时间: 2009-1-16 07:10
标题: 我觉得无法通用
发了三次,不知道如何删除,请版主删除

[ 本帖最后由 yfwang0798 于 2009-1-16 13:35 编辑 ]
作者: yfwang0798    时间: 2009-1-16 07:14
标题: 我觉得不可行
发了三次,不知如何删除,请版主帮忙,谢谢。

[ 本帖最后由 yfwang0798 于 2009-1-16 13:37 编辑 ]
作者: yfwang0798    时间: 2009-1-16 09:02
标题: 不能通用
因为有的品牌机。如dell,在硬盘的首位有一个隐含分区,如果启动hd(1,0)就会进入隐含分区,而不是系统分区,而且即使是第一个分区,也只能启动硬盘上的xp系统,对vista无效。

[ 本帖最后由 yfwang0798 于 2009-1-17 10:10 编辑 ]
作者: tulongwa    时间: 2009-1-17 22:03
gurb搜索的是各种系统的引导文件
所以文件名亦必须是各种系统默认的文件名
我的方法是把光盘上的系统或PE的引导文件改下名
再用GURB引导它们
不管你是刻光盘还是做到U盘里面都不会乱了
也不管你的U盘是什么引导方式
想引导光盘上的系统或PE就引导得了
想进硬盘上的系统就能进得去
不会错的
title  Windows Vista/2008/7
              acpi
              find --set-root /bootmgr
              chainloader /bootmgr

title  Windows NT/XP/2003
              find --set-root /ntldr
              chainloader /ntldr

[ 本帖最后由 tulongwa 于 2009-1-27 22:20 编辑 ]
作者: xLantu    时间: 2009-1-31 17:26
我也遇到这些问题,如何解决啊?




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