无忧启动论坛

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

反馈一个 grldr.mbr 0.4.6a 的 bug

  [复制链接]
跳转到指定楼层
1#
发表于 2013-10-21 12:03:26 来自手机 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 Pauly 于 2013-11-5 20:40 编辑

磁盘分区情况:三主分区,三逻辑分区,全部为 NTFS 格式。将 grldr.mbr 直接写入 MBR(保留分区表),然后在 hd0,4 放上 grldr。从此硬盘启动,grldr.mbr 在第一个分区中未找到 grldr 后即卡住。
经逐一测试,2013-5-16 版本无此问题,其后版本均有此问题。请开发者有时间修复一下,谢谢。

=================================================
已经修正,请从 http://bbs.znpc.net/forum.php?mo ... age%3D1&page=21 下载。
推荐
发表于 2013-12-9 15:27:15 | 只看该作者
grub> geometry (hd0)
drive 0x80(LBA): C/H/S/=966/255/63, Sector Count/Size=15518790/512
十分钟后
Error 25: Disk read error


非常好。这就知道,我的新代码没有产生太大的错误。至少是成功返回到 grub4dos 中了。失败的现象则表明,即使一个一个扇区去读,也照样不行。这问题就更深了…… 我们还得继续猜测、试验、研究……

回复

使用道具 举报

372#
发表于 2023-1-14 12:12:16 | 只看该作者
grldr.mbr 0.4.6a 居然有BUG,进来仔细看看啊
回复

使用道具 举报

371#
发表于 2023-1-2 15:46:38 | 只看该作者
不错shui
回复

使用道具 举报

370#
发表于 2013-12-25 16:41:47 | 只看该作者
2011yaya2007777 发表于 2013-12-25 11:17
联想笔记本?联想台式机?环境一样?


联想台式机,如果不加载驱动,再在命令行reboot或三键重启会导致失去大容量存储模式状态。

直接电源键关机,再启动。结果都是USB驱动加载不成功。
回复

使用道具 举报

369#
发表于 2013-12-25 11:17:48 | 只看该作者
联想笔记本?联想台式机?环境一样?

点评

联想台式机,如果不加载驱动,再reboot或三键重启会导致失去大容量存储模式状态。 直接关机,再启动。结果都是USB驱动加载不成功。  详情 回复 发表于 2013-12-25 16:41
回复

使用道具 举报

368#
发表于 2013-12-25 11:14:13 | 只看该作者
2011yaya2007777 发表于 2013-12-25 10:55
不能热重启,可以关机后再启动试一试。

已试三次,结果一样
回复

使用道具 举报

367#
发表于 2013-12-25 10:55:53 | 只看该作者
不能热重启,可以关机后再启动试一试。

点评

已试三次,结果一样  详情 回复 发表于 2013-12-25 11:14
回复

使用道具 举报

366#
发表于 2013-12-25 10:27:48 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-25 10:28 编辑
2011yaya2007777 发表于 2013-12-25 10:03
启动失败后热重启试一试。


启动失败后键盘失去响应,无法三键重启,除非是不加载USB驱动,进入命令行后,reboot重启
回复

使用道具 举报

365#
发表于 2013-12-25 10:03:09 | 只看该作者
启动失败后热重启试一试。

点评

启动失败后键盘失去响应,无法三键重启  详情 回复 发表于 2013-12-25 10:27
回复

使用道具 举报

364#
发表于 2013-12-25 08:53:36 | 只看该作者
本帖最后由 mygamexxx 于 2013-12-25 08:55 编辑

362 楼测试:
联想笔记本,不按键或按S键加载USB驱动
01234
Loaded failed

进入命令行后显示版本日期2013-12-23
回复

使用道具 举报

363#
发表于 2013-12-24 16:44:01 | 只看该作者
在 grub4dos 中自动判断 u 盘是否在特定环境支持读 127 扇区,不可取。


如果在访问磁盘之前加上 geometry --lba1sector 就不会尝试读 127 扇区了。

如果不加这个参数,则对于支持 LBA 的情况,肯定是要读 127 扇区的,死了就死了,没办法。否则如果永远都使用单扇区读,那得慢死了,这会把所有的人都吓跑的。

geometry --lba1sector 的意思是告诉 grub4dos,这个盘不支持 127 扇区读。grub4dos 得到这个信息之后,就会避免尝试 127 扇区读,而只用单扇区读。

回复

使用道具 举报

362#
发表于 2013-12-24 15:34:13 | 只看该作者
本帖最后由 2011yaya2007777 于 2014-1-3 22:01 编辑

在 grub4dos 中自动判断 u 盘是否在特定环境支持读 127 扇区,不可取。
原因是:在特定环境,当 u 盘读 127 扇区失败时,表现为虚假拔出,即实际上是在插入状态,但是提供给集线器(u 盘的上级主管)的信息是在拔出状态。此时再使用读 1 扇区的方法,仍然是失败。即便对该 u 盘初始化,也没有用。只能是拔出 u 盘后再插入,然后初始化,才可以使用读 1 扇区的方法。
提供一个读 1 扇区的参数,倒是必要的。

请 mygamexxx  在联想台式机测试一下。
回复

使用道具 举报

361#
发表于 2013-12-18 12:01:42 | 只看该作者
这张图比较清楚。

xyzxp :
353楼是测试版本,显示信息后为了截图,进入死循环了。
回复

使用道具 举报

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

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

20131218_080011.jpg
回复

使用道具 举报

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启动成功了,这次不知道为什么不行了。





回复

使用道具 举报

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

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

使用道具 举报

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

这是神舟台式机的:

回复

使用道具 举报

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

使用道具 举报

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
回复

使用道具 举报

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

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

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

点评

我的精英,华硕主板连接有一个USB鼠标及UD启动U盘,启动失败;和355楼测试是同一个U盘,相同2台电脑,不点大355楼好像没有加载USB2.0驱动过程,顺利启动了。 [attachimg]185566[/attachimg] [attachimg]185568  详情 回复 发表于 2013-12-17 22:10
这是神舟台式机的:  详情 回复 发表于 2013-12-17 19:09
回复

使用道具 举报

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

grub4dos-0.4.5c-2013-12-17.7z

269.29 KB, 下载次数: 11

改进了一点点,继续测试

回复

使用道具 举报

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


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

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

20131217_115905.jpg
回复

使用道具 举报

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

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

使用道具 举报

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

点评

好的,明白了。不会是混合 CHS 和 LBA 模式的问题了。继续找毛病。  详情 回复 发表于 2013-12-17 11:34
回复

使用道具 举报

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


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

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

使用道具 举报

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


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

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

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

回复

使用道具 举报

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

回复

使用道具 举报

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 秒。
回复

使用道具 举报

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 的问题一样,这个问题最后肯定可以解决。我们逐步缩小范围,最后必然能够找出问题的根源。

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

回复

使用道具 举报

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

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

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

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

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



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

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

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 16:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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