Board logo

标题: grub4dos 2008-08-03 更新说明 [打印本页]

作者: 不点     时间: 2008-8-3 20:59    标题: grub4dos 2008-08-03 更新说明

下载地址:http://grub4dos.nufans.net/

本次变更内容:

1. 修复了有关操作符 && 和 || 的出错处理问题。

2. grldr.mbr 的结构有了一些变动。

3. 其它一些少量更动。

本次变动未经本人测试,所以,请大家先测试之后再用(主要是看看是否会引起死机。不会毁掉你的硬盘,所以大家放心测试好了!)。如果本次变动出现问题(并且不能尽快解决)的话,请使用 2008-07-28 的版本。

由于一些软件要在 2008-08-08 发布新版本,这些软件有可能使用 grub4dos,所以,我希望推出一个没有毛病的版本。今天是 3 号,还有几天的时间可以修复 bug,请大家尽快测试,报告 bug。遇到 bug 请第一时间报告,谢谢!

=======================================

关于上述第 2 项中的 grldr.MBR 文件格式(数据结构)更改的进一步说明:

如果一切顺利的话,本次的 grldr.MBR 应该也可以放在 boot.ini 中了。很遗憾,我本人没能测试就上载了。朋友们帮忙看看有没有问题?

因为结构有了变动,所以 grldr.mbr 的版本号 从 2 升级为 3 了。请 bean 看看是否影响到了某些工具软件的运行,如果有影响,请更新相应的工具软件。

本次增加了可更改的 “硬盘序列号”,以便使得引导过程更加可靠。“硬盘序列号” 是一个 4 字节的整数,放在 GRLDR.MBR 的偏移 0x1FFC 处,同时也放在第一扇区中的某个偏移地址处(这个偏移地址的值保存在 GRLDR.MBR 的偏移 0x1FF8 处,它指向第一扇区中的硬盘序列号,所以很方便就能找到第一扇区中的硬盘序列号)。

外部程序在安装 grldr.mbr 到硬盘的 MBR 之后,应该修改硬盘序列号的值(不修改也可,默认值也可用,但修改了更好)。注意,第一扇区上的硬盘序列号应该等于偏移 0x1FFC 处的硬盘序列号,否则 grldr.mbr 将拒绝运行。

这个硬盘序列号的值应该修改成什么样的呢?其实,任何值都是可以接受的,但为了保持硬盘识别的唯一性,请根据当前的系统日期和时间来产生一个随机的序列号,赋予该硬盘,这就可以了。硬盘序列号不要是 0,因为 0 也能让 grldr 运行失败。序列号越复杂、越有特色就越好。
作者: 80286     时间: 2008-8-3 21:15
2008-08-08 发布?
期待楼主的奥运特别版!
作者: 不点     时间: 2008-8-3 21:33
8月8日不可能发布 grub4dos 的正式版。我是说别的软件可能在 8月8日发布,其中可能含有 grub4dos作为一个组件,因此我希望打造一个更好的 grub4dos,来为这些软件加油!
作者: yaya     时间: 2008-8-4 10:11
有关操作符 && 和 || 的出错处理问题依然存在.
作者: zjhxqh     时间: 2008-8-7 22:48
好几天登录不上时空论坛!
新版本GRUB.EXE,在DOS下运行GRUB.EXE加载menu.lst,然后执行菜单PE
title 2.启动 MAOTAOPE
map (hd0,4)+1 (hd0)
map --hook
find --set-root /ldrxpe
chainloader /ldrxpe
boot
不能成功。
而从grldr-menu.lst-MAOTAOPE成功;另外7月以前版本的GRUB.EXE没有这个问题。
作者: 不点     时间: 2008-8-9 14:00
有人报告 8月8日 解决了问题。请尝试,并报告可能有的任何异常。
作者: zjhxqh     时间: 2008-8-10 20:00
好的。家里电信网目前还上不去时空论坛和你的下载空间,明天去单位试
作者: wsfyoo8     时间: 2008-8-10 20:56
用8月6日版启动不了硬盘上的slax,不看到任何错误提示,只看见光标闪动,以前的版本都可以启动,menu。lst如下:
title  >>>启动slax6.06
find --set-root /pup.l
kernel /boot/vmlinuz ramdisk_size=6666 vga=791 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/slaxsave.dat
initrd /boot/initrd.gz

