无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: 不点
打印 上一主题 下一主题

bug 修复:使用 fbinst 制作 ud 盘的人,必须更新 grub4dos 到 2012-11-07 版

[复制链接]
31#
发表于 2012-11-8 19:17:11 | 只看该作者

回复 #28 M 的帖子

我用的是本坛一望无垠的pe,在ud区怎么也找不到名为hotkey的文件,该怎么办。前帖就是因为在ud区找不到hotkey才以为更新hotkey是高深的学问向大师们求教的。
回复

使用道具 举报

32#
 楼主| 发表于 2012-11-8 19:22:00 | 只看该作者

回复 #31 2012zhd 的帖子

如果你没有 hotkey 文件,那么你遇到的问题也就不是由 hotkey 引起的。可能是别的错误引起的,比如某个菜单含有隐蔽的错误。
回复

使用道具 举报

33#
发表于 2012-11-8 19:34:24 | 只看该作者

回复 #32 不点 的帖子

主菜单
timeout 60
default 7
gfxmenu (ud)/boot/grub/m
configfile (md)4+8

title         [1]  启动极速xppe系统
(ud)/boot/grub/F6IMG
echo $[1106] booting Fast xppe, please wait ...
map (ud)/boot/NVXPPE.ISO (0xfa)
map --mem (ud)/boot/boot.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [2]  启动 网络03pe系统
(ud)/boot/grub/F6IMG
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03PE.ISO (0xfa)
map --mem (ud)/boot/03b.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [3]  更多驱动03pe系统
(ud)/boot/grub/DPMS.BAT || find --set-root /boot/grub/DPMS.BAT && /boot/grub/DPMS.BAT
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03PE.ISO (0xfa)
map --mem (ud)/boot/03b.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [4]  进入xp  03pe  选项
configfile (ud)/boot/grub/m1.lst

iftitle [checkrange 0x23 read 0x8280]         [5]  启动常规 win8系统
echo $[1106] booting Fast win8, please wait ...
calc *0x82b9&0xff/2 && map  (ud)/boot/win7.ISO (0xff) ! map --mem (ud)/boot/win8.ISO (0xff)
map --hook
chainloader (0xff)

iftitle [checkrange 0x0,0x80 read 0x8280]         [5]  启动常规 win8系统
echo $[1106] booting Fast win8, please wait ...
checkrange 0x80 read 0x8280 && map  (ud)/boot/win8.ISO (0xff) ! map --mem (ud)/boot/win8.ISO (0xff)
map --hook
chainloader (0xff)

title         [6]  进入工具  菜单选项
configfile (ud)/boot/grub/m2.lst

title         [7] 安装原版  U/xp.iso
font (ud)/BOOT/GRUB/FONT_CN.GZ
graphicsmode -1 100:1000 100:1000 24:32
(ud)/boot/grub/RUN1 --loadfont --e820cycles=3 --swap --swap-ext --fira srs:/srs/ iso=/xp.ISO



title         [8]  从 硬盘启动 计算机         
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /ntldr || chainloader /bootmgr

title         [9]  重新    启动   计算机  
reboot

title         [0]  关闭   计算机    电源            
halt
二级菜单
timeout 60
default 9
gfxmenu (ud)/boot/grub/m
configfile (md)4+8

title         [1] 启动极速xp=0系统
(ud)/boot/grub/F6IMG
echo $[1106] booting Fast xppe, please wait ...
map (ud)/boot/nvxpPE.ISO (0xfa)
map --mem (ud)/boot/boot.iso (0xff)
map --e820cycles=0
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [2] 启动极速xp=1系统
(ud)/boot/grub/F6IMG
echo $[1106] booting Fast xppe, please wait ...
map (ud)/boot/nvxpPE.ISO (0xfa)
map --mem (ud)/boot/boot.iso (0xff)
map --e820cycles=1
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [3] 启动极速xp=2系统
(ud)/boot/grub/F6IMG
echo $[1106] booting Fast xppe, please wait ...
map (ud)/boot/nvxpPE.ISO (0xfa)
map --mem (ud)/boot/boot.iso (0xff)
map --e820cycles=2
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [4] 启动极速xp=-1x统
(ud)/boot/grub/F6IMG
echo $[1106] booting Fast xppe, please wait ...
map (ud)/boot/nvxpPE.ISO (0xfa)
map --mem (ud)/boot/boot.iso (0xff)
map --e820cycles=0
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [5] 启动极速03=0 系统
(ud)/boot/grub/DPMS.BAT || find --set-root /boot/grub/DPMS.BAT && /boot/grub/DPMS.BAT
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03pe.ISO (0xfa)
map --mem (ud)/boot/03b.iso (0xff)
map --e820cycles=0
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [6] 启动极速 03=1系统
(ud)/boot/grub/DPMS.BAT || find --set-root /boot/grub/DPMS.BAT && /boot/grub/DPMS.BAT
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03PE.ISO (0xfa)
map --mem (ud)/boot/03b.iso (0xff)
map --e820cycles=1
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [7] 启动极速 03=2系统
(ud)/boot/grub/DPMS.BAT || find --set-root /boot/grub/DPMS.BAT && /boot/grub/DPMS.BAT
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03PE.ISO (0xfa)
map --mem (ud)/boot/03b.iso (0xff)
map --e820cycles=2
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [8] 启动极速 03=-1x统
(ud)/boot/grub/DPMS.BAT || find --set-root /boot/grub/DPMS.BAT && /boot/grub/DPMS.BAT
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03PE.ISO (0xfa)
map --mem (ud)/boot/03b.iso (0xff)
map --e820cycles=-1
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [9] 启动  极速   不e820
(ud)/boot/grub/DPMS.BAT || find --set-root /boot/grub/DPMS.BAT && /boot/grub/DPMS.BAT
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03PE.ISO (0xfa)
map (ud)/boot/03b.iso (0xff)
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [0] 返回  第一 启动菜单         
write 0x307ff8 1
configfile

二级菜单二
timeout 60
default 9
gfxmenu (ud)/boot/grub/m
configfile (md)4+8

