中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 05:10
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » 发现一个问题,GNU GRUB 能启动,而GRUB4DOS却不能
可打印版本  4,521 / 26
第1楼 ptptptptptpt 发表于 2007-10-09 20:39
初级用户 发帖 23 积分 50
发现一个问题,GNU GRUB 能启动,而GRUB4DOS却不能
时空论坛上不了,突然想起这里,呵呵





把 grldr.mbr 装入 USB 移动硬盘 0 磁道,grldr 和 MENU.LST 文件放在移动硬盘第一主分区(FAT,2G),在多数机子上能启动,但在一精英主板上发生了问题,10次仅有一两次能启动,其余都是在搜索GRLDR时,显示 (hd0,0):disk error ,最后找不到。还有一次显示到(hd0,0): 时死机了





以老的 GNU GRUB 方式安装 GNU GRUB 0.97 到移动硬盘,stage2 等文件也放在 第一主分区 ,却可以正常启动



而且进入 GRUB 环境后,可以正常访问 移动硬盘第一主分区 ,说明分区没有问题





怀疑是不是 grldr.mbr 中的 fat 文件系统代码有不完善??
第2楼 fujianabc 发表于 2007-10-09 22:37
金牌会员 发帖 1,616 积分 3,467
10次仅有一两次能启动?

随机的,不能重复的结果?
第3楼 ptptptptptpt 发表于 2007-10-09 22:43
初级用户 发帖 23 积分 50
比较随机,没发现什么规律

换插口、断电、热启、冷启、先开机再插 USB 、先插USB再开机,都试过了,有时候连着几次都行,有时候怎么都不行

这个主板也比较垃圾,SIS 760 GX 芯片组,USB 移动硬盘 在 BIOS 下只能识别 8 G
第4楼 不点 发表于 2007-10-10 11:22
银牌会员 发帖 1,115 积分 2,491
如果 grub4dos 有毛病的话,我猜八成启动总是失败,而不是有时失败,有时成功。

不过,这也提醒我再检查一下相应部分的代码。
第5楼 ptptptptptpt 发表于 2007-10-10 12:53
初级用户 发帖 23 积分 50


而且目前的情况是,G4D 有时失败,有时成功 ,而 GNU BRUB 却总是成功,

这对 号称要干掉 GNU GRUB 引导方式 的G4D来说,是不能容忍的
第6楼 ptptptptptpt 发表于 2007-10-10 13:00
初级用户 发帖 23 积分 50
其实 GNU GRUB 的方式,也就是 stage1 + stage1.5(文件系统代码) 的方式仍是有优势的,因为它可以通过不同的 stage1.5 支持几乎所有分区格式

而 GRLDR.MBR 仅支持 fat ntfs ext —— 主要是 win 的文件系统, 所以在 linux世界 很难吃得开

其实,如果把 stage1 + stage1.5 中加入搜索功能,而不是像现在这样 只能从指定分区加载 stage2 , 兼容性就会大大提高

限于0磁道容量, grldr.mbr 不可能支持所有文件系统,但可以做出对应不同文件系统的 grldr.mbr ,供用户选用
第7楼 bean 发表于 2007-10-10 19:21
初级用户 发帖 38 积分 80
GRUB4DOS的版本是什么?如果是2007-08-27(r53)或更新的版本的话,建议也测试一下2007-08-16(r52)。
第8楼 ptptptptptpt 发表于 2007-10-10 21:33
初级用户 发帖 23 积分 50
试了,(r52) ,但是8-17的

还有更老的6-16 也试了,问题依旧

这两次试验 我是用 ntldr 加载 grldr.mbr,进而搜索移动硬盘上的 grldr

估计把 grldr.mbr 装进移动硬盘 也会是一样的结果
第9楼 ptptptptptpt 发表于 2007-10-10 21:34
初级用户 发帖 23 积分 50
开始用的版本是最新的
第10楼 不点 发表于 2007-10-11 11:58
银牌会员 发帖 1,115 积分 2,491
初步猜测,该主板 BIOS 的 int13 随机地破坏了不该破坏的某些寄存器(或者甚至是破坏了内存中的数据!!)

我们可以在 int13 前后加上 push pop 来规避它对寄存器的破坏,但是对内存的破坏就不容易 workaround 了。
第11楼 ptptptptptpt 发表于 2007-10-11 12:24
初级用户 发帖 23 积分 50
可是为什么用 GNU GUBR 方式安装,每次都能启动成功呢??
第12楼 不点 发表于 2007-10-11 15:58
银牌会员 发帖 1,115 积分 2,491
我们以前遇到的 U 盘问题,也都是死机之类的问题,并且证明都是 BIOS 的 BUG。

可是那些 U 盘运行 DOS 却没有问题。你这次无非就是说运行 GNU GRUB 没问题。

所以这些的成功,对于判断失败的原因,基本上没有什么帮助。

一般而言,应该属于 BIOS BUG 的问题。

GRUB4DOS 的代码也可能有问题,不过那应该主要是因为它没能适应 BIOS BUG 造成的。
第13楼 ptptptptptpt 发表于 2007-10-11 16:21
初级用户 发帖 23 积分 50
dos 毕竟是事实的工业标准,而 GNU GRUB 则不同

而且一直以来 GRUB4DOS 的一个目标就是提高启动成功率,在成功率方面超过 GNU GRUB

GRUB4DOS 中也有提示:
“ Notice: the two commands SETUP and INSTALL will be removed soon! Please use the OS utility of BOOTLACE.COM to install GRLDR boot record to the MBR or to the boot area of a specified partition. ”

可是现在新方法却不如老方法,这是没法向用户交代的

所以我认为这个问题不容忽视
第14楼 不点 发表于 2007-10-11 18:32
银牌会员 发帖 1,115 积分 2,491
当然不能忽视这个问题。不过,也许还需要等待更多的报告,才能判断问题在哪里。

同时,报告者自己也可以研究这一问题。研究源代码。

不要说不懂源代码。如果你说不懂源代码,你提交给有些软件开发者的问题,很可能根本不理睬。有些开发项目事实上只接受补丁。当然我们不会这样的,我们是很重视用户的反馈的。
第15楼 ptptptptptpt 发表于 2007-10-15 10:23
初级用户 发帖 23 积分 50
geomertry 的信息照了照片,可是时空论坛又不能访问了 :(
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023