中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » Grub syslinux dos 用作U盘启动时,谁的兼容性更好?
作者:
标题: Grub syslinux dos 用作U盘启动时,谁的兼容性更好? 上一主题 | 下一主题
turtlerock
新手上路





积分 14
发帖 4
注册 2008-5-11
状态 离线
『楼 主』:  Grub syslinux dos 用作U盘启动时,谁的兼容性更好?

如题,我的电脑上似乎都能够启动起来,如果广泛应用的话,不知道哪种兼容性更好?

2008-5-17 14:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 2 楼』:  

相比起来syslinux兼容性最好,不过想广泛应用,就不要用u盘,因为u盘的兼容性很不好。

2008-5-17 15:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 3 楼』:  

DOS:通常认为是它兼容性最好。主要原因是,DOS 历史最长,而且长期占领事实工业标准,所以,几乎所有的厂家都把支持 DOS 放在首位。

然而,MS-DOS 多年没有进展了,处于完全停止开发的状态。FreeDOS 又不是事实工业标准,所以,其兼容性也不一定有完全的保障。不过 FreeDOS 仍然在开发,虽然步子很慢。

由于在 MS-DOS 流行的时代,USB 还没有出现,或者刚刚出现,那时,DOS 并不支持 USB。而那时的 DOS 都是支持硬盘和软盘的。硬盘也叫“固定盘”,其几何参数 CHS 也是固定的。软盘虽然有 1.2M, 1.44M, 2.88M 等几种规格,但主板 BIOS 可以处理它们,因此,实际上这几种规格也是固定的,它们叫做“标准规格”。DOS 对硬盘和软盘的 CHS 几何参数的处理,就完全依赖于 FAT 文件系统第一扇区(即引导扇区)中的 BPB 表中的 CHS 的值。BIOS 必须保证,它在访问磁盘扇区时所使用的 CHS 的值与 BPB 表中的 CHS 值是一致的。而且在 DOS 时代, BIOS 确实能保证这一点,否则的话,DOS 将无法运行,因为 DOS 是严重依赖 BIOS 的。

然而在 USB 的时代,USB 硬盘成了“移动”的了,而不是固定在机箱中的。USB 软盘也超过 2.88M 的标准容量了,在 DOS 看来也就是“非标准”的了。一个 USB 设备插在一台电脑上,可能被主板识别为一套 CHS 参数,而插在另外一台机器上,就可能被主板识别为另外一套 CHS 参数,这是不兼容的。因此,为了在某台机器上可以启动 DOS,用户可能得重新格式化 USB 设备。这主要就是因为不同的主板对 USB 设备的 CHS 参数的不同处理所造成的。这样的话,用户想制作一个可以在所有的机器上都能启动的 USB 盘,就很困难了。

======================================

GRUB4DOS 新版试图解决这一问题,就是引入“自动探测磁盘 CHS 参数”的办法。准确地说,应该说成是“自动探测主板 BIOS 对每个存贮设备所规定的 CHS 参数”。这个方案如果可行,那么,用户就有可能不再受 CHS 的困扰了,也就是说,一个 USB 的启动设备可以在所有的机器上启动了,只要启动软件是 GRLDR 便可。目前这个方案正在测试中。最新的测试版是 2008-05-17 发布的,在 http://grub4dos.jot.com/ 上。

另外一个概念需要弄清,那就是,BIOS 对 LBA 模式的支持,可以有效阻止所有这些不兼容问题的发生。无论是 DOS 还是 GRUB,对 LBA 模式都是支持的。因此,一个主板制造商家,只需要将 LBA 模式的支持做到完全、彻底,那么,它就基本上可以避免出现这类启动故障了。尤其是对于 GRUB4DOS 而言,更是如此。只要主板的 LBA 模式没问题,GRUB4DOS 肯定也没问题。只要 LBA 模式没问题,那么 CHS 参数的影响就化为零了,不再对 GRUB4DOS 有影响了。

然而,现存的一些老的主板,对 USB 设备而言,其 BIOS 不一定支持 LBA 模式。有的主板虽然也支持 LBA,但是,它可能支持得不彻底,比如一种情况可能是,BIOS 对于 USB 硬盘是支持 LBA 的,但对于 USB 软盘却不支持 LBA,这是很遗憾的。其实现在的 USB 设备也可作为软盘,而且也可能有很大的容量,比如 200GB,这样的 USB 软盘,是需要 LBA 支持的,否则 BIOS 最多只能访问 USB 软盘开头的 8.4GB 的内容。这还是小事,更重要的是,那些不支持 LBA 模式的 USB BIOS,其 CHS 参数就成了导致不兼容性的罪魁祸首了。因此我们可以认为,避免出现 CHS 参数问题的一个有效的方法,就是让主板 BIOS 彻底地、全面地支持 LBA。

而对于那些老的机器,就只能依赖我们的“自动探测磁盘 CHS 参数”的功能来解决启动兼容性的问题了。这个功能目前仍然处于开发、测试阶段,希望尽快成熟起来。

=========================================

对于 syslinux,我没有深入去研究它,因此无法进行评论(以下我只是猜测)。假定 syslinux 不具有我们前面所说的“自动探测磁盘 CHS 参数”的功能,那么,它也会遇到 CHS 所带来的问题,这是不可避免的。如果确实是这样的话,我们也就可以说,从理论上讲,它不会比 DOS 的兼容性更好。

================================================

补充:即使 DOS 存在以上所说的兼容性问题,但是,DOS 本身的任何问题,都会被忽略。任何厂家,只要生产了不能启动 DOS 的设备,都会被厂家自己所发现并就地解决。因此,厂家所制作的 DOS 启动工具,都是完全可以启动 DOS 的,不过,它一般是不通用的,不能保证它的 USB 设备上的 DOS 在别的机器上也能启动。这当然还是因为 CHS 参数被 BIOS 随便设置所造成的。

除了 CHS 参数所导致的问题以外,还有启动软件本身的硬件适应能力所带来的一些问题。我们有理由认为,随着软件开发的不断深入,无论是 FreeDOS 还是 SYSLINUX 或者是 GRUB,都会逐步解决硬件兼容性问题。而作为 grub4dos 的开发维护人员,我们特别重视各种兼容性问题,尤其是硬件兼容性问题,是我们排查的重点,一旦发现问题,不会轻易放过。

[ Last edited by 不点 on 2008-5-18 at 09:43 AM ]



因为我们亲手创建,这个世界更加美丽。
2008-5-17 15:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wwwcccyyy
中级用户





积分 224
发帖 110
注册 2007-1-7
来自 广东
状态 离线
『第 4 楼』:  

支持GRUDOS,,,

2008-5-17 20:54
查看资料  发送邮件  发短消息 网志  OICQ (810543626)  编辑帖子  回复  引用回复
nineoneone
新手上路





积分 2
发帖 1
注册 2008-5-3
状态 离线
『第 5 楼』:  

各有优势···要是弄U盘启动,就要想好制作方法。会遇到很多稀奇古怪的问题。我现在的一个U盘就有几种引导方式。可以做到99.99%的引导。

2008-5-18 16:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
freeyoung
新手上路





积分 10
发帖 4
注册 2007-6-6
状态 离线
『第 6 楼』:  

最新版grub原来从这里也能找得到阿

2008-5-18 22:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: