![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 08:45 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » [求助]用不点最新测试版grub制作usb启动盘的一些困惑 |
| 可打印版本 9,186 / 45 |
| 第31楼 不点 | 发表于 2008-05-26 21:35 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
辛苦啦!这个帖子的点击率比较高,在等待你的结果的时候,我来轻松一下,云山雾罩一番。
我猜大家都很懒,包括我自己在内,都是希望由别人来解决问题,而自己只是享用别人的劳动果实。比如本人就发现了很多软件的 BUG,但本人很少去报告,因为报告 bug 也是很累人的一件事情。所以,大家首先得感谢这位报告问题的人。你私下里可以给他寄点什么礼物。 软件成功与否,取决于其稳定性,而不是功能。功能也重要,但只能排到第二位。例子有很多。比如,LILO 的功能就很简单,但它在 freshmeat 上能排在前 30 名。SYSLINUX 的功能多了一些,但是目前在 freshmeat 上只能排在第 70 名左右。GNU GRUB 的功能更丰富一些,然而在 freshmeat 上只能排在第 190 名左右。GRUB4DOS 的功能更强大,但在 freshmeat 上却只排到第 1700 名以后了。 所以,我们基本上可以得出结论:功能多、功能强大的代价,往往是伴随着硬件适应能力的下降,换句话说,就是稳定性的丧失。 因为起决定作用的是稳定性,所以,我们始终把解决硬件适应性问题当作头等大事来做。我们这么多年以来都是这么努力去做的,也收到了一定的成效。今后更是要这么做,也必将收到更大的成效。 |
|
| 第32楼 不点 | 发表于 2008-05-26 22:20 |
| 银牌会员 发帖 1,115 积分 2,491 | |
Originally posted by lmle at 2008-5-26 09:30 PM: 请在这里下载最新的 debug113,它可以代替微软的 debug,并且也能用于 Freedos: http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/debug/ 那些 geometry 是想挽救你的硬盘保护卡的。既然你已经放弃了硬盘保护卡,也就没必要再用 geometry 来看它的分区情况了。 [ Last edited by 不点 on 2008-5-26 at 10:25 PM ] |
|
| 第33楼 lmle | 发表于 2008-05-27 07:56 |
| 初级用户 发帖 28 积分 61 | |
|
不点大师辛苦了!您提供的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 ] |
|
| 第34楼 lmle | 发表于 2008-05-27 08:31 |
| 初级用户 发帖 28 积分 61 | |
|
还有一个情况,在显示如下警告时,没有还原卡一两秒钟就过去了,有还原卡时要五六分钟。
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 |
|
| 第35楼 不点 | 发表于 2008-05-27 11:10 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
你的两次测试,显示了不同的结果:
一次是 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 ] |
|
| 第36楼 lmle | 发表于 2008-05-27 16:34 |
| 初级用户 发帖 28 积分 61 | |
|
刚刚对有还原卡和无还原卡重新测了一遍(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 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 ] |
|
| 第37楼 不点 | 发表于 2008-05-27 18:13 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
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 ] |
|
| 第38楼 aimu2000 | 发表于 2008-05-27 23:55 |
| 新手上路 发帖 2 积分 4 | |
|
两位辛苦了!
|
|
| 第39楼 lmle | 发表于 2008-05-28 21:50 |
| 初级用户 发帖 28 积分 61 | |
|
找到暂时的解决方法,将就着用了,偷懒一下。
1、用1G的U盘,在拔去还原卡的情况下,用FreeDos+Grub在现有的五六种主板下,全都能启动到PE里,并正常使用。原来清华同方不能启动PE的原因是内存太少了,128M减8M显存,才120M,加内存后正常了。但4G盘能启动,却不能进行读写(现象同前几次所述),在其他电脑则完全正常,不知今后的Grub能否解决? 2、Mbr的Grub引导重新测试了两次(重做U盘,1G),测试的结果与上次有些不一样。 这次能启动4太电脑,包括原清华同方(拔去还原卡,不拔提示:Missing MBR-helper.),但启动不了联想电脑。后来,在FreeDos里发现:能启动的电脑,提示符是C>,联想电脑的提示符是A>。 |
|
| 第40楼 不点 | 发表于 2008-05-28 22:57 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
好了,测试是很辛苦的,等以后有空闲时间再做详细测试也行。说实在话,我只是来布置和设计这个测试,就已经很累了,更何况你还要运用诸多工具进行多次的分区、格式化、安装系统,以及还需要打开机箱插拔板卡,并分别在 DOS 和 GRUB 等环境下调试,然后再把结果抄录或者贴图,实在是一件麻烦的事情,是巨大的劳动量。
恐怕这与 grub 无关,应该与 PE 有关,或者是与 BIOS 固有的毛病有关。这恐怕难以解决了,除非刷新主板 BIOS,或者更新 PE 的 USB 驱动。 但启动不了联想电脑。联想电脑的提示符是A>。 不用担心这个情况。这个问题一开始就很明朗,不存在可疑之处。导致这一现象的原因,就是 BIOS 并不读取 U 盘的 MBR,而是直接读取 FAT 上的 DOS 引导扇区。所以,你前面曾经提到,你一开始就能启动到 DOS,而 MBR 不起作用。这就是说,BIOS 已经强制把 U 盘的第一分区当作软盘来对待了。 在这种情况下,你可以把 GRLDR 的引导扇区安装到 U 盘第一分区的 FAT 上,这样就不会启动 DOS 了,而是启动 GRLDR。关于这一点,其具体的操作方法就不再多说了,你自己有时间的话,可以摸索一下。这不是令我们很头痛的问题,而是相对比较容易处理的问题。 你的报告已经带来了 grub4dos 的更加强健。再次谢谢你的测试。 |
|
| 第41楼 lmle | 发表于 2008-05-29 10:50 |
| 初级用户 发帖 28 积分 61 | |
|
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了。 不知怎样解决,在线等,谢谢. |
|
| 第42楼 不点 | 发表于 2008-05-29 11:32 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
我想 FreeDOS 自己的 command.com 应该也是可以的。问题很可能是由于 config.sys 以及 autoexec.bat 中的驱动程序引起的。把 FreeDOS 的所有配置文件都删除,应该就好了。
|
|
| 第43楼 lmle | 发表于 2008-05-29 12:36 |
| 初级用户 发帖 28 积分 61 | |
|
根本没用 config.sys 以及 autoexec.bat ,只有freedos的两个文件和一个grub。
|
|
| 第44楼 不点 | 发表于 2008-05-29 12:45 |
| 银牌会员 发帖 1,115 积分 2,491 | |
|
freedos 的版本可能太旧了,换个最新的。在网上搜。
|
|
| 第45楼 lmle | 发表于 2008-05-29 16:34 |
| 初级用户 发帖 28 积分 61 | |
|
看来真是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 ] |
|
| 上一页 1 2 3 4 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |