无忧启动论坛

标题: 修改grub4dos内置菜单的问题 [打印本页]

作者: haonan    时间: 2007-6-11 15:06
标题: 修改grub4dos内置菜单的问题
把grub.exe改名成grldr,用grubmenu.exe导入了一个菜单文件,启动不了,出现如图的显示。
我又用winhex直接修改grub.exe,还是启动不了,提示如图一样。
菜单外置就可以,到底怎么修改啊:'(

[ 本帖最后由 haonan 于 2007-6-11 03:17 PM 编辑 ]

未命名.JPG (19.14 KB, 下载次数: 78)

未命名.JPG

作者: q8q8feng    时间: 2007-6-11 16:01
晕了 你改动grub.exe干嘛,使用grubmenu.exe修改grldr的菜单menu.lst就是了,grub4dos下载的时候,包内有这个grldr:)
作者: 阿非    时间: 2007-6-11 16:02
grub.exe不能用内置菜单,他MS必须用外置的
grldr的可以用内置
作者: haonan    时间: 2007-6-11 16:05
http://bbs.wuyou.net/forum.php?m ... page%3D1&page=5
50楼怎么说的就是修改grub.exe
作者: 阿非    时间: 2007-6-11 16:25
用winhex修改的时候,注意字节数不难变
MS把hd0改为fd0就可以了
作者: haonan    时间: 2007-6-11 16:37
原帖由 阿非 于 2007-6-11 04:25 PM 发表
用winhex修改的时候,注意字节数不难变
MS把hd0改为fd0就可以了

能说详细些吗,谢谢:D
作者: 阿非    时间: 2007-6-11 16:42
http://www.znpc.net/bbs/search.p ... mp;searchsubmit=yes
作者: hulongzhuo    时间: 2007-6-11 16:43
我倒,你这样改,不死翘翘才怪呢
作者: hulongzhuo    时间: 2007-6-11 16:44
要改菜单,编辑一个MENU.LST文件就可以了,
作者: haonan    时间: 2007-6-11 17:24
原帖由 haonan 于 2007-6-11 04:05 PM 发表
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=91503&extra=page%3D1&page=5
50楼怎么说的就是修改grub.exe

谢谢,不过没有讲如何修改的帖子啊:L
作者: haonan    时间: 2007-6-11 19:50
顶上去:L :L :L
作者: lianjiang    时间: 2007-6-11 19:51
看看时空论坛作者如何答复吧。那是权威,呵呵。
作者: haonan    时间: 2007-6-11 20:53
那里也问了,但是我去那里速度爆慢:L
作者: hulongzhuo    时间: 2007-6-12 10:51
给个MENU.LST样板给你:

下面是一个menu.lst的例子。(以#开始的行,表示注释,不执行)

# 默认延迟时间(秒)
timeout 30

# 第一项为默认值
default 0

# 设置图形背景文件
splashimage (hd0,0)/boot/grub/xp2008.gz

# 设置中文支持的字体文件
fontfile (hd0,0)/boot/grub/fonts

title 使用map启动本地硬盘上的瑞星杀毒软盘镜像文件
map (hd0,0)/boot/grub/rav.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 使用memdisk启动本地 Win98 软盘镜像文件
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/win98.img

title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件
root (hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd /boot/rav.zip

title 启动第一主分区(hd0,0)上的操作系统
rootnoverify (hd0,0)
makeactive
chainloader +1

title 启动第二主分区(hd0,1)上的操作系统
rootnoverify (hd0,1)
makeactive
chainloader +1

title 重启
reboot

title 关机
halt


此菜单文件的运行效果如下图。【图】


参考这个例子,我们就可以根据自己需要对菜单进行修改。

比如从网上下载了效率源的镜像文件,文件名为XLY.IMG。我们只需把
title 使用memdisk启动本地 Win98 软盘镜像文件
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/win98.img

改成
title 硬盘检测修复工具 效率源 (memdisk)
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/xly.img

或者改成
title 硬盘检测修复工具 效率源 (map)
map (hd0,0)/boot/grub/xly.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

同时把xly.img文件保存到第一主分区(一般是C:)的boot\grub目录下。
当然也可以保存到其它路径。

比如xly.img文件保存到C:\boot下,则menu.lst文件相应改为:
map (hd0,0)/boot/xly.img (fd0)

又如xly.img文件保存到D:\test下,则menu.lst文件相应改为:
map (hd0,4)/test/xly.img (fd0)
(参看下面的注意d)

从上面的例子可以看出,启动软盘镜象,有两种方式,即用memdisk或用map。

用memdisk时,img文件可压缩;在img文件大小为非1.44MB或2.88MB标准镜像时,需要指定CHS参数。img文件的CHS参数可用winimage获得。

即例子中的:
title 使用memdisk启动本地硬盘上的瑞星杀毒软盘压缩镜像文件
root (hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd /boot/rav.zip

另外,菜单文件中的文件路径可用相对路径(如:/boot/rav.zip)或绝对路径(如:(hd0,0)/boot/grub/xly.img)表示。

map方式对软盘映像大小没有限制,但要求必须连续存放。改进的map --mem则无此限制。

比如:
map --mem /boot/xxx.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

注意:
a, 菜单文件中所用的memdisk.gz文件,不包括在grub4dos的发行包里,需自行准备。可从gnu grub软件包或从其它基于grub的工具(如一键ghost,本人的gghost)中获得。

b, 菜单中所用的其它文件如xp2008.gz(背景文件)、fonts(中文字体文件)及各种镜像文件等,均需拷贝到文件中指定路径。 fontfile命令不可单独使用,需与splashimage一起使用。

c, 菜单文件中的命令全部使用小写。

d, 初学者使用绝对路径时要注意GRUB对设备的命名方法。系统的第一个硬盘驱动器表示成(hd0),其上的第一个分区表示为(hd0,0),也就是说对于硬盘,采用(hdx,y)的形式来表示,x、y都是从0开始计数的,x表示硬盘号,y表示分区号。
    由于主分区只能有四个,所以第一硬盘的四个主分区分别用(hd0,0)~(hd0,3)来表示;逻辑分区则从(hd0,4)开始算,即第一逻辑分区用(hd0,4),第二逻辑分区用(hd0,5)来表示,依次类推。
    一般机子的硬盘都是一个主分区,其余是逻辑分区。因此C盘用(hd0,0),D盘用(hd0,4)来表示。 光盘用(cd)表示,第一软驱用(fd0)表示。


[ 本帖最后由 hulongzhuo 于 2007-6-12 11:05 AM 编辑 ]

未命名.JPG (23.27 KB, 下载次数: 57)

未命名.JPG

作者: q8q8feng    时间: 2007-6-12 12:09
原帖由 haonan 于 2007-6-11 04:05 PM 发表
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=91503&extra=page%3D1&page=5
50楼怎么说的就是修改grub.exe

他说得应该是新的grub.exe所带的grldr吧 这个grubmenu就是为grldr开发的哦
而且对于早期的0.95以前的版本来说,这个menu.lst的内容有字节数限制的,不过新的grub4dos好多了,可以增加很多字节数,这样你的菜单定制就更灵活了。

[ 本帖最后由 q8q8feng 于 2007-6-12 12:12 PM 编辑 ]
作者: haonan    时间: 2007-6-12 13:40
原帖由 q8q8feng 于 2007-6-12 12:09 PM 发表

他说得应该是新的grub.exe所带的grldr吧 这个grubmenu就是为grldr开发的哦
而且对于早期的0.95以前的版本来说,这个menu.lst的内容有字节数限制的,不过新的grub4dos好多了,可以增加很多字节数,这样你的菜 ...

搞定了,就是修改grub.exe
对于内置菜单在最后的grub.exe不能启动,但是对于早一点版本的内置菜单在中间的倒是可以成功:L
作者: q8q8feng    时间: 2007-6-13 09:52
原帖由 haonan 于 2007-6-12 01:40 PM 发表

搞定了,就是修改grub.exe
对于内置菜单在最后的grub.exe不能启动,但是对于早一点版本的内置菜单在中间的倒是可以成功:L

请教:“对于内置菜单在最后的grub.exe不能启动”???:o
作者: 左卿候    时间: 2007-6-13 10:34
路过...........学习一下!
作者: haonan    时间: 2007-6-13 14:49
原帖由 q8q8feng 于 2007-6-13 09:52 AM 发表

请教:“对于内置菜单在最后的grub.exe不能启动”???:o

最新版的grub.exe,内置菜单就是文件最后了
作者: f.o    时间: 2007-6-14 03:43
哪能下载到grubmenu.exe,我下了半天都下不下来
作者: f.o    时间: 2007-6-14 03:44
再问一个问题,那个Grub的背景图片是用什么软件编辑的?
作者: hedongzhuhou    时间: 2007-8-1 10:54
请问下面截图红圈部分的文字如何更改???

截图.JPG.jpg (44.1 KB, 下载次数: 43)

截图.JPG.jpg

作者: LOL    时间: 2007-8-1 10:58
改了有可能出问题吧:)


用二进制编辑器改就可以了
作者: FRANK0815    时间: 2007-8-2 15:57
学习学习!!!!不过还是有点不明白!!!
作者: panwenfei    时间: 2007-8-9 22:27
我也有这样的问题,回去试试




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