[ Last edited by wsfyoo8 on 2008-8-11 at 12:53 AM ]
作者: bc12060101     时间: 2008-8-10 21:35
嘿嘿,楼上的兄弟,你的“这个版本”是哪个版本?
作者: zjhxqh     时间: 2008-8-11 09:25
8.8-8.10版本都试了,情况还是一样。
作者: wsfyoo8     时间: 2008-8-11 16:02
又试了8月8日版的,还是启动不了,把“vga=791”去掉后出现错误提示:
Uncompressing  linux...
crc error
---System halted
作者: zjhxqh     时间: 2008-8-14 21:00
我这电信上不去时空论坛。
家里应该无bug机子也试了5.06版本,现象也是中断返回dos;
其它版本在这个机子
无论grldr——ISO——启动iso上pe  
还是grldr——DOS——GRUB.EXE——加载menu.lst——硬盘(hd0,4)pe   
全部正常,不知道5.06曾经在别的用户是否正常?
作者: 不点     时间: 2008-8-14 21:26
wsfyoo8,请确定何时引入了 bug,要精确的发布日期。我们有许多个发布,你找找看。
作者: wsfyoo8     时间: 2008-8-15 00:07
刚才试了,是从8月3日开始无法启动,7月28日的还可以启动
作者: zjhxqh     时间: 2008-8-16 22:34
已解决,真不是问题呵呵,害得不点多花冤枉时间:(
作者: 不点     时间: 2008-8-16 22:46
这不算冤枉,因为这个问题其实很蹊跷,你不报告,别人也可能报告。所以,我们解决了你的问题,就等于积累了经验,下次别人再遇到类似问题,我们就知道其真正的原因是使用了 memdisk,只要换成内置的 map 仿真,就不会有问题了。谢谢 zjhxqh 的细致报告。

wsfyoo8,你的问题在 2008-08-14 的版本中应该也解决了吧?
作者: zjhxqh     时间: 2008-8-16 22:53
呵呵刚见证了百米飞人轻松破世界纪录,也祝grub更强!
作者: wsfyoo8     时间: 2008-8-17 00:42


  Quote:
wsfyoo8,你的问题在 2008-08-14 的版本中应该也解决了吧?

试过2008-08-14 版了,还是启动不了,还是有这样的提示:
Uncompressing  linux...
crc error
---System halted
这里也有这个情况的反映:http://www.linuxfans.org/bbs/thread-185258-1-1.html

[ Last edited by wsfyoo8 on 2008-8-17 at 12:48 AM ]
作者: 不点     时间: 2008-8-17 10:15
wsfyoo8,从 7 月 28 日 到 8 月初,代码的变化很微小,根本不涉及文件系统的变化。所以,从代码的角度不会有问题的。要么你的 linux 有问题,要么 grub4dos 中潜藏着更隐蔽的问题,希望你能帮助确定究竟问题会在哪里。在有更多、更详细的报告之前,暂时只能不考虑该问题了。

变更记录(摘自 http://bbs.znpc.net/viewthread.php?tid=2431&extra=page%3D1 ):

2008-08-04 修复了操作符 && 和 || 的出错处理问题;grldr.mbr 的结构有了变动,现在它可以放在 boot.ini 中了;又在 dosstart.S 和 asm.S 中增加了几条 STI 指令,目的是尽量避免因硬件中断问题而导致死机。

2008-07-28 在 asm.S 中增加了 sti 指令以便更好地响应硬件中断,或者能喂饱看门狗。这些改动假定某些机器上有看门狗时钟,当系统长时间不能响应硬件中断时,看门狗处于饥饿状态,于是触发非屏蔽中断 NMI,导致系统死锁。此次改动有望解决最近广泛报告的死机问题,请大家加紧测试。
作者: wsfyoo8     时间: 2008-8-18 00:12


  Quote:
Originally posted by 不点 at 2008-8-17 10:15 AM:
wsfyoo8,从 7 月 28 日 到 8 月初,代码的变化很微小,根本不涉及文件系统的变化。所以,从代码的角度不会有问题的。要么你的 linux 有问题,要么 gru ...

谢谢不点大师的回复!我再看看问题出自何处。
作者: 不点     时间: 2008-9-8 18:42
顺便顶一下这个帖子,好让人注意到 8 月 3 日的更动。

另外在 boot-land.net 上已经有人找到了导致 Linux 启动死机的原因,只要不进入图形模式,也就是不使用 splashimage 和 fontfile ,就不会有问题了。

这证明新的改动造成了图形模式和 Linux内核的在空间占用上的内存冲突。不久之后应该可以解决掉。
作者: wsfyoo8     时间: 2008-9-9 14:37


  Quote:
Originally posted by 不点 at 2008-9-8 06:42 PM:
顺便顶一下这个帖子,好让人注意到 8 月 3 日的更动。

另外在 boot-land.net 上已经有人找到了导致 Linux 启动死机的原因,只要不进入图形模式,也就 ...

刚才试了2008-08-14 版的,不使用 splashimage 和 fontfile后,确实slax不死机了,但是却不得自动登录了,得输入用户及密码,然后在执行startx才能进入桌面,好像菜单

  Quote:
title  >>>启动slax6.06
kernel /boot/vmlinuz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/slaxsave.dat
initrd /boot/initrd.gz

中的“autoexec=xconf;telinit~4 changes=/slax/slaxsave.dat”并不起作用