title         [1]  运行  DiskGen 工具     
echo $[1106] Loading DiskGenius Image, Please Wait ...
map --mem (ud)/boot/imgs/dg.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title         [2]  运行 adds硬盘分区
map --mem (ud)/boot/imgs/adds2160.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title         [3]  运行  Dos 传统工具     
echo $[1106] Loading Dos Image, Please Wait ...
map --mem (ud)/uddiy/dos.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title         [4]  运行  win 密码清除      
echo $[1106] Loading apc Image, Please Wait ...
map --mem (ud)/boot/imgs/apc.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title         [5]  运行Win7内存检测
map --mem (ud)/boot/boot/imgs/W7MT.GZ (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title         [6]  Memtest 检测内存
kernel (ud)/boot/IMGS/MEMTEST.BIN

title         [7]  自选  img/ima/iso   (U/uddiy  菜单显示)
font (ud)/BOOT/GRUB/FONT_CN.GZ
graphicsmode -1 100:800 100:1000 24:32
command (ud)/boot/grub/RUN1 --automenu --show.img.ima.iso.gz /uddiy/

title         [8]  自选  各种映像文件   (U/uddiy   列表显示)
color normal=0x01 highlight=0x04 helptext=0x04 heading=0x04 standard=0x0E border=0x04
font (ud)/boot/grub/UNIFONT.HEX
graphicsmode -1 100:800 100:1000 24:32        
command (ud)/boot/grub/RUN1 --autolist /uddiy/

title         [9]  自选  img/ima/iso   (ud/uddiy菜单显示)
font (ud)/BOOT/GRUB/FONT_CN.GZ
graphicsmode -1 100:1000 100:1000 24:32  
command (ud)/boot/grub/RUN1 --automenu --show.img.ima.iso.gz (ud)/uddiy/

title         [0]  返回  第一 启动菜单         
write 0x307ff8 1
configfile
回复

使用道具 举报

34#
 楼主| 发表于 2012-11-8 19:54:33 | 只看该作者
看到第三条命令是 gfxmenu,有人报告 gfxmenu 在新版下失常。

你不妨也去掉它试试。
回复

使用道具 举报

35#
发表于 2012-11-8 20:07:30 | 只看该作者

回复 #34 不点 的帖子

去掉第三条命令 gfxmenu,直接进入命令行,无法进入菜单。
回复

使用道具 举报

36#
 楼主| 发表于 2012-11-8 20:17:09 | 只看该作者
把这个也去掉呢?

configfile (md)4+8
回复

使用道具 举报

37#
发表于 2012-11-8 20:26:51 | 只看该作者

回复 #36 不点 的帖子

再去掉 configfile (md)4+8 可进入主菜单和二级菜单,但除数字外,菜单全部是乱码。
回复

使用道具 举报

38#
 楼主| 发表于 2012-11-8 20:29:19 | 只看该作者
用 font 命令加载 unifont.hex 这个字库啊。

这就是没有读教程造成的吧?

置顶的教程,多看看。
回复

使用道具 举报

39#
发表于 2012-11-8 20:47:04 | 只看该作者

回复 #38 不点 的帖子

也看不懂,菜单也只是照猫画虎的,见笑了。
回复

使用道具 举报

40#
发表于 2012-11-8 21:09:00 | 只看该作者

回复 #38 不点 的帖子

教程已下载。岁数大了,又不懂英文,还不一定能看懂。最后一次,麻烦您了,font (ud)/boot/grub/UNIFONT.HEX
放哪儿啊。谢谢。
回复

使用道具 举报

41#
 楼主| 发表于 2012-11-8 21:12:02 | 只看该作者
通常放 title 之前就行了。

还需要有一条进入图形模式的命令,例如:

graphicsmode -1 100:1000 100:1000 24:32

否则文本模式是无法显示汉字的。这条命令也可以与 font 命令放在一起。

[ 本帖最后由 不点 于 2012-11-8 21:31 编辑 ]
回复

使用道具 举报

42#
发表于 2012-11-9 11:15:42 | 只看该作者
今天闲着没事,把u盘重新制作了一遍,返回第一启动菜单的命令还是
title         [0] 返回  第一 启动菜单         
configfile (md)4+8
下面这个菜单
timeout 60
default 9
gfxmenu (ud)/boot/grub/m
configfile (md)4+8
也没改,直接更新grldr,不保留原内置菜单,却发现进入子菜单后能顺利返回原菜单,不同的是run只能搜索ud区的uddiy目录,而不能搜索可见区的uddiy目录了。菜单如下
title         [7]  自选  img/ima/iso  (U/uddiy 菜单显示)
font (ud)/BOOT/GRUB/FONT_CN.GZ
graphicsmode -1 100:1000 100:1000 24:32
RUN --automenu --show.img.ima.iso.gz /uddiy/
按理说这个菜单应搜索到可见区的uddiy目录,而实际搜索到的是ud区的,不知是怎么回事。

[ 本帖最后由 2012zhd 于 2012-11-9 11:18 编辑 ]
回复

使用道具 举报

43#
 楼主| 发表于 2012-11-9 11:54:54 | 只看该作者
那大概需要你仔细研究 RUN 这个程序了。

你知道,grub4dos 有内部命令和外部命令之分。外部命令是 grub4dos 内核之外的程序文件。

像 gfxmenu、font、graphicsmode、configfile 等,都是内部命令。而 RUN 不是内部命令。

所以,你要定位问题,必须跟踪到 RUN 的执行过程中,需要看 RUN 的源代码。

你可以开个专门的主题,研究 RUN,应该有不少人都可以帮你的。我对 RUN 并不熟悉。

----------------

我得补充说明一点。虽然你现在的 gfxmenu 命令没问题了,但这不表明 gfxmenu 命令不会带来别的问题。

它有可能造成某种隐蔽的冲突。

为什么呢?因为 gfxmenu 所调用的 message 文件,其实是可执行代码。这些可执行代码究竟会使用什么内存,是不容易预料的,就是说,grub4dos 的内核无法控制它。按道理,gfxmenu 命令应该给 message 提供了内存,而 message 也应该规规矩矩地使用内存,而不是超限使用内存造成冲突。不过,这一切都是由 message 决定的。如果 message 有 bug,它就可能超限使用内存、过多使用内存、缓冲区溢出,造成很难排查的错误。

建议放弃使用 gfxmenu。

[ 本帖最后由 不点 于 2012-11-9 12:17 编辑 ]
回复

使用道具 举报

44#
发表于 2012-11-9 12:05:26 | 只看该作者

回复 #42 2012zhd 的帖子

RUN是sratlf大的吧?你可以向sratlf大请教呀!
回复

使用道具 举报

45#
发表于 2012-11-9 13:27:43 | 只看该作者

回复 #43 不点 的帖子

放弃gfxmenu也就意味着也必须放弃现在使用的message ,可惜。
回复

使用道具 举报

46#
发表于 2012-11-9 13:29:18 | 只看该作者

回复 #44 2011phzhc 的帖子

正是,我这就去请教,谢谢。
回复

使用道具 举报

47#
发表于 2012-11-9 23:09:31 | 只看该作者
font && font (bd)/BOOT/GRUB/UNIFONT.HEX
不能加载字库了。

font(无参数)以前(6.19)返回真,现在返回假。

是新规则吗?
回复

使用道具 举报

48#
发表于 2012-11-10 13:54:16 | 只看该作者

回复 #47 pseudo 的帖子

我的ud也是
菜单显示乱码
回复

使用道具 举报

49#
发表于 2012-11-10 14:36:21 | 只看该作者

回复 #48 zdq001 的帖子

估计是你的菜单问题,我的用VBE模式,一切正常。
回复

使用道具 举报

50#
 楼主| 发表于 2012-11-10 18:11:13 | 只看该作者

回复 #47 pseudo 的帖子

修改以后,font 命令支持菜单尾部的字体行。

font 总是返回一个字库中包含的字模的个数(即字符的个数,就是有效字体行的行数)。

一个空的 font 命令,它所对应的字库是空的,所以有效字符行是 0。

当然也可以强制把它改成非零的“真值”,我觉得还是不要改它吧。

不要这么用

font && font /.../...

而应该分成两行:

font
font /.../...

就是说,font && font /.../... 就当成一种错误的用法吧。
回复

使用道具 举报

51#
发表于 2012-11-11 12:51:36 | 只看该作者

回复 #1 不点 的帖子

请问, 能不能出一个没有BUG的精简版呢?
现在的G4D复杂庞大, 出毛病的几率随之增大.
我很希望能有一个只支持启动 OS, ISO, UD 的G4D, 要快速稳定, 不需要支持字体和复杂的命令. 几年前的旧版兼容性不满意.
我感觉目前G4D的路线单一, 希望按功能多少分成 Lite 和 Professional 两个系列. Lite 只保留很必要的功能, 维护方面只需要修复BUG和提高兼容性就行; Professional 则是目前的G4D方式, 0.4.6a应该是测试版, 0.4.5b/c 归类到稳定版, 我觉得同时维护0.4.5跟0.4.6 有不少是重复劳动.

[ 本帖最后由 2010nmb 于 2012-11-11 12:58 编辑 ]
回复

使用道具 举报

52#
发表于 2012-11-12 20:37:51 | 只看该作者
听从不点大师的话,果断放弃gfxmenu命令,更新grldr为11月7日版,没发现异常,run使用也正常了。只是下面这个菜单字体太小,看起来费劲,我没能力使字体变大,能帮帮我吗,谢谢。
timeout 60
default 7
color normal=0x0F
color highlight=0x0E
color helptext=0x0A
color heading=0x02
color standard=0x02
color border=0x77
font (ud)/BOOT/GRUB/FONT_CN.GZ
graphicsmode -1 100:1000 100:1000 24:32

title         [1]  启动极速xppe系统
(ud)/boot/grub/F6IMG
echo $[1106] booting Fast xppe, please wait ...
map (ud)/boot/NVXPPE.ISO (0xfa)
map --mem (ud)/boot/boot.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [2]  启动网络03pe系统
(ud)/boot/grub/F6IMG
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03PE.ISO (0xfa)
map --mem (ud)/boot/03b.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [3]  更多驱动03pe系统
(ud)/boot/grub/DPMS.BAT || find --set-root /boot/grub/DPMS.BAT && /boot/grub/DPMS.BAT
echo $[1106] booting Fast 03pe, please wait ...
map (ud)/boot/03PE.ISO (0xfa)
map --mem (ud)/boot/03b.iso (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)/WXPE/SETUPLDR.BIN

title         [4]  进入xp 03pe 选项
configfile (ud)/boot/grub/m1.lst

iftitle [checkrange 0x23 read 0x8280]         [5]  启动常规win8系统
echo $[1106] booting Fast win8, please wait ...
calc *0x82b9&0xff/2 && map  (ud)/boot/win7.ISO (0xff) ! map --mem (ud)/boot/win8.ISO (0xff)
map --hook
chainloader (0xff)

iftitle [checkrange 0x0,0x80 read 0x8280]         [5]  启动常规win8系统
echo $[1106] booting Fast win8, please wait ...
checkrange 0x80 read 0x8280 && map  (ud)/boot/win8.ISO (0xff) ! map --mem (ud)/boot/win8.ISO (0xff)
map --hook
chainloader (0xff)

title         [6]  进入工具菜单选项
configfile (ud)/boot/grub/m2.lst


title         [7]  启动 RUN功能模块

configfile (ud)/BOOT/GRUB/RUN.LST

title         [8]  从硬盘启动计算机         
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /ntldr || chainloader /bootmgr

title         [9]  重新 启动 计算机  
reboot

title         [0]  关闭 计算机 电源            
halt

[ 本帖最后由 2012zhd 于 2012-11-12 20:40 编辑 ]
回复

使用道具 举报

53#
 楼主| 发表于 2012-11-12 21:22:57 | 只看该作者
grub4dos 的内置图形模式的字体是固定大小的,即 16 x 16 点阵。

如果你想让字体变大,那可以通过设置较低的分辨率来实现。比如,1024*768 的模式,字体显得小,如果换成 640*480 则字体就显得大一些了。

注意看 graphicsmode 的用法。

graphicsmode -1 500:700 100:1000 24:32
回复

使用道具 举报

54#
发表于 2012-11-12 21:39:25 | 只看该作者
换分辨率后,字体是大了一点,不过变化不大,看来也是没办法的事。谢谢。
回复

使用道具 举报

55#
发表于 2012-11-13 10:59:34 | 只看该作者
直接操作内存地址的命令越来越多,有功夫琢磨的时候还行,日常急用,就有点儿头大了。
回复

使用道具 举报

56#
发表于 2012-11-14 16:09:50 | 只看该作者
谢谢大师提醒,下载更新先
回复

使用道具 举报

57#
发表于 2012-11-14 17:56:35 | 只看该作者
原帖由 不点 于 2012-11-10 18:11 发表
修改以后,font 命令支持菜单尾部的字体行。

font 总是返回一个字库中包含的字模的个数(即字符的个数,就是有效字体行的行数)。

一个空的 font 命令,它所对应的字库是空的,所以有效字符行是 0。

当 ...


如果要卸掉字模怎么办?好像以前使用不带参数的font,直接换到控制台模式好像没有卸掉字
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-10 11:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表