|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
31 楼』:
辛苦啦!这个帖子的点击率比较高,在等待你的结果的时候,我来轻松一下,云山雾罩一番。
我猜大家都很懒,包括我自己在内,都是希望由别人来解决问题,而自己只是享用别人的劳动果实。比如本人就发现了很多软件的 BUG,但本人很少去报告,因为报告 bug 也是很累人的一件事情。所以,大家首先得感谢这位报告问题的人。你私下里可以给他寄点什么礼物。
软件成功与否,取决于其稳定性,而不是功能。功能也重要,但只能排到第二位。例子有很多。比如,LILO 的功能就很简单,但它在 freshmeat 上能排在前 30 名。SYSLINUX 的功能多了一些,但是目前在 freshmeat 上只能排在第 70 名左右。GNU GRUB 的功能更丰富一些,然而在 freshmeat 上只能排在第 190 名左右。GRUB4DOS 的功能更强大,但在 freshmeat 上却只排到第 1700 名以后了。
所以,我们基本上可以得出结论:功能多、功能强大的代价,往往是伴随着硬件适应能力的下降,换句话说,就是稳定性的丧失。
因为起决定作用的是稳定性,所以,我们始终把解决硬件适应性问题当作头等大事来做。我们这么多年以来都是这么努力去做的,也收到了一定的成效。今后更是要这么做,也必将收到更大的成效。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2008-5-26 21:35 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
32 楼』:
Quote: | Originally posted by lmle at 2008-5-26 09:30 PM:
今天我又去测试了一下:
1、FreeDos好像没有Debug,可又进不了Dos,从Grub引导Dos也没有成功。 |
|
请在这里下载最新的 debug113,它可以代替微软的 debug,并且也能用于 Freedos:
http://www.ibiblio.org/pub/micro ... os/files/dos/debug/
那些 geometry 是想挽救你的硬盘保护卡的。既然你已经放弃了硬盘保护卡,也就没必要再用 geometry 来看它的分区情况了。
[ Last edited by 不点 on 2008-5-26 at 10:25 PM ]
|
因为我们亲手创建,这个世界更加美丽。 |
|
2008-5-26 22:20 |
|
|
lmle
初级用户
积分 61
发帖 28
注册 2008-5-24
状态 离线
|
『第
33 楼』:
不点大师辛苦了!您提供的Debug工具可以使用了。
不是说要放弃还原卡,因为Grub是同BIOS打交道的,中间突然加入了“程咬金”,生怕会影响了您的计划和思路啊。只要您对这个还在关注,我一定尽力测试。期待一个稳定、兼容性极佳的Grub,直接从Grub引导PE、dos等就不用走弯路了。
以下是Debug的结果:
Unexpected breakpoint interrupt
AX=0000 BX=0000 CX=E8FF DX=1F02 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1881 ES=1881 SS=1881 CS=1881 IP=0108 NV UP EI PL ZR NA PE NC
1881:0108 7249 JB 0153
[ Last edited by lmle on 2008-5-27 at 08:04 AM ]
|
|
2008-5-27 07:56 |
|
|
lmle
初级用户
积分 61
发帖 28
注册 2008-5-24
状态 离线
|
『第
34 楼』:
还有一个情况,在显示如下警告时,没有还原卡一两秒钟就过去了,有还原卡时要五六分钟。
Warning: Unrecognized partition table for drive 80. Please rebuild it using a Microsoft-compatible FDISK tool(err=28).Current C/H/S=1001/64/63
|
|
2008-5-27 08:31 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
35 楼』:
你的两次测试,显示了不同的结果:
一次是
geometry (hd0)
drive 0x80(CHS): C/H/S=1001/256/63, setor count /Size=4036032/512
partitionnum: 0, Filesystem type is fat ,partition type 0xb
partitionnum: 1, Filesystem type unknown,,partition type 0x13
另一次是 CX=E8FF DX=1F02,这里能算出 C/H/S=1001/32/63
而且你还有一个分区的 ID 是 0x13,这个分区你从来都没有提到过啊?
上次你用 grldr 安装到 U 盘 MBR 时启动失败,那时你插硬盘保护卡了吗?如果插了,那么你拔下再试验一次,以便让我们对此有个清晰的认识。
所有以上的试验,都必须在有卡和无卡两种情况下分别做出,因此应该是两套试验。你也不要更换机器了,认准清华同方的这台机器,先把它解决了之后,再处理其它机器。
请你重新给个测试报告。
另外,grub 下的 debug 的参数是 0x7FFFFFFF,不要弄错了,它是控制以后的命令能够显示详尽的调试信息的。
[ Last edited by 不点 on 2008-5-27 at 11:12 AM ]
|
因为我们亲手创建,这个世界更加美丽。 |
|
2008-5-27 11:10 |
|
|
lmle
初级用户
积分 61
发帖 28
注册 2008-5-24
状态 离线
|
『第
36 楼』:
刚刚对有还原卡和无还原卡重新测了一遍(1G U盘,清华同方电脑):
一、有还原卡。
1、freedos下debug
Unexpected breakpoint interrupt
AX=0000 BX=0000 CX=E8FF DX=1F02 SP=FFFE BP=0000 SI=0000 DI=0000
DS=1880 ES=1880 SS=1880 CS=1880 IP=0108 NV UP EI PL ZR NA PE NC
1880:0108 0000 ADD [BX+SI] DS:0000=CD
2、Grub下的Geometry (都先运行Debug 0x7FFFFFFF)
显示内容与上次测试的结果一模一样。
geometry (fd0)
int 13/41(0), version=0, int 13/08(0), version=0, C/H/S=80/1/18,INT 13/02(0), ERR=0,
Notice:number of heads for drive 0 tuned from 1 to 256.
Notice:Setors-per-track for drive 0 tuned from 18 to 63.
drive 0x0(CHS):C/H/S=80/256/63, sector count /Size=1440/512
geometry (hd0)
drive 0x80(CHS): C/H/S=1001/256/63, setor count /Size=4036032/512
partitionnum: 0, Filesystem type is fat ,partition type 0xb
partitionnum: 1, Filesystem type unknown,partition type 0x13
geometry (hd1)
drive 0x81(LBA): C/H/S=19158/256/63, setor count /Size=307773270/512
partitionnum: 0, Filesystem type is fat ,partition type 0xb
partitionnum: 1, Filesystem type is fat ,partition type 0xc
可我的U盘明明只有一个分区啊,于是我拔下U盘,运行Geometry (hd0),显示:
biosdisk read first sector of drive 0x80:failure! errnun=0
drive 0x80(CHS):=1001/255/63, sector count/size=4036032/512
partition num:0,Filesystem type unknown, partition type 0xb
partition num:1,
Error 25: Disk read error
二、无还原卡。
1、freedos下的Debug:显示完全一样。
2、Grub下的Geometry (都先运行Debug 0x7FFFFFFF)
geometry (fd0)
int13/41(0), version=0, int13/08(0), version=0, C/H/S=80/1/18, int13/02(0), err=0,
Notice:number of heads for drive 0 tuned from 1 to 256.
drive 0x0(CHS):C/H/S=80/256/18,sector count/size=1440/512
geometry (hd0)
drive 0x80(CHS):C/H/S=1001/32/63, sector count/size=4036032/512
partition num: 0,Filesystem type is fat, partition type 0x6
geometry (hd1)
drive 0x81(LBA):C/H/S=19158/255/63, sector count/size=307773270/512
partition num: 0,Filesystem type is fat,partition type 0xb
partition num: 1,Filesystem type is fat,partition type 0xc
红色部分在没有还原卡是没有的,蓝色部分数值不同。
[ Last edited by lmle on 2008-5-27 at 04:59 PM ]
|
|
2008-5-27 16:34 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
37 楼』:
1. 你那个软盘 (fd0) 是怎么回事?怎么总是出现它?你在 grub 下用
cat --hex (fd0)+1
可以研究它的第一扇区。你可以研究更多的扇区,看看究竟它是什么内容?
2. 无硬盘保护卡时,bootlace 安装的 grldr 能否成功启动?
3. 既然有硬盘保护卡时也能显示 (hd0) 的分区 partition num: 0, Filesystem type is fat ,partition type 0xb,那么你能否在 grub 下访问 U 盘的内容?
4. 像软盘一样,你也可以用
cat --hex (hd0)+64
来研究 U 盘 MBR 以及分区引导扇区的内容。比较一下有保护卡和无保护卡两种情况下的不同之处。你自己应该了解有关分区表、BPB 表的知识,以便你能对显示结果做出分析。
你当然要检查 grub 能否访问 U 盘上的文件。
5. 考虑 bootlace 安装 grldr 到 MBR 的情况。假定硬盘保护卡强制取得了 BIOS 的硬盘控制权,那么,它有可能把 MBR 整个磁道都截获,换句话说,它给出一个虚拟的 MBR 磁道。那么这样一来,我们的 MBR 上的代码就被“虚拟”掉了。你可以在插上硬盘保护卡进入 grub 的情况下,用 cat --hex (hd0)+17 来检查我们的 GRLDR 的 MBR 是否完整。
对不起,最后这句话显然说错了。既然你无法用 grldr 的 MBR 启动,那么你也就不可能看到 GRLDR 的代码,因为此时的 MBR 代码是 flashboot 建立的。flashboot 只用到了 MBR 的一个扇区,而接下来的 62 个扇区都没有用到。你可以在 Windows 下用16进制工具把 MBR 后的 62 个扇区填上任意的值作为标记(你想填什么就填什么,总之把 62 个扇区都填充一些标记字节,以便将来在 grub 下检查它是否存在或者是否被更改了)。当你进入 grub 后,用 cat --hex (hd0)+63 可以看到整个 MBR 磁道的数据。这时注意看这些数据是否已经被保护卡虚拟掉了。你做的记号应该都在才对,否则,就是被虚拟掉了。
[ Last edited by 不点 on 2008-5-28 at 12:18 AM ]
|
因为我们亲手创建,这个世界更加美丽。 |
|
2008-5-27 18:13 |
|
|
aimu2000
新手上路
积分 4
发帖 2
注册 2006-9-3
状态 离线
|
|
2008-5-27 23:55 |
|
|
lmle
初级用户
积分 61
发帖 28
注册 2008-5-24
状态 离线
|
『第
39 楼』:
找到暂时的解决方法,将就着用了,偷懒一下。
1、用1G的U盘,在拔去还原卡的情况下,用FreeDos+Grub在现有的五六种主板下,全都能启动到PE里,并正常使用。原来清华同方不能启动PE的原因是内存太少了,128M减8M显存,才120M,加内存后正常了。但4G盘能启动,却不能进行读写(现象同前几次所述),在其他电脑则完全正常,不知今后的Grub能否解决?
2、Mbr的Grub引导重新测试了两次(重做U盘,1G),测试的结果与上次有些不一样。
这次能启动4太电脑,包括原清华同方(拔去还原卡,不拔提示:Missing MBR-helper.),但启动不了联想电脑。后来,在FreeDos里发现:能启动的电脑,提示符是C>,联想电脑的提示符是A>。
|
|
2008-5-28 21:50 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
40 楼』:
好了,测试是很辛苦的,等以后有空闲时间再做详细测试也行。说实在话,我只是来布置和设计这个测试,就已经很累了,更何况你还要运用诸多工具进行多次的分区、格式化、安装系统,以及还需要打开机箱插拔板卡,并分别在 DOS 和 GRUB 等环境下调试,然后再把结果抄录或者贴图,实在是一件麻烦的事情,是巨大的劳动量。
Quote: | 但4G盘能启动,却不能进行读写(现象同前几次所述),在其他电脑则完全正常,不知今后的Grub能否解决? |
|
恐怕这与 grub 无关,应该与 PE 有关,或者是与 BIOS 固有的毛病有关。这恐怕难以解决了,除非刷新主板 BIOS,或者更新 PE 的 USB 驱动。
不用担心这个情况。这个问题一开始就很明朗,不存在可疑之处。导致这一现象的原因,就是 BIOS 并不读取 U 盘的 MBR,而是直接读取 FAT 上的 DOS 引导扇区。所以,你前面曾经提到,你一开始就能启动到 DOS,而 MBR 不起作用。这就是说,BIOS 已经强制把 U 盘的第一分区当作软盘来对待了。
在这种情况下,你可以把 GRLDR 的引导扇区安装到 U 盘第一分区的 FAT 上,这样就不会启动 DOS 了,而是启动 GRLDR。关于这一点,其具体的操作方法就不再多说了,你自己有时间的话,可以摸索一下。这不是令我们很头痛的问题,而是相对比较容易处理的问题。
你的报告已经带来了 grub4dos 的更加强健。再次谢谢你的测试。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2008-5-28 22:57 |
|
|
lmle
初级用户
积分 61
发帖 28
注册 2008-5-24
状态 离线
|
『第
41 楼』:
FreeDos+Grub启动经常会出现这样的问题:
1、我要把FreeDos的Command.com换成msdos的comnand.com才能运行Grub,否则提示:Invalid Opcode at 019B 2477 0206 FFFF 0101 20CD 0000 0000 2477 1F8F B11B 1F8F 9FAF
2、换了以后只要移动一些文件或拷贝进一些东西,就会出现:bad or missing command interpreter:command.com /p /e:256 ,当然就运行不了Grub了。
不知怎样解决,在线等,谢谢.
|
|
2008-5-29 10:50 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
42 楼』:
我想 FreeDOS 自己的 command.com 应该也是可以的。问题很可能是由于 config.sys 以及 autoexec.bat 中的驱动程序引起的。把 FreeDOS 的所有配置文件都删除,应该就好了。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2008-5-29 11:32 |
|
|
lmle
初级用户
积分 61
发帖 28
注册 2008-5-24
状态 离线
|
『第
43 楼』:
根本没用 config.sys 以及 autoexec.bat ,只有freedos的两个文件和一个grub。
|
|
2008-5-29 12:36 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
44 楼』:
freedos 的版本可能太旧了,换个最新的。在网上搜。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2008-5-29 12:45 |
|
|
lmle
初级用户
积分 61
发帖 28
注册 2008-5-24
状态 离线
|
『第
45 楼』:
看来真是freedos的版本问题,我把kernel.sys和command.com用freedos1.0里的替换后,grub正常运行了。
另外,freedos的command.com是不能移动的,把它删除后,再把相同的版本拷回来,freedos也会提示command.com出错。flashboot格式化后,要先把kernel.sys和command.com替换,再拷入其他文件。
最后忠心感谢不点大师的热情帮助!谢谢!期望grub越来越好!
[ Last edited by lmle on 2008-5-29 at 05:04 PM ]
|
|
2008-5-29 16:34 |
|