无忧启动论坛

标题: GRUB4DOS可以启动96年左右的机器吗? [打印本页]

作者: macemo    时间: 2015-9-22 08:29
标题: GRUB4DOS可以启动96年左右的机器吗?
本帖最后由 macemo 于 2015-9-22 08:57 编辑

厂里一台老设备,捣鼓着玩,装的0.4.5c
报错:a20 debug c806 done,
是不是主板太老了不支持?
作者: 不点    时间: 2015-9-22 09:24
本帖最后由 不点 于 2015-9-22 10:28 编辑

你能不能贴出完整的出错信息?屏幕上的显示信息应该不多,你抄下来应该是可以的。如果信息太多(比如主板 BIOS 也有一些信息显示),你只需要抄写最后 4 行即可。

为什么要看出错信息呢?因为从你的报告中,还不能确定是 A20 的操作出现死机。有可能是 A20 成功,而后续的 get mem size 的 BIOS 调用出现死机。

另外,开机时快速按 Insert 键(你可以估计在 grub4dos 接管控制的一刹那按一下 Insert 键,如果不放心,可以多按几次 Insert 键),可以进入 grub4dos 的单步跟踪启动模式。此时,每启动一步,都暂停,显示详细的启动信息,等待按键。用户按任意一个键之后,进入下一个启动步骤。

这样,你把每一步的信息都抄写下来(直到发生死机为止),是最好的了。


作者: macemo    时间: 2015-9-22 09:59
不点 发表于 2015-9-22 09:24
你能不能贴出完整的出错信息?屏幕上的显示信息应该不多,你抄下来应该是可以的。如果信息太多(比如主板 B ...

感谢回复,我估计下午吃过饭后再试下,把具体的信息发上来
作者: 不点    时间: 2015-9-22 10:11
又分析了一下你的报告,既然你没有提到 “ gateA20 Failure! Report bug, please! ” 这条信息,因此感觉好像你的 A20 gate 操作是成功的。那么接下来的死机,可能就是 get mem size 的调用产生的了。

Win95 年代的机器,有可能不支持 int15/E820 和 int15/E801 调用。不支持也罢,返回失败信息即可。可是那 BIOS 足够损的,它并不返回失败信息;它直接死机!需要等待你的详细报告来确认这一点。

还有一个细节,需要提醒你一下。Win95 年代的电脑,内存都比较小。而 grub4dos 0.4.5c 要求的内存是至少 32M。如果电脑内存不足 32M,那就只能用 grub4dos 的早期版本,比如,0.4.4。


作者: 糊涂    时间: 2015-9-22 10:18
本帖最后由 糊涂 于 2015-9-22 12:59 编辑

软碟...
作者: lbw2007    时间: 2015-9-22 11:21
我家95年用的486内存是16mb,99年换成奔腾2内存是64mb。如果是586(奔腾1)的话,很有可能内存为32mb。一直很好奇早期计算机是如何引导的。
非常关注此帖的进一步发展
作者: hai2002713    时间: 2015-9-22 12:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: macemo    时间: 2015-9-22 12:50
不点 发表于 2015-9-22 10:11
又分析了一下你的报告,既然你没有提到 “ gateA20 Failure! Report bug, please! ” 这条信息,因此感觉好 ...

估计可能就是内存的原因了,显示system ram 640k   extended ram 3072k,
换了0.4.4还是死机,
Insert后两个提示 ,第一个get upper memory...,
按键盘后闪过一行字母很快,然后再显示get e801 memory...,然后就没反应了
作者: 不点    时间: 2015-9-22 13:43
macemo 发表于 2015-9-22 12:50
估计可能就是内存的原因了,显示system ram 640k   extended ram 3072k,
换了0.4.4还是死机,
Insert ...

扩展内存只有 3M,也就是说,总内存只有 4M。

grub4dos 的内核就加载在 3M 至 4M 之间的内存区域。

也就是说,这个电脑刚好可以加载 grub4dos 的内核代码,让内核代码能够显示出错信息。

然后啥事也做不了。

grub4dos 的基本运行,需要 32M 内存才行。如果要加载内存盘或者运行外部命令,那需要超过 32M 内存。

如果内存有 32M 那么大,倒是可以去掉那段 e801 的内存检测代码,把它救活。

但是,如果内存太小,已经没有挽救的必要了。



作者: macemo    时间: 2015-9-22 15:14
不点 发表于 2015-9-22 13:43
扩展内存只有 3M,也就是说,总内存只有 4M。

grub4dos 的内核就加载在 3M 至 4M 之间的内存区域。

那wee是不是也是同样的情况了?看介绍说是精简版的grub4dos。
作者: 不点    时间: 2015-9-22 17:11
macemo 发表于 2015-9-22 15:14
那wee是不是也是同样的情况了?看介绍说是精简版的grub4dos。

用 wee 也得修改 wee 才行,因为 wee 也要调用 int15/AX=e820h 和 int15/AX=e801h,这两个调用会导致这台电脑死机,只能去除这两个调用才行,所以得修改 wee。

只有 4M 内存,想干什么事,都踢腾不开。还是算了吧。






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