中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » [求助不点]Grub for NTLDR的默认启动菜单文件位置有办法改变吗
作者:
标题: [求助不点]Grub for NTLDR的默认启动菜单文件位置有办法改变吗 上一主题 | 下一主题
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『楼 主』:  [求助不点]Grub for NTLDR的默认启动菜单文件位置有办法改变吗

我知道grub for ntldr(即grldr)默认情况下在boot.ini中这样设置:
c:\grldr="Start Grub"
这个grub启动起来以后,会搜索(hd0,0)/boot/grub/menu.lst作为默认的启动菜单,但假设我的NT系统安装在(hd0,1),而menu.lst在(hd0,1)/boot/grub目录下,那么我如何设置boot.ini,使得grldr能够启动我指定的menu.lst?
我想象中应该这样设置:
c:\grldr="start Grub" configfile=(hd0,1)/boot/grub/menu.lst
但可惜无效。
还要请不点及各位grub高手不吝赐教!




偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-9-10 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 2 楼』:  

目前 GRLDR 不支持命令行参数。但是,最新的几个版本都已经加入了 Chris 的 findroot 和 presetmenu 补丁,可以启动 (hd0,1) 下的 menu.lst 文件了。

当 GRUB 启动时,首先查找硬盘上的各个分区中是否有 /boot/grub/menu.lst 文件,如果失败,再接着查找软盘上的 /boot/grub/menu.lst 文件。并把找到的第一个 menu.lst  文件作为菜单使用。

如果上述过程失败,就用 /boot/menu.lst 作为文件名重复上述查找过程。

如果上述过程也失败,就用 /menu.lst 作为文件名重复上述查找过程。

这样应该够用了吧?(顺便特别感谢 Chris 的精彩补丁!!)




因为我们亲手创建,这个世界更加美丽。
2004-9-10 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 3 楼』:  

Chris的补丁加上后,在编译时是不是需要加什么参数呢?我是用从http://159.226.20.15/grub_chs/上下载的Grub 0.95中文版编译的,按道理说这个源程序应该包括了所有补丁,而且,在命令行方式下确实有findroot这个命令,但这个命令我在运行时总是出现File not found的提示。而且,我的menu.lst就在(hd0,1)/boot/grub目录下,但启动时根本就找不到。不知道问题到底出在哪里?



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-9-11 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 4 楼』:  

中文版是由 Gandalf 负责的, 你应当向他询问详细情况.





因为我们亲手创建,这个世界更加美丽。
2004-9-11 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 5 楼』:  

谢谢不点,我再试一下。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-9-12 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
gmy
版主

操作系统爱好者


积分 1113
发帖 392
注册 2002-11-11
状态 离线
『第 6 楼』:  



  Quote:
以下是引用Climbing在2004-9-10 9:32:11的发言:

我知道grub for ntldr(即grldr)默认情况下在boot.ini中这样设置:
c:\grldr="Start Grub"
这个grub启动起来以后,会搜索(hd0,0)/boot/grub/menu.lst作为默认的启动菜单,但假设我的NT系统安装在(hd0,1),而menu.lst在(hd0,1)/boot/grub目录下,那么我如何设置boot.ini,使得grldr能够启动我指定的menu.lst?

我想象中应该这样设置:
c:\grldr="start Grub" configfile=(hd0,1)/boot/grub/menu.lst

但可惜无效。

还要请不点及各位grub高手不吝赐教!

用十六进制编辑GRLDR的所有路径。



DOS之家 http://doshome.com 站长 葛明阳
2004-9-12 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 7 楼』:  



  Quote:
以下是引用gmy在2004-9-12 20:03:02的发言:
>
用十六进制编辑GRLDR的所有路径。

试过了,无效!



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-9-13 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 8 楼』:  

Dear Tinybit,能不能修改grldr,让他支持启动参数呢?我觉得这应该并不复杂吧?因为NTLDR是支持传递启动参数的。如果grldr支持启动参数,那么顶楼的问题就很容易解决了。



偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-9-13 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 9 楼』:  

以前曾经考虑过增添 GRLDR 命令行的支持, 不过这似乎并不容易, 所以, 后来就采纳了 CHRIS 的 findroot 和 preset menu 补丁.

这基本上够用了, 尽量使用这个方法. 如果确实不够用, 大家再商量.

grub for dos 0.2.0 pre12 是完全支持这个动态查找过程的. 你试试再说.






因为我们亲手创建,这个世界更加美丽。
2004-9-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 10 楼』:  

不点,通过./configure --help我已经找到preset menu的编译参数应该是:--enable-preset-menu=FILE通过查阅你写的帮助,我也搞清楚了findroot的用法。有两个问题需要请教:1、--enable-preset-menu=FILE中的FILE是不是应该类似于这样:(hd0,1)/boot/grub/menu.lst如果我这样编译了grub,是不是grub就将默认的(hd0,0)/boot/grub/menu.lst修改为了(hd0,1)/boot/grub/menu.lst,那么这个编译版本也只能适用于某些特殊的机器(即将menu.lst放在(hd0,1)/boot/grub的机器),却不适合于另一些机器(将menu.lst放在除(hd0,1)以外的分区的机器。2、findroot命令(及find)是不是只能用于grub的交互式界面,当然前提是没有一个默认的menu.lst作支持。例如,我的grub默认查找(hd0,0)/boot/grub/menu.lst作为默认启动菜单,如果该位置没有这个文件,启动grub后就直接进入了交互式界面,这时候我只能手工输入:findroot /boot/grub/menu.lst
configfile /boot/grub/menu.lst来启动菜单系统。而现在我想解决的就是,无论我的menu.lst在哪个分区(假设固定在/boot/grub/menu.lst位置),只要我启动grub,它就会自动查找每个分区的/boot/grub/menu.lst,并将找到的第一个文件作为默认菜单启动。不知道grub for dos 0.2.0 pre12是不是支持这种查找方式?




偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-9-14 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 11 楼』:  

按照 grub for dos 0.2.0 pre12 发布中的 compile 文件去编译就行了。

我已经把 presetmenu 编译进去了。findroot 已经被改成 find --set-root 了。

find 命令可以用于菜单中,命令行也可以用。

你什么也不需要做,只要下载 pre12 用就成。






因为我们亲手创建,这个世界更加美丽。
2004-9-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 12 楼』:  


而现在我想解决的就是,无论我的menu.lst在哪个分区(假设固定在/boot/grub/menu.lst位置),只要我启动grub,它就会自动查找每个分区的/boot/grub/menu.lst,并将找到的第一个文件作为默认菜单启动。不知道grub for dos 0.2.0pre12是不是支持这种查找方式?
----------------
是的,完全支持,无需任何设置,默认自动搜索  /boot/grub/menu.lst,先搜索硬盘全部分区,然后搜索所有的软盘。找到的第一个就被采用。





因为我们亲手创建,这个世界更加美丽。
2004-9-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Climbing
铂金会员

网络独行侠


积分 6962
发帖 2753
注册 2003-4-16
来自 河北保定
状态 离线
『第 13 楼』:  

不点,
嘿,我在无忧启动论坛与Einstein/Gandalf/useronce联系,在DOS联盟论坛与你联系,而你们又在United DOS forum联系,实在是浪费了太多的精力。
在Gandalf的帮助下,我已经大体搞清楚了Chris补丁的工作原理,我已经看到了grub-0.95-patch4-findroot这个补丁,你应该是在Chris补丁的基础上进行了简单的修改。我不太熟悉linux,因此还不知道怎么将补丁打到源程序上。应该是用diff这个命令吧。看来我只好寄希望于Gandalf继续推出打上你的pre12补丁的grub源程序,然后重新编译。
总之,感谢。
我在无忧启动论坛与Gandalf(useronce)讨论的帖子链接为:
http://bbs.wuyou.com/cgi-bin/top ... 4225&show=0

[此贴子已经被作者于2004-9-14 10:42:59编辑过]






偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
2004-9-14 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (653668)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: