无忧启动论坛

标题: grub4dos-0.4.5c-2012-12-13(set timeout back to 1. set safe_mbr_hook to 0) [打印本页]

作者: 不点    时间: 2012-9-21 14:55
标题: grub4dos-0.4.5c-2012-12-13(set timeout back to 1. set safe_mbr_hook to 0)
grub4dos-0.4.5c-2012-10-05


解决与 grubutil、bootice 等外部菜单修改工具的兼容性问题。

试试看,解决了没有?



更新到 17 日的版本,方便大家下载测试。

[ 本帖最后由 不点 于 2012-12-13 19:07 编辑 ]

grub4dos-0.4.5c-2012-10-17_2.7z

259.25 KB, 下载次数: 1512, 下载积分: 无忧币 -2

支持扩展键 F11、F12

grub4dos-0.4.5c-2012-10-22.7z

262.97 KB, 下载次数: 533, 下载积分: 无忧币 -2

代码清理

grub4dos-0.4.5c-2012-11-11.7z

263.97 KB, 下载次数: 955, 下载积分: 无忧币 -2

考虑15M内存孔洞。开放 PXE。

grub4dos-0.4.5c-2012-11-12.7z

264.71 KB, 下载次数: 429, 下载积分: 无忧币 -2

增加 map --in-situ=FLAGS 用法

grub4dos-0.4.5c-2012-11-23.7z

258.8 KB, 下载次数: 465, 下载积分: 无忧币 -2

minor fixes on geometry_func and others

grub4dos-0.4.5c-2012-12-13.7z

255.3 KB, 下载次数: 461, 下载积分: 无忧币 -2

set timeout back to 1. set safe_mbr_hook to 0.


作者: sunsea    时间: 2012-9-21 14:58
给介绍一下,好吗?
我这边时空上不去。
作者: 不点    时间: 2012-9-21 15:08
原帖由 2011czmxbb52 于 2012-9-21 14:58 发表
给介绍一下,好吗?
我这边时空上不去。


9月8日引入了一个 bug,这次是修复 9月8日的 bug 的。

以前的版本不受影响。如果 9 月 8 日以前的旧版本够用,无需下载新版本。

对于 9月8日以后发布的版本,如果有下载的,必须更新为刚才发布的版本。
作者: ee1    时间: 2012-9-21 16:22
还在用0.4.4 。
作者: blank007    时间: 2012-9-21 21:07
标题: 回复 #3 不点 的帖子
这个地方有个工具,可对较新版本的  GRLDR 进行改名和内置菜单的导入、导出操作:

http://code.google.com/p/grubutils/downloads/list  。

工具名为:grubinst-1.3  。

经测试,现在,这个工具对 2012-09-21 版的 GRLDR 可以改名,但不能对内置菜单进行导入和导出的操作


(这个工具对 Grub4DOS 2012-06-19 之前版本的改名和菜单的导入、导出均无问题。之后的版本,一直到 2012-09-21 之前的版本未经测试)

错误提示信息:

D:\>grubmenu -r export grldr menu.lst
grubmenu: read fails (pmenu)

请问,内置菜单的位置是不是改变了?

[ 本帖最后由 blank007 于 2012-9-21 21:11 编辑 ]
作者: 不点    时间: 2012-9-21 21:30
标题: 回复 #5 blank007 的帖子
新的测试版主要有两项比较大的改进:

1、支持 lzma 压缩格式的内置菜单。
2、支持在菜单尾部附加一些 font 行。

具体的讨论在时空论坛,希望时空论坛尽快恢复正常。

旧版的 grubinst 不能支持 lzma 压缩格式的内置菜单。但是应该支持未压缩的内置菜单。


作者: guies    时间: 2012-9-21 21:58
grub4dos-0.4.5c-2012-06-19.7z
grub4dos-0.4.6a-2012-06-19.7z
可以用 BOOTICE & grubmenu 來編輯菜單
但樓上的附件 grub4dos-0.4.5c-2012-09-21.7z 卻不行編輯菜單。
作者: 不点    时间: 2012-9-21 22:09
标题: 新的 LZMA 压缩格式内嵌菜单的设计思路(复制时空论坛的帖子)
jianliulin 在无忧论坛提到 font 续尾的问题,我觉得这个问题有可能解决,但是在设计方面,还是需要仔细考虑的。现有的菜单是处于 GRLDR / GRUB.EXE 的尾部,因此,这个 font 可以与菜单一并处理。

初步设想如下。

对于未压缩的菜单,依旧保持以前的格式,放在内存 0x800 处,最大长度 4K。

对于 LZMA 压缩的格式,放在 1M 处。

此时,菜单的尾部可以附加一个小的字库。

LZMA 格式的菜单在 GRLDR / GRUB.EXE 文件中的位置也与以前一样。但它的长度没有限制,只要符合 GRLDR / GRUB.EXE 文件的总长度限制就行。

菜单程序之后紧跟着精简的 unifont.hex 格式的字库。它们其实都是文本格式,中间没有 00 字节。菜单处理程序很容易识别出 font,在遇到 font 时会自动把它当作菜单结束的标志。

同理,font 处理程序也会忽略菜单开头的程序代码,自动找到 font 的开头进行处理。

注意,菜单和font都是文本文件,因此,它们是做成一个文件的,然后经由 lzma 压缩。压缩之后,放在 GRLDR / GRUB.EXE 的尾部。

对于未压缩的菜单,不支持在尾部附加 font,依旧是按照以前的处理办法。压缩和未压缩,是识别新旧格式的一种标志或手段。

另外,也不支持 GZ 压缩。因为 GZ 格式有缺陷,不方便用于这个地方。

附件中是一个前期的工作,这个工作仅仅让 LZMA 格式不受文件后缀的约束。就是说,LZMA 能够以其文件头部的格式来作为标志,无需文件名的后缀 .LZMA。

但是,对这个 LZMA 格式做了一定的限制。字典的大小应该是 2 的 n 次方,否则不认为是合法的 LZMA 格式。未压缩文件的原始大小应该不是 -1,否则也不认为是合法的 LZMA 格式。
作者: 不点    时间: 2012-9-21 22:22
LZMA 格式有一个缺陷,就是它不像 gz 那样在文件开头有个标志。

LZMA 没有明显的标志,只能靠它本身的结构给出间接的标志。

它的开头第一个字节是 “特性”字节,最大取值是 0xE0。

接下来的四个字节是字典大小。通常字典都是 2 的 n 次方的形式。所以,以前的镜像通常都满足这个要求。我们主要利用这点来区分是否合法的 LZMA 格式。

接下来的 8 个字节是原始未压缩文件的大小。有些 LZMA 制作工具制作出来的  LZMA 格式总是用 -1 来表示原始未压缩文件的大小是未知的。我们不支持这样的情况。因为这种情况把 LZMA 的最重要的优点抹杀了,所以,它制作出来的 LZMA 文件对 grub4dos 来说就是无用的。所以我们不支持那样的工具软件。

这就是 LZMA 格式开头 13 个字节的意义。用 hex 工具打开 LZMA 文件一看便知。
作者: 不点    时间: 2012-9-21 22:42
测试版来了。

不过对一楼的计划稍微作了一点改动,压缩菜单的内存位置是 0x110000,即 1M+64K 处。

这是因为 1M 以上的 64K 已经被用得很多了,所以,向后挪动到不容易引起冲突的地方。

压缩菜单的最大长度是 256K,因此,用文件的表示法,它可以这样表示:(md)0x880+0x200。

但是,GRLDR 文件的长度是有限制的,它好像不能够超过 384K,所以,为了安全稳定,你应该保证 GRLDR 在 384K 以内。

你需要把你的内置菜单和 font 做成一个文件。菜单在头部,font 在尾部。然后用 LZMA 压缩工具进行压缩。压缩工具应该与 grub4dos 兼容,正如前面提到的。

压缩后的文件,就可以用工具放在原来 GRLDR / GRUB.EXE 的内置菜单位置了。如果目前没有工具可用,那么可以手动来做。

如果压缩后的菜单的长度超过 4K,那么必须修正 grub.exe 的 EXE 头部中的文件 “ 总扇区数 ”域。让其等于 EXE 的总扇区数(最后一个不足 512 字节的尾巴不包括在内)。菜单超过 4K 时,GRLDR 无需处理,因为它不运行在 DOS 下。

更正:根据 EXE header 的文档,位于偏移 0x04 的 “ 总扇区数 ” 应该包括 EXE 文件的最后一个不足 512 字节的扇区,即,最后一个不足 512 字节的扇区也算一个扇区,记录在 0x04 处的 “ 总扇区数 ” 中。
作者: 不点    时间: 2012-9-21 22:45
jianliulin 发表于 2012-9-16 00:45
    菜单和字体文件之间需要用什么字符来分隔吗?



前面说过了,它们都是文本文件,直接连接起来就可以了。中间不要有 00 之类的分界字符。

合并后的大文件应该仍旧是一个合法的文本文件。回车符和换行符是等价的,不再区分。

多余的回车、换行符会被忽略掉。

换句话说,回车或换行字符就是天然的分界符。

既然是文本文件,那么中间就不应该有其他控制字符。除了回车换行以外,不应该有其他 00 至 1F 的 ASCII 字符。

菜单处理程序会自动忽略尾部的 font,而 font 处理程序也会自动忽略头部的菜单代码。

所以,无需分界符。
作者: 不点    时间: 2012-9-21 23:07
xianglang 发表于 2012-9-16 02:34
    尾续了菜单+字库的压缩包的G4D,该怎么使用菜单和字库啊?

    另外,希望有人做个将这种压缩包尾续到G4D中去 ...



目前你可以手动续尾。

续尾之后,你无需做任何工作。既然 菜单 和 font 已经在内存了,grub4dos 在启动时会自动加载它们的。

用户只需要在内置菜单中放一条 graphicsmode -1 100:1000 100:1000 24:32 之类的命令便可进入 VBE 模式了。
作者: 不点    时间: 2012-9-21 23:11
jianliulin 发表
希望有个标记字符用来分割菜单和字体以便工具单独修改菜单或者字体,另外如果用户在菜单里使用了font命令加载字体文件,字体是替代还是叠加


加载字体与以前一样,都是叠加。

分界符就不用指定了。程序很容易分辨 font 是从哪里开始。

因为 font 的格式是明确的。程序费不了多少代码就能确定。

添加特别的分隔符,有其有利的一面,但也有弊端。因为需要花费额外的心思来处理这个特殊的分界符,有时候还会带来副作用,比如,某个用户以某种方式误用了这个分界符,这就给他带来了麻烦。当能够避免这种麻烦的时候,我们从设计之初就应该考虑到这些细节,尽量照顾用户的使用体验,发挥最大的容错能力。

同样,自由格式也有利弊。它的弊端是需要程序员多写几行代码。

考虑到不要制定太多的规范、太多规范就是垃圾,所以,采用自由格式。不添加具有特殊意义的字符,不制定额外的规范。

自由格式对于程序员来说,处理稍稍麻烦那么一点,但对于用户来说,直接了当,便于理解,便于使用。

最终是要照顾用户的,而不是照顾程序员的。我觉得,任何软件都应该如此。
作者: 不点    时间: 2012-9-21 23:38
原帖由 guies 于 2012-9-21 21:58 发表
grub4dos-0.4.5c-2012-06-19.7z
grub4dos-0.4.6a-2012-06-19.7z
可以用 BOOTICE & grubmenu 來編輯菜單
但樓上的附件 grub4dos-0.4.5c-2012-09-21.7z 卻不行編輯菜單。


这两个工具不能编辑菜单,倒是比较意外。等待其作者修正吧。

菜单的位置没有挪动。即使 lzma 压缩格式的菜单,也在 GRLDR 中原来的位置,只不过是 LZMA 压缩格式而已。

jianliulin 9月18 日发布的 fbinstTool 支持修改新版 grub4dos 的内置菜单,也可以导入、导出,并且支持 lzma 压缩。
作者: 青青草    时间: 2012-9-22 02:39
标题: 回复 #14 不点 的帖子
不点大师,你好!请问jianliulin 9月18 日发布的 fbinstTool,哪里可以下载?谢谢!
作者: jianliulin    时间: 2012-9-22 09:32
以上传到这里
http://bbs.wuyou.net/forum.php?m ... page%3D7&page=1
作者: sunsea    时间: 2012-9-22 13:53
原帖由 不点 于 2012-9-21 22:42 发表
测试版来了。

不过对一楼的计划稍微作了一点改动,压缩菜单的内存位置是 0x110000,即 1M+64K 处。

这是因为 1M 以上的 64K 已经被用得很多了,所以,向后挪动到不容易引起冲突的地方。

压缩菜单的最大 ...

还好不是放什么很重要的数据
如果我没记错的话
1M后面第1个64K区域经常会被DOS拿去存放command.com
估计会被覆盖掉
作者: 2010瓦卡卡    时间: 2012-9-22 19:41
终于更新了
前排支持
作者: M    时间: 2012-9-22 20:10
新版不是0.4.6C的吗?
作者: 不点    时间: 2012-9-24 11:30
又有改动,试试时空论坛 9 月 24 日的版本。
作者: blank007    时间: 2012-9-24 13:18
原帖由 不点 于 2012-9-24 11:30 发表
又有改动,试试时空论坛 9 月 24 日的版本。

其它地方可以下载吗?俺木有下载的账号。
作者: mygamexxx    时间: 2012-9-24 13:36
时空论坛现在基本上进不去啊!!
作者: pz    时间: 2012-9-24 15:13
原帖由 blank007 于 2012-9-24 13:18 发表

其它地方可以下载吗?俺木有下载的账号。

grub4dos-0.4.5c-2012-09-24.7z (267.35 KB, 下载次数: 113)

增加了 use_preset_menu 变量

[ 本帖最后由 pz 于 2012-9-24 15:18 编辑 ]
作者: Quam    时间: 2012-10-3 11:53
谢谢提供新版本,已下载试用
作者: newswan    时间: 2012-10-4 00:59
新版本,怎么写内置菜单呢。。
作者: 不点    时间: 2012-10-5 09:48
今天已经更新,试图解决与 grubutil、bootice 的兼容性问题。

请在一楼下载测试。
作者: 不才    时间: 2012-10-5 10:03
嘿嘿,测试了一下不点兄发布的grub4dos-0.4.5c-2012-10-05,采用老版本的grubmenu.exe已经能够顺利导入、导出菜单!
谢谢!
作者: 不点    时间: 2012-10-5 10:10
非常高兴解决了。

在刚刚上载 10 分钟就接到你的好消息,谢谢你。
作者: 不才    时间: 2012-10-5 12:09
原帖由 不点 于 2012-10-5 10:10 发表
非常高兴解决了。

在刚刚上载 10 分钟就接到你的好消息,谢谢你。


嘿嘿,不点兄搞颠倒了。应该是乡亲们谢谢你才是!由于您的辛劳与努力,大家才能够充分享受到g4d所带来的快乐。所以,再次感谢您!
作者: ali88home    时间: 2012-10-5 15:35
测试了2012-10-05版本,BOOTICE连V0.8版本都可以使用了。

作者: 讯极天度    时间: 2012-10-5 17:21
标题: 回复 #1 不点 的帖子
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
这里怎么不一起更新呢?
作者: guies    时间: 2012-10-8 20:20
今天在 Mac Air 使用 Grub4Dos 发现如下:
启动之后
grub4dos-0.4.5b-2011-12-30.7z 键盘可以动
grub4dos-0.4.5c-2012-06-18.7z 键盘可以动
grub4dos-0.4.5c-2012-10-02.7z 键盘不能动
grub4dos-0.4.5c-2012-10-05.7z 键盘不能动

另外所有的版本皆不能发现第四个分区
分区表类型:GPT

(hd0,0) ESP
(hd0,1) HFS+ ←Mac OS
(hd0,2) NTFS ←Windows 7
           NTFS ←无法列出也找不到,但实际上这是 Windows 7 的 D槽,也可正常使用
作者: 不点    时间: 2012-10-9 08:10
键盘问题,Mac 在底层不兼容于 IBM PC (BIOS 数据区)标准,请在 grub 之下运行适当的命令,把实模式所使用的 1M 内存(注意,包括了 ROM 程序代码)截获,并打包上载,用以研究最佳对策。

分区找不到的问题:该分区已经超出主板 BIOS 的访问能力。就是说,主板 BIOS 的能力有限,你的分区太靠后,距离硬盘起始点太远,而主板的 BIOS 有 bug,鞭长莫及(因为是 bug,所以应该说是鞭 “ 短 ” 莫及),造成无法访问这个分区。就目前的 grub4dos 来说,无解。但你可以试试 GRUB2,它有自己的硬盘驱动,可以避免使用有 bug 的主板 BIOS。
作者: guies    时间: 2012-10-9 11:02
Mac Air 交機了,要等下一次有沒有機會再碰了。

以前的版本都正常,只有最近的版本鍵盤連動都不能動。

[ 本帖最后由 guies 于 2012-10-9 17:02 编辑 ]
作者: 不点    时间: 2012-10-9 16:14
估计所有的 Mac 都是如此。希望有人提供信息。
作者: tulongwa    时间: 2012-10-9 19:37
这个能不能直接装到EXFAT分区,不是改名成BOOTMGR的方法安装,
作者: fengtao4it    时间: 2012-10-18 22:42
这些版本测试过都能启动菜单,但无法进行下一步的启动,也就是选择了菜单后就黑屏,包括10月5号那版。也许是我操作有误?
1、打开fbinstool1.606,选择UD区
2、打开grub压缩包(用winrar打开),将grldr拖到UD区,提示是否保留内置菜单,选是。
3、用自带的qemu测试,失败,开机从优盘启动,失败。
作者: fengtao4it    时间: 2012-10-18 22:44
2012-06-19版正常
作者: 不点    时间: 2012-10-19 08:10
那就麻烦你做个测试,用 boot.ini 加载 grldr 或 grub.exe,看看是否成功?

c:\grldr="grldr"
c:\grub.exe="grub.exe"

精确复制以上两行,添加到你的 boot.ini 的尾部。然后启动时选择其一,看看正常不正常?

做这个测试时,不要对 grldr 和 grub.exe 做任何改动。从下载的包里,直接解压出来,放在 C 盘根目录,不要有任何修改的动作。

你测试过 10 月 14、15、16、17 日的全部版本了吗?尤其是 17 日有三个版本,全都失败了吗?




[ 本帖最后由 不点 于 2012-10-19 09:24 编辑 ]
作者: fengtao4it    时间: 2012-10-19 13:25
标题: 回复 #39 不点 的帖子
我是用的优盘启动,grldr放在UD区。grldr倒是做过改动,把内置的菜单换成我个人的菜单了。只试过10月5号的,还有17号的-2版。
作者: fengtao4it    时间: 2012-10-19 15:00
上边提过的几个版本全试过,症状相同,也说是说不带菜单或用其内置菜单时,启动正常,但一旦换成我个人的菜单,启动时主菜单是可以进的,画面也正常,但一下步就失败(比如我按下ESC键,切换到文本界面,直接黑屏,按一下回车键,会出现随机的绿色块,然后提示“Bootmgr丢失,按组合键重启”)
作者: fengtao4it    时间: 2012-10-19 15:02
我把菜单贴出来吧,虽然说没啥用处:
timeout 10
default 7
calc *0x60200=*0x82a0
calc *0x60300=*0x829c
gfxmenu ()/BOOT/MESSAGE || find --set-root /BOOT/MESSAGE && gfxmenu ()/BOOT/MESSAGE
title 【 1 】启动小马WinPE2003
command /BOOT/F6IMG
#map --mem ()/BOOT/IMGS/FIRADISK.IMG (fd0) || find --set-root /BOOT/IMGS/FIRADISK.IMG (fd0) && map --mem ()/BOOT/IMGS/FIRADISK.IMG (fd0)
map --mem ()/BOOT/GUTOU.ISO (0xff) || find --set-root /BOOT/GUTOU.ISO (0xff) && map --mem ()/BOOT/GUTOU.ISO (0xff)
map --e820cycles=3
map --hook
chainloader (0xff)
title 【 2 】运行无忧版WinPE7
find --set-root /BOOT/WIN7PE.ISO
map /BOOT/WIN7PE.ISO (0xff)
map --hook
chainloader (0xff)
title 【 3 】启动 Memtest 内存检测
map --mem /BOOT/IMGS/WINDIAG.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 【 4 】加载 F6 磁盘镜像
command /BOOT/RUN --fira dpms:/SRS/DPMS.lzma /BOOT/SRS.LST
title 【 5 】运行 GHOST11备份与恢复
map --mem ()/BOOT/IMGS/MAXDOS.IMG (fd0) || find --set-root /BOOT/IMGS/MAXDOS.IMG (fd0) && map --mem ()/BOOT/IMGS/MAXDOS.IMG (fd0)
map --hook
dd if=(fd0)/CONFIG.SYS of=(fd0)/CONFIG.SYS bs=1 skip=123 count=1 seek=146
write --offset=921 (fd0)/AUTOEXEC.BAT call GH.bat
chainloader (fd0)+1
rootnoverify (fd0)
title 【 6 】启动DOS工具箱常用菜单
configfile ()/BOOT/DOS.LST || find --set-root /BOOT/DOS.LST && configfile ()/BOOT/DOS.LST
title 【 7 】NT5.X/NT6.X通用启动盘启动
map --mem ()/BOOT/IMGS/NTBOOT.IMG (fd0) || find --set-root /BOOT/IMGS/NTBOOT.IMG (fd0) && map --mem ()/BOOT/IMGS/NTBOOT.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 【 8 】安装原版XP或2003系统
command /BOOT/F6IMG
checkrange 0x80 read 0x8280 && map (hd0) (hd1) && map (hd1) (hd0) && map --rehook
rootnoverify (hd0,0)
chainloader +1
title 【 R 】重新启动计算机
reboot
title 【 S 】关闭计算机
halt
******************************************
另:菜单编码:UTF-8;文件列表编码:ANSI
作者: 不点    时间: 2012-10-19 15:11
大致知道了,可能是你自己的某个隐蔽的问题。看到 gfxmenu 命令了,有可能是这个引起的。

感谢你报告问题。

不过,问题报告得不太彻底。所以,我也就有了上述的印象,和认识。

我当然明白,连开发者本人都不十分熟悉的一个系统,更不可能要求一个普通的用户全面了解、全面熟悉。

所以,您遇到的问题,也算是正常的。

但我要猜测的话,还是猜测是 gfxmenu 的问题。你不妨先去掉它,看看是否正常。这仅仅是个建议。



补充说明,10月17日的最后一个版本是应该重点测试的。它应该是没问题的。如果它有问题,那么 17_1 这个版本就应该没问题了。

前提是你暂且不要用 gfxmenu 命令。

[ 本帖最后由 不点 于 2012-10-19 15:18 编辑 ]
作者: fengtao4it    时间: 2012-10-19 17:12
最新的一版,不用gfxmenu结果:

01.png (5.1 KB, 下载次数: 145)

启动03PE的结果(但用不带--mem参数启动Win7PE却正常)

启动03PE的结果(但用不带--mem参数启动Win7PE却正常)

02.png (3.29 KB, 下载次数: 152)

启动软盘映像的信息

启动软盘映像的信息

03.png (9.53 KB, 下载次数: 154)

运行RUN命令直接返回原菜单

运行RUN命令直接返回原菜单

作者: fengtao4it    时间: 2012-10-19 17:16
另:这个结果是用Fbinstools1.606带的Qemu功能测试的,暂时未实机测试。
续:把新版本的grldr更新到光盘映像中,用vmplayer虚拟环境,正常。看来确实是与gfxmenu冲突啊,唉,用了N久的彩色背景……

[ 本帖最后由 fengtao4it 于 2012-10-19 17:25 编辑 ]
作者: 不点    时间: 2012-10-19 17:28
error 61 和 22 似乎都属于你自己什么地方弄错了造成的。

感觉这个版本的 grub4dos 没有什么问题。

好像这个新版本可以更新到 svn 了。

谢谢你的贴图。



补充说几句:

过去若干年来,一直在小心翼翼地照顾 gfxmenu,尽量不要让 gfxmenu 转不起来。

如果这次新版变动真的造成 gfxmenu 的失灵,那也是不容易处理的了。

毕竟 gfxmenu 对于内存的使用是不可控制的。有可能与 grub4dos 造成冲突。

就是说,使用 gfxmenu,暗礁太多,不可控因素太多。

gfxmenu 中的 message 其实也是一个程序,它究竟要怎么运作,那是有它自己的一套方案的。

它的对于内存的使用,无法被 grub4dos 精确了解到。

建议及早放弃使用 gfxmenu。或者你坚持使用某个旧版的 grub4dos,不再更新,那样也行。


再补充:

新版本究竟更动了什么?

新版本更动了键盘处理的代码,在你的描述中,没有显示出这方面的问题。说明不是键盘代码引起的。

新版本还启用了 1M 以上的一部分空间,以及 3M 以上的一部分空间。这倒是有可能与你的 gfxmenu 里面的 message 发生冲突。

假如真的如此,我们怎么办?

我们不可能就因为 gfxmenu 的 message,而放弃使用 1M 以及 3M 以上的那部分内存空间。因为内存空间是很珍贵的,我们不容易找到一个空闲空间。换句话说,如果我们设法避免与你这个 message 冲突,就要增加与别的软件发生冲突的可能性。况且要想找出与 message 发生冲突的真正原因也并非很容易的事情,需要大量的调试和测试,甚至需要阅读你的 message 文件的源代码。

[ 本帖最后由 不点 于 2012-10-19 19:36 编辑 ]
作者: fengtao4it    时间: 2012-10-19 21:25
唉,我的PE更新暂时告一段落,虽然以后肯定还要更新,但至少短时间内是不会再有大改动了,暂时还是用着老版本的grub4dos吧,以后的事以后再说,message肯定要放弃的,到时要用什么作背景,一句话:船到桥头自然直,谢谢各位老大的贡献,让我们的电脑玩得不再那么枯燥。
作者: zjzaog    时间: 2012-10-20 00:13
标题: 回复 #47 fengtao4it 的帖子
其实新版的grub4dos早就支持彩色背景了,vbe功能,
作者: 青青草    时间: 2012-10-20 12:47
应用grub4dos应当有与时俱进精神!
作者: 快雪时晴    时间: 2012-10-20 15:43
标题: 回复 #46 不点 的帖子
gfxmenu几乎不用,message太占空间了,vbe也不用,还在文字模式
作者: 不点    时间: 2012-10-20 19:31
标题: 回复 #50 快雪时晴 的帖子
我也一样,只用文本模式,英文界面。VBE 从来都没用过。以前的 gfxmenu 也没有用过。
作者: 我就打酱油的    时间: 2012-10-22 20:59
10.22版本,设置的关闭计算机菜单只出现一次,当进行返会主菜单操作时关闭项不显示
作者: 不点    时间: 2012-10-22 21:54
贴出你全部的菜单内容(内置菜单、外置主菜单和子菜单),并说明操作步骤,看看究竟什么改动影响了你的菜单。
作者: 我就打酱油的    时间: 2012-10-22 22:16
标题: 回复 #53 不点 的帖子
经过最简化处理,发现只要标题后有 \n说明就会这样。就是说,一个标题加了 \n参数后,进入的菜单中关机菜单就会消失
作者: 不点    时间: 2012-10-22 22:35
标题: 回复 #54 2012MSDN 的帖子
看不太明白,等待其他人更详细的报告。
作者: 我就打酱油的    时间: 2012-10-22 23:13
标题: 回复 #55 不点 的帖子
老大,事情清楚了,是FbinstTool编辑保存菜单的问题,10.22版一切正常
作者: 不点    时间: 2012-10-23 11:38
标题: 回复 #56 2012MSDN 的帖子
如果你能确认是 FbinstTool 的毛病,你应该尽快向作者报告。

我最担心的是 grub4dos 内部有 bug。如果 FbinstTool 的作者能够确认毛病属于 FbinstTool,那就可以间接排除 grub4dos 的毛病了。

希望大家都来测试,共同推动 grub4dos 版本的完善。
作者: 青青草    时间: 2012-10-23 12:02
10.22版本,在我的机子(ASUS)上U启测试正常.
作者: 我就打酱油的    时间: 2012-10-23 18:59
标题: 回复 #57 不点 的帖子
可以确定的,FbinstTool 保存菜单后最末尾有几率出现一个乱码,因为关机项在最后一个就和乱码合到一起了。编辑memu.lst纯文本就这样,而不是gurb4dos内置菜单。因此和gurb没关系。
作者: lgstd    时间: 2012-10-23 20:11
为什么我更新了版本后原来的菜单一直向上移动,根本没办法选择,还望解惑
作者: 不点    时间: 2012-10-24 06:55
标题: 回复 #60 lgstd 的帖子
你给的信息太少,无法了解哪里有问题。

比如说,你没有说你更新的是哪个版本,而更新之前是哪个版本。你也没贴出菜单,以及其他供人了解的信息。

在信息缺乏的情况下,别人无法为你解惑,还是你自己为自己解惑吧。
作者: xianglang    时间: 2012-10-25 13:43
好消息!!!2012-10-22 版在苹果 MacBook Pro 笔记本上测试通过,键盘可以正常使用!
作者: zjzaog    时间: 2012-10-25 23:10
恭喜恭喜啊389523209384238401字数补丁
作者: jianliulin    时间: 2012-10-26 00:02
可以确定的,FbinstTool 保存菜单后最末尾有几率出现一个乱码,因为关机项在最后一个就和乱码合到一起了。编辑memu.lst纯文本就这样,而不是gurb4dos内置菜单。因此和gurb没关系



能把步骤说出来吗? 我想在我这里重现问题
fbinsttool 是每个版本都一样,还是从哪个版本开始出现问题??
作者: 2010RENDQ    时间: 2012-10-26 08:00
我这里也出现过,是几行乱码,在最后又是几行字库代码。我没有留意是什么时候开始的,我认为应该是9月21日的那个正式版开始的。我把那些乱码和字库代码删掉,对0PE也没有影响。
作者: 不点    时间: 2012-10-26 10:39
10月22 日的版本已经有 170 多个下载了。估计没什么问题。

前面有人报告的问题,没有得到报告者的进一步核实(不知道他所用的grub4dos版本信息以及其他详情),所以忽略那个报告。
作者: 我就打酱油的    时间: 2012-10-27 00:20
标题: 回复 #64 jianliulin 的帖子
fba中点击一个内置的文本,然后修改下,右键保存(utf8)后有时文本最下面就会出现一个“口”字的乱码,但是只是有时,具体发生情况不明。
作者: a102135    时间: 2012-11-1 20:25
terminal --font-spacing=1:6
graphicsmode -1 640:1024 480:768 24:32
splashimage /BOOT/GRUB/BACK2.GZ
font /BOOT/GRUB/UNIFONT.HEX
write 0x8274 0x2001

title   ☆系统安装与修复☆
clear

title 全新安装 Windows 7
chainloader /BOOT/BCH_MGR

iftitle [if %?_BOOT%==(cd)] 全新安装 Windows XP
find --set-root /I386/SETUPLDR.BIN
chainloader /I386/SETUPLDR.BIN || chainloader --force (cd)/I386/SETUPLDR.BIN

title 快速安装 Ghost 系统
map --mem /BOOT/IMGS/GHOSTNT.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title Windows 7 32位系统修复
chainloader /BOOT/BCI_MGR

title Windows 7 64位系统修复
chainloader /BOOT/BCK_MGR

title WINXP 故障恢复控制台
command /BOOT/GRUB/F6IMG /SRS
map --mem /BOOT/IMGS/XPCMDCON.ISO (0xff)
map --hook
rootnoverify (0xff)
chainloader (0xff)

title 一键安装 Ghost 系统(XGHOST)
map --mem /BOOT/IMGS/XGHOST.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title WIN2003 故障恢复控制台
command /BOOT/GRUB/F6IMG /SRS
map --mem /BOOT/IMGS/2K3CONS.ISO (0xff)
map --hook
rootnoverify (0xff)
chainloader (0xff)

title 返回主菜单
configfile /BOOT/GRUB/MENU.LST





菜单如上,以前的版本正常,新版本为何少了个返回主菜单呢?如图:

[ 本帖最后由 a102135 于 2012-11-1 20:27 编辑 ]

QQ截图20121101202231.jpg (34.98 KB, 下载次数: 124)

QQ截图20121101202231.jpg

QQ截图20121101202322.jpg (35.62 KB, 下载次数: 117)

QQ截图20121101202322.jpg

作者: 不点    时间: 2012-11-1 20:41
最早从哪个版本开始出现这个问题?

菜单是内置还是外置?

前面有人报告,fbinsttool 有问题,编辑内置菜单以后就破坏了尾部的一些字节,导致最后一项失效。

你是否也是遇到这个问题了呢?

[ 本帖最后由 不点 于 2012-11-1 20:47 编辑 ]
作者: a102135    时间: 2012-11-1 20:48
菜单是外置的。好像刚才试10月22号的版本也是这样的。


另10月2号的版本有个怪问题,以前正常加载的EZBOOT和MS菜单中的CDLINUX启动正常,而用这个版本启动CDLINUX的时候居然切换到GRUB的主菜单上了。
作者: xianglang    时间: 2012-11-1 22:54
原帖由 a102135 于 2012-11-1 20:25 发表
terminal --font-spacing=1:6
graphicsmode -1 640:1024 480:768 24:32
splashimage /BOOT/GRUB/BACK2.GZ
font /BOOT/GRUB/UNIFONT.HEX
write 0x8274 0x2001

title   ☆系统安装与修复☆
clear

titl ...


我这里所有版本都可以正常显示返回菜单项啊,不过我的返回菜单项,是放在第一个位置(0号菜单)的。
作者: 不点    时间: 2012-11-2 05:47
原帖由 a102135 于 2012-11-1 20:48 发表
菜单是外置的。好像刚才试10月22号的版本也是这样的。


另10月2号的版本有个怪问题,以前正常加载的EZBOOT和MS菜单中的CDLINUX启动正常,而用这个版本启动CDLINUX的时候居然切换到GRUB的主菜单上了。


前面有人报告,fbinsttool 有问题,编辑内置菜单以后就破坏了尾部的一些字节,导致最后一项失效。

你是否也是遇到这个问题了呢?是不是你用了 fbinsttool 呢?你的菜单是作为内置菜单还是作为外置菜单来用的?

刚才问过,但你没有答复。
作者: jianliulin    时间: 2012-11-2 08:18
前面有人报告,fbinsttool 有问题,编辑内置菜单以后就破坏了尾部的一些字节,导致最后一项失效。
fbinsttool之前有些版本会显示一个字节的乱码,那是因为没有自动清除菜单最后的#0字符,后来版本已经改过来了,<br />我多次测试未能重现bug报告者的问题,希望当初报告bug的网友能再提供详细的描述

[ 本帖最后由 jianliulin 于 2012-11-2 08:20 编辑 ]
作者: a102135    时间: 2012-11-2 15:13
标题: 回复 #72 不点 的帖子
原帖由 不点 于 2012-11-2 05:47 发表


前面有人报告,fbinsttool 有问题,编辑内置菜单以后就破坏了尾部的一些字节,导致最后一项失效。

你是否也是遇到这个问题了呢?是不是你用了 fbinsttool 呢?你的菜单是作为内置菜单还是作为外置菜单来 ...




没有用过fbinsttool ,我这个ISO不是UD版的,我就直接升级了下ISO中的GRLDR类的文件。GRUB菜单是外置的。


我这个菜单是个子菜单,是不是因为有知用了条件菜单的原因呢?

[ 本帖最后由 a102135 于 2012-11-2 15:17 编辑 ]
作者: 不点    时间: 2012-11-2 21:35
我也不敢肯定。

我还弄不清楚究竟是你的菜单含有什么错误呢?或者是新版 grub4dos 有 bug。

这样吧,等待总是一个好办法。等着其他人报告更多的问题。

假如真的有 bug 的话,其他人也会遇到的。总有人会反馈更多的信息的。

把大家反馈的信息累加起来,就有助于找出问题的根源了。
作者: 2011myzmj    时间: 2012-11-4 18:07
标题: grldr0.4.5c-11-01版子菜单返回不了
我的UD用2012-06-19版grldr0.4.5c一切正常,今天下载了2012-11-01版grldr0.4.5c放入UD,其他正常但是子菜单返回不了,是不是要修改menu.lst,我上传了截图 截图.7z (43.03 KB, 下载次数: 55)
作者: yanwc    时间: 2012-11-8 11:39
更新到2012-11-07,菜单乱码
作者: zhaohj    时间: 2012-11-8 16:31
我无法给yaya的版本打上304补丁,是否是版本跨度太大?
是这个grldrstart.s补丁无法打上。
作者: 不点    时间: 2012-11-8 16:38
你找找看 yaya 的 grldrstart.S 版本中有没有 pxe 的项目,如果没有,不需要打补丁。
作者: zhaohj    时间: 2012-11-8 16:55
/* BX:0000 = pre_stage2_start */

        cmpw        $0x7C0, %bp
        jne        1f
        cmpw        %bp, %cx
        je        2f
1:
        /* disable pxe */
        
        orb        $0x01, (pre_stage2_start - _start1 + 5)
        
2:      
        cmpw        $0x820, %bx      
        jb        2f


- orb $0x01, (pre_stage2_start - _start1 + 5)
+ //orb $0x01, (pre_stage2_start - _start1 + 5) /* disable pxe */

补丁为何不起作用?
补丁成功后应该是:
cmpw %bp, %cx
je 2f
1:
//orb $0x01, (pre_stage2_start - _start1 + 5) /* disable pxe */
2:
cmpw $0x820, %bx
jb 2f

---------------------------------------
问:@@ -1114,8 +1114,7 @@
这个怎么理解?
是不是删除1114开始的8行,加上1114开始的7行?

[ 本帖最后由 zhaohj 于 2012-11-8 17:15 编辑 ]
作者: zhaohj    时间: 2012-11-8 17:38
知道原因了,yaya的版本很多行对应不上。得为yaya的版本重新修改.diff文件。
以后也知道怎么打补丁了。

[ 本帖最后由 zhaohj 于 2012-11-8 17:40 编辑 ]
作者: ioeory    时间: 2012-11-9 12:30
学习了 谢谢技术贴
作者: zdq001    时间: 2012-11-10 14:40
标题: 回复 #1 不点 的帖子
先上菜单
terminal console
debug off
default 0
timeout 30
command (ud)/hotkey
hotkey
splashimage (ud)/bj.lzma
font && font %bootdv%(ud)/FONT_CN.GZ
#font && font %bootdv%(ud)/FONT_CN.GZ                  
graphicsmode -1 100:1000 100:1000 24:32
color normal=10 highlight=14 helptext=01 heading=14 standard=15

title ^1 【1】选择启动 winPE  
configfile (ud)/pe.lst


更新到grub4dos-0.4.5c-2012-11-07后菜单乱码,而使用grub4dos-0.4.5c-2012-06-19则正常,不知什么原因,且更新最新的hotkey后需要加载两次,特将以上情况反馈与不点大大,请详查,先以换回旧版。
作者: yanwc    时间: 2012-11-10 15:14
原帖由 zdq001 于 2012-11-10 14:40 发表
先上菜单
terminal console
debug off
default 0
timeout 30
command (ud)/hotkey
hotkey
splashimage (ud)/bj.lzma
font && font %bootdv%(ud)/FONT_CN.GZ
#font && font %bootdv%(ud)/FONT_CN.GZ    ...


遇到同样情况,原菜单如下:
font && font /BOOT/GRUB/unifont.hex

改成:
font /BOOT/GRUB/unifont.hex
后,没有乱码了
作者: cxmzlxb    时间: 2012-11-10 21:27
更新了!!!!!!!!!!
作者: 红毛樱木    时间: 2012-11-11 08:03
新版返回内置菜单
(md)0x880+0x200
10月份及之后的都有这样的问题
返回的很慢很慢  不知何故

老版的(md)4+8很快
作者: 2011momoto    时间: 2012-11-13 16:13
好贴要顶,不能沉底。
作者: M    时间: 2012-11-13 19:48
原帖由 2012MSDN 于 2012-10-27 00:20 发表
fba中点击一个内置的文本,然后修改下,右键保存(utf8)后有时文本最下面就会出现一个“口”字的乱码,但是只是有时,具体发生情况不明。

这个我也遇到过,但是貌似没什么不良后果。好像是标记菜单后保存,然后把鼠标放置最后一行的最末位,点击一下就会出现 口 字形的未知代码,但没影响正常使用,不知道什么原因引起的。有时每点必出,有时怎么点又没有,很神奇。


另外发现不点大师好像一直都编译着0.45C的版本,为啥不升级0.46a的版本呀?

[ 本帖最后由 M 于 2012-11-13 19:54 编辑 ]
作者: sunsea    时间: 2012-11-15 21:11
如果要避免因FBT乱码的话可以在后面新开一行打20个左右的#号,把注释破坏掉了没事
作者: Xongkoro    时间: 2012-11-20 08:24
更新到0.4.5c-2012-11-17版本,进入二级菜单返回一级menu.ls菜单花屏,确切点是花成了绿屏,不知何故?
原菜单。0929版本无此问题。
[ 1 ] RE_返回主菜单
configfile (md)4+8
作者: 2012zhd    时间: 2012-11-20 09:44
标题: 回复 #91 ahoo 的帖子
zhaohj大元帅说新版返回主菜单的命令是
title                           [10] 返回 第一启动菜单         
write 0x307ff8 1
configfile
作者: 20120301    时间: 2012-11-20 10:10
我的新版可以正常返回
title  返回主菜单                               \n  
command RUN --as.lst (md)4+8
作者: huaqingyuan    时间: 2012-11-20 19:38
在WIN8自带的虚拟机里面不能使用!死机或者从起
作者: 青青草    时间: 2012-11-22 16:12
一直跟着更新,但却不知道究竟更新了些什么?!
作者: pseudo    时间: 2012-11-23 11:27
@不点
11.22版有问题。
您试试您新下载的11.22的0pe,应该是启动不了的。

重现问题的简化菜单如下:
default 0
timeout 0

title
goto 1

title
pause okokok

问题出在goto命令上,估计是对errnum处理的变化导致。

---------------------------------------
grub4dos-0.4.5c-2012-11-23已无此问题。

[ 本帖最后由 pseudo 于 2012-11-23 15:46 编辑 ]
作者: Xongkoro    时间: 2012-11-24 00:54
标题: 回复 #93 20120301 的帖子
多谢,用此返回菜单地址命令OK了,。
原来是地址变了!
作者: a102135    时间: 2012-12-5 23:44
自从6月19日之后的版本,子菜单中的返回主菜单仍然不正常!包括近期的11月23日的版本。
作者: a102135    时间: 2012-12-5 23:46
title 返回主菜单
configfile /BOOT/GRUB/MENU.LST

这样写不知是不是有问题?
作者: 2012fan    时间: 2012-12-13 22:53
标题: 回复 #1 不点 的帖子
grub4dos-0.4.5c-2012-12-13.7z (255.3 KB)
  set timeout back to 1. set safe_mbr_hook to 0.

请问 这个是从google  0.4.5c-2012-12-05 Feature版 修改来的吗?
作者: 不点    时间: 2012-12-14 07:37
标题: 回复 #100 2012fan 的帖子
当然是的。总是以 chenall 的最新版作为基础。




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