无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: Pauly
打印 上一主题 下一主题

反馈一个 grldr.mbr 0.4.6a 的 bug

  [复制链接]
331#
发表于 2013-12-14 13:17:06 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-14 13:18 编辑
不点 发表于 2013-12-14 12:39
刚刚又发现一个毛病,修正了。


330楼测试:

明基笔记本,菜单启动XPPE成功。
内置菜单如下:

330.jpg (36.72 KB, 下载次数: 208)

330.jpg
回复

使用道具 举报

332#
发表于 2013-12-14 13:22:32 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-14 13:39 编辑

使用如下菜单,启动出现前述的问题,请不点兄看一下是否有什么问题。选择的是第4项菜单

geometry --lba1sector
graphicsmode -1 800
color normal=0x0F highlight=0x02 helptext=0x0E heading=0x05 standard=0x02 border=0x77
terminal --font-spacing=1:4
calc 0+*0x8280>>8&0xff-0x80 || set usbtitle=正以 USB-HDD 方式启动 ! set usbtitle=正以 USB-FDD 方式启动
timeout 30
default 1
write 0x8274 0x2001 ::自动菜单编号
title       %usbtitle%
clear
title       从硬盘启动(异常U启)  \n\t  启动硬盘上的系统(硬盘可能与U盘冲突的情况下使用)\n\t  使用上下方向键选中并高亮一条菜单,按回车键或[B]键开始引导。\n\t  按[E]键在引导前编辑命令,或[C]键进入命令行。
map (hd0) (hd-1)
map (hd-1) (hd0)
map --hook
root (hd0,0)
chainloader +1
title       启动 0PE  \n\t  启动 0PE 进行系统维护
map /0pe/0pe.iso (0xFF) || map --mem /0pe/0pe.iso (0xFF)
map --hook
chainloader (0xFF)
title       启动 XPPE  \n\t  启动 XPPE 进行系统维护
map /boot/xppe.iso (0xFF) || map --mem /boot/xppe.iso (0xFF)
map --hook
chainloader (0xFF)

是否是map /boot/xppe.iso (0xFF) || map --mem /boot/xppe.iso (0xFF)出现的问题,我再测试一下。
回复

使用道具 举报

333#
发表于 2013-12-14 13:42:42 | 只看该作者
确实是这一句的问题,去掉前面的map /boot/xppe.iso (0xff) || 测试正常。
回复

使用道具 举报

334#
发表于 2013-12-14 14:10:09 | 只看该作者
你这个变态的电脑,很难支持 “就地仿真”。如果非要支持的话,还必须得给仿真代码动手术。你知道,仿真代码空间是很紧张的,这么折腾是不划算的。

放弃算了,对于这样的电脑,它能不死机就是万幸,不要让它支持 “就地” 仿真了。

至此,我感觉全部的问题都解决了。只有 yaya 还没确认 ud 的问题是否解决了。

大家可以等待 yaya 报告之后再大面积采用这个版本。我感觉这个版本已经解决了所有的问题了,比较可靠。

再测试两天,如果没问题,就可以上载到 svn 了。

回复

使用道具 举报

335#
发表于 2013-12-14 14:33:37 | 只看该作者
本帖最后由 不点 于 2013-12-14 15:56 编辑

关于 geometry --lba1sector 强制单扇区访问的说明。

这条命令放在内置菜单中,应该尽量靠前。它应该出现在所有那些有可能访问启动盘的命令之前。比如,肯定要放在 configfile 命令之前。

普通的外置菜单就不要放这条命令了,因为已经是马后炮,没有用了。

这条命令的设置,是为了防止启动盘不支持 “多扇区” 读盘而造成死机、假死,或 “Disk read error” 失败。

本地硬盘都支持多扇区读盘。因此,只有 USB 盘才会出现问题。

这条命令会让读盘速度变得很慢。

接下来我可能再设计一个参数,--lba127sector 用来恢复 127 扇区的读盘能力。这样,用户就可以在内置菜单中永远带上 --lba1sector ,而在外置菜单中(或者在内置菜单的 title 之后)使用 --lba127sector 来尝试正常的高速磁盘访问。




好了,这个版本开始支持 geometry --lba127sector 命令参数,用来撤销先前的 “单扇区读盘” 设置。在有问题的机器上,肯定不敢这么做,一做就会死机,或出现其他异常。

在正常机器上使用 geometry --lba1sector 是没问题的(不会导致死机、假死等问题),只是读盘速度变慢罢了。
在故障机器上使用 geometry --lba127sector 是不行的,会死机的。

在正常机器上可以先使用  geometry --lba1sector ,然后再使用  geometry --lba127sector 。

所以,为了代码的可靠性,您可以在内置菜单中使用  geometry --lba1sector 保证成功率,而在外置菜单中使用  geometry --lba127sector  切换到高速磁盘访问。

grub4dos-0.4.5c-2013-12-14.7z

269.2 KB, 下载次数: 6

为 geometry 命令增加了新的 --lba127sector 参数

回复

使用道具 举报

336#
发表于 2013-12-15 22:30:47 | 只看该作者
335楼测试:
ud 启动, root (0x21) 。应当是 0x23 吧。
进入命令行, ls (ud)/      可以显示内容,但是执行     configfile (ud)/boot/grub/menu.lst    5 分钟没有反映。

另外,不输入参数  geometry --lba1sector  ,运行速度也明显慢多了。
回复

使用道具 举报

337#
发表于 2013-12-16 00:48:10 | 只看该作者
好事多磨,又让 yaya 发现了毛病。这次再更正,希望一切 OK。

grub4dos-0.4.5c-2013-12-15.7z

269.23 KB, 下载次数: 16

更正了又一个疏忽

回复

使用道具 举报

338#
发表于 2013-12-16 11:53:33 | 只看该作者
337楼测试:
root (0x23)
configfile /boot/grub/menu.lst    10分钟没有反映。
回复

使用道具 举报

339#
发表于 2013-12-16 11:58:02 | 只看该作者
气死我了,究竟哪里有问题,还真是迷宫了。

其它测试情况怎样?比如,在非 ud 启动的情况;再比如,硬盘启动的情况,是否正常?

回复

使用道具 举报

340#
发表于 2013-12-16 12:26:19 | 只看该作者
其他启动正常。只是不明白,为什么不加 geometry --lba1sector 参数时,也是读得很慢。
回复

使用道具 举报

341#
发表于 2013-12-16 15:16:46 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-12-17 15:07 编辑

请 mygamexxx  在联想台式机反馈一下信息。
回复

使用道具 举报

342#
发表于 2013-12-16 16:46:15 | 只看该作者
2011yaya2007777 发表于 2013-12-16 12:26
其他启动正常。只是不明白,为什么不加 geometry --lba1sector 参数时,也是读得很慢。

这话依旧有歧义。

是不是说,其他情况虽然能启动,不死机,但统统都是很慢。goemetry 命令统统显示 1BA。即使在普通硬盘也是如此。

请回答,是不是这个意思?
回复

使用道具 举报

343#
发表于 2013-12-16 21:33:41 | 只看该作者
抱歉!表述的不严谨。
ud 分区的 U 盘,运行得很慢。其他分区的 U 盘,运行得很快。
goemetry 命令统统显示 1BA,所以不知道运行在什么状态。
在命令行下输入:    geometry --1ba1sector ,提示错误 11 。
执行:    errorcheck off ,没有错误提示了,但是执行 geometry --1ba1sector  及  geometry --1ba127sector ,看不出运行变化。
回复

使用道具 举报

344#
发表于 2013-12-16 21:57:07 | 只看该作者
本帖最后由 不点 于 2013-12-16 22:04 编辑

第一个字母是 L 的小写,不是数字 1。

参数用大写字母表示是这样的:--LBA1SECTOR

当然,实际上是不支持大写的,必须用正确的小写字母。

其他问题我再研究研究。如果有可能,请继续报告新的异常,以便我能定位毛病。



对了,需要说明的是,如果 grub4dos 探测出 bios 不支持 127 扇区读,则自动屏蔽 127 扇区读,因而自动设置为 “单扇区读盘” 模式。

在 bios 根本不支持 127 扇区读盘的情况下,即使设置 --lba127sector,也无济于事,最后,其效果,还是要被自动纠正为正确的 --lba1sector 模式。

回复

使用道具 举报

345#
发表于 2013-12-17 07:26:51 | 只看该作者
现在,yaya 报告了 ud 启动时的故障。

我需要一个成功的案例。请大家测试,ud 启动有没有成功的。只要有一例成功,即可证明 grub4dos 的 ud 相关代码没问题。

另一方面,yaya 在非 ud 启动时,启动的详细步骤,我需要了解。有没有经过 grldr.mbr? 或者是直接用 PBR 来启动的?

yaya 还需要告知,目前 svn 上的 0.4.5c 11月30日 版是否正常。

目前怀疑,yaya 的主板 bios 又有特殊性。它很可能不允许同时采用 CHS 和 LBA 两种模式访问,而只能使用其中的一种。一旦混合使用,它就给出不正常的表现。

就像 mygamexxx 的问题一样,这个问题最后肯定可以解决。我们逐步缩小范围,最后必然能够找出问题的根源。

目前就需要这些信息,请大家提供。

回复

使用道具 举报

346#
发表于 2013-12-17 09:48:49 | 只看该作者
非 ud 启动是直接用 PBR 来启动的。
目前 svn 上的 0.4.5c 11月30日 版是正常的。启动后是 LBA。
最新测试版本启动后是 1BA。执行 geometry --lba127sector 后是 LBA。现在可以观察到读 1 扇区与读 127 扇区的速度差别了。

最近 svn 上的版本,内置菜单的显示时间设置为 9 秒,也捕捉不到。但是进入命令行,执行 configfile (md)4+4 ,显示时间可以到 9 秒。
回复

使用道具 举报

347#
发表于 2013-12-17 10:34:59 | 只看该作者
ud 方式的 0.4.5c 11月30日 版的情况如何?

回复

使用道具 举报

348#
发表于 2013-12-17 10:48:53 | 只看该作者
非 ud 启动是直接用 PBR 来启动的。
目前 svn 上的 0.4.5c 11月30日 版是正常的。启动后是 LBA。


分析,从 PBR 启动时,只使用 LBA 模式读盘,不存在混合读盘的现象,所以,我们新的测试版就一切正常(只不过设置为单扇区读盘模式了)。

因此,问题的焦点仍然对准着:CHS 和 LBA 混合读盘,有可能造成 BIOS 系统的紊乱。

接下来我需要研究,fbinst 的启动代码,是否存在混合读盘的现象。

回复

使用道具 举报

349#
发表于 2013-12-17 11:06:28 | 只看该作者
最近 svn 上的版本,内置菜单的显示时间设置为 9 秒,也捕捉不到。但是进入命令行,执行 configfile (md)4+4 ,显示时间可以到 9 秒。


我来解释一下这个现象。可能是因为内置菜单里面的 configfile 命令引起的。它要切换到外部菜单。如果外部菜单存在,那就不会执行原来内置菜单里面的 timeout 命令了。即使把 timeout 命令作为内置菜单的第一条命令也不行,因为外置菜单要接管控制,timeout 的设置只能对外部菜单有效,而无法返回到内置菜单了。除非外部菜单不存在,这时候 timeout 命令才真正起作用。

我拿不准上述解释是否正确。我只是一种猜测罢了。
回复

使用道具 举报

350#
发表于 2013-12-17 11:09:06 | 只看该作者
ud 方式的 0.4.5c 11月30日 版正常。
回复

使用道具 举报

351#
发表于 2013-12-17 11:34:22 | 只看该作者
2011yaya2007777 发表于 2013-12-17 11:09
ud 方式的 0.4.5c 11月30日 版正常。

好的,明白了。不会是混合 CHS 和 LBA 模式的问题了。继续找毛病。
回复

使用道具 举报

352#
发表于 2013-12-17 12:53:05 | 只看该作者
2011yaya2007777 发表于 2013-12-16 15:16
请 mygamexxx  在联想台式机反馈一下信息。


341楼测试,联想台式机
按S键与不按S键的区别是按S键蜂鸣器有嗒嗒嗒的声音。

20131217_115905.jpg (72.02 KB, 下载次数: 218)

20131217_115905.jpg
回复

使用道具 举报

353#
发表于 2013-12-17 13:01:09 | 只看该作者
根据 yaya 的测试报告,这次改进了一下。读 127 扇区,失败时重试 3 次。这估计可以解决默认时被当作 “单扇区访问” 来对待的问题。

grub4dos-0.4.5c-2013-12-17.7z

269.29 KB, 下载次数: 11

改进了一点点,继续测试

回复

使用道具 举报

354#
发表于 2013-12-17 16:25:58 | 只看该作者
本帖最后由 2011yaya2007777 于 2013-12-18 12:00 编辑

353楼测试:
非 ud 分区启动后仍然是 1LB。

请 mygamexxx 在联想台式机再测试一下这个。上图只显示了集线器情况,没有显示 u 盘情况。
回复

使用道具 举报

355#
发表于 2013-12-17 17:52:18 | 只看该作者
谢谢 yaya,终于找到了一处疏忽,传递参数的 DI 寄存器没有保护,导致参数是随机值,所以其效果就是胡乱设置了 “单扇区访问” 标志。

这次应该好了。

grub4dos-0.4.5c-2013-12-17.7z

269.26 KB, 下载次数: 9

又找到一个毛病,请确认问题是否解决

点评

我的华硕及精英台式机主板 UD启动没有发现异常。  详情 回复 发表于 2013-12-17 21:41
回复

使用道具 举报

356#
发表于 2013-12-17 19:07:14 | 只看该作者
355楼测试:
非 ud 分区启动后是 LBA ! 成功了。剩下看 ud 分区了。
回复

使用道具 举报

357#
发表于 2013-12-17 19:09:25 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-17 19:11 编辑

这是神舟台式机的:

回复

使用道具 举报

358#
发表于 2013-12-17 21:41:46 | 只看该作者
不点 发表于 2013-12-17 17:52
谢谢 yaya,终于找到了一处疏忽,传递参数的 DI 寄存器没有保护,导致参数是随机值,所以其效果就是胡乱设 ...

我的华硕及精英台式机主板 UD启动没有发现异常。
回复

使用道具 举报

359#
发表于 2013-12-17 22:10:23 | 只看该作者
本帖最后由 xyzxp 于 2013-12-17 22:22 编辑
2011yaya2007777 发表于 2013-12-17 16:25
353楼测试:
非 ud 分区启动后仍然是 1LB。


我的精英,华硕主板连接有一个USB鼠标及UD启动U盘,启动失败;和355楼测试是同一个U盘,相同2台电脑,不点大355楼好像没有加载USB2.0驱动过程,顺利启动了。我12月6号左右加入yaya大的grldr , 2台机器均加载USB2.0启动成功了,这次不知道为什么不行了。





回复

使用道具 举报

360#
发表于 2013-12-18 08:17:59 | 只看该作者
354楼测试:
联想台式机

20131218_080011.jpg (95.33 KB, 下载次数: 232)

20131218_080011.jpg
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-30 15:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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