中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » [求助]用不点最新测试版grub制作usb启动盘的一些困惑
« [1] [2] [3] [4] »
作者:
标题: [求助]用不点最新测试版grub制作usb启动盘的一些困惑 上一主题 | 下一主题
不点
银牌会员

不甘寂寞的人


积分 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
状态 离线
『第 38 楼』:  

两位辛苦了!

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 驱动。

  Quote:
但启动不了联想电脑。联想电脑的提示符是A>。

不用担心这个情况。这个问题一开始就很明朗,不存在可疑之处。导致这一现象的原因,就是 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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: