Board logo

标题: 磁盘几何参数自适应功能,默认时是否该支持? [打印本页]

作者: 不点     时间: 2008-2-1 12:53    标题: 磁盘几何参数自适应功能,默认时是否该支持?

从已有的报告来看,磁盘几何参数的探测适应功能,在一些机器上引起了问题,其表现有两种:死机和找不到文件。

对于那些支持 LBA 模式的 BIOS 磁盘,这个功能是不会执行的,所以,在处理硬盘时,一般是不会遇到问题的,除非那些早期的机器,其 BIOS 不支持 LBA 模式的磁盘访问(即 EBIOS int13 扩展),grub4dos 在这样的机器上就会执行“磁盘几何参数探测”功能,这样就有可能出现问题。因此,目前来说,不用考虑这种情况,而主要考虑 U 盘的情况,因为目前有大量的 U 盘,其 BIOS 不支持 LBA。

虽然遇到了这些问题,但是我觉得磁盘参数的探测功能是十分重要的,所以,我感觉应该在默认时执行这个功能。对于那些出了问题的机器,我们可以提供一个开关来控制是否执行这个功能。

对于 grldr.mbr,我们在 bootlace 的命令行提供一个开关。对于 grub.exe,我们也在其命令行提供一个开关。

默认时执行自动探测的一个缺点就是,在那些有问题的机器上,需要使用这个开关来关闭此功能。它的优点是,这提醒你,你的主板 BIOS 是有毛病的,这对于 BIOS 制造商是有帮助的。

我本人没有支持 USB 启动的机器,所以我无法测试。希望对此了解的人多多测试,并且在这里给大家介绍一下遇到的情况,包括成功的和失败的。

请诸位发表意见(当然是您的真实的意见)。您的意见是很重要的,请考虑成熟了再发表。发表之后,如果你后来又反悔了,你可以再发表一个新的帖子来改正。

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

磁盘参数自动探测和适应功能是干什么的?在 DOS 时代没有“移动盘”这样的设备,唯一的“移动盘”是软盘,通常它是标准的,即只有 360K, 720K, 1.2M, 1.44M, 2.88M 这几种。并且每个规格在所有的 BIOS 下都是支持的,所以,这与“固定盘”(即硬盘)没有什么实质差别。

但是在现今“移动”的时代,那个古老的“固定”启动模式就显得陈旧。“磁盘几何参数自适应”功能就是在这样一个背景下出现的。有了这样一个功能,那么你只需要格式化一次就可以使得你的移动设备在各种不同的 BIOS 下正常启动到 GRUB4DOS,并且能在 GRUB4DOS 下正常访问其中的文件。

要想使用此功能,必须把设备(无论你的 BIOS 认为它是硬盘还是软盘,都得这么做)格式化为硬盘(即含有分区表),并设法安装 grldr.mbr 到它的上面。对这个“硬盘”中的分区格式也有要求,即必须是 FAT12/FAT16/FAT32 之一,而不能是 NTFS,也不能是 EXT2 等 Linux 的文件系统类型。另外注意,bootlace 的参数中不要有“禁止搜索软盘”这样的参数。如果使用 grubinst,还要注意应该拷贝BPB到MBR,不要禁止这个拷贝。满足这些条件就可以了。
作者: chenall     时间: 2008-2-1 23:52
个人觉得应该默认支持.
死机的情况我这里倒还没有碰到..
我用的最新01-03的版本.使用USB或硬盘启动GRUB都没有死机的情况.
都是将GRLDR.MBR安装到磁盘的MBR上的.
作者: 429499381     时间: 2008-2-3 05:52
我觉得还是默认关掉, 毕竟要考虑最大兼容性嘛!!

而且要开启只需要一个简单的开关而已, 对我们没什么

不太方便的。 多一份兼容, 相当多一份宽容,多争取一个用户多一份力量。

说起BIOS有毛病, 我想很多华硕的主板都有毛病, 毕竟它的研发能力

强, 自己改进了很多东西, 到底是毛病还是改良, 又有几个人搞得清楚??
作者: loveheartrain     时间: 2008-2-10 22:49
GRUB4DOS要有自己的路走,如何走下去 取决于它的实用性 而不是全兼容 微软的每次操做系统更新都带来了兼容的饿问题, 如果一味的兼容陈旧的东西 就不会有更好的技术创新,
作者: 不点     时间: 2008-2-11 00:03
谢谢大伙的讨论。

注意,你自己的机器是否能够通畅运行“磁盘几何参数自动探测”,不是要讨论的话题。这个功能肯定要带来兼容性问题。

这个功能将解决普遍存在的、DOS时代早已成为习惯了的、“固定几何参数”问题,这是一个突破。这个突破,将解决这样的一大批问题。

问题是,我自己没有一台机器可以试验,所以,想看看大家试验的结果如何。

1. 几何自适应没有一台机器能够成功,全部失败。如果是这样,那么,默认时将关闭这一功能。

2. 有成功的,也有失败的。成功和失败的数量大致相当。此时应该在默认时开启此功能。

3. 成功的少,失败的多,那么默认时也应该关闭此功能。

到目前为止,我还没有见到有人报告“自动探测”功能确实解决了某个问题。

如果你以前在 U 盘安装 DOS,在不同的机器上无法启动,而现在换成 grub,能够在不同
的机器上启动(就是说,在DOS无法“移动”启动的那些机器上,grub却可以成功地在这些机器上启动),那就说明自动探测真的起作用了。

请报告有没有这种成功?哪怕只有一例也行啊?

谢谢了。
作者: 不点     时间: 2008-3-5 19:58
请大家用 ypcok 提供的这个 systype 工具,在纯 DOS 下检测各个硬盘、软盘、U盘的参数。

这个工具在 sysoft 上,地址如下:

http://bbs.znpc.net/viewthread.p ... page%3D1&page=2

在其中第 19 楼,就是 ypcok 上载的 PC.rar
作者: barton     时间: 2008-3-5 21:02
无软驱

Diskette a:     unknown type                                   

Hard Drive 0:   IDE controller, LBA active
                  Total size = 8016 MB   (with diagnostic cylinder)
                 1022 Cylinders,  255 Heads,   63 Sectors per track

[ Last edited by barton on 2008-3-5 at 09:03 PM ]
作者: gmy     时间: 2008-3-7 11:51
能,一台老机(2003年)估计不支持LBA,到 Boot GRLDR 时10秒后进入,速度还算能忍受,其它10台电脑(2004年以后的各种型号的电脑)测试都没有问题
作者: 不点     时间: 2008-3-18 19:50
既然在 2008-03-14 发现并解决了一个 bug,那么,先前关于 “自动探测” 的那些测试都受到了影响,那些测试都是无效的,要重新测试。

我打算慢慢来,先投石问路,摸摸目前现有这些机器的 BIOS 的脾气。我准备先探测 sectors-per-track 的值,看看代码能否顺利通过。如果全部机器都能通过,再进行 number of heads 的探测。

如果有机器在探测 sectors-per-track 时遇到问题,那么马上解决这些问题,直到全部都通过为止,然后才进入 number of heads 的探测。

如果你是主板制造商,建议新机器的 BIOS 都支持 LBA(即 EBIOS,下同;无论软盘还是硬盘或者是其他可移动设备,都要支持 EBIOS)。对于那些支持 LBA 的 BIOS 存储设备,我们是不进行几何参数探测的,这就可以大大加快 grub4dos 的启动速度。

接下来要在 http://grub4dos.jot.com/ 上发布一些测试版,可能带有 test 字样。这些版本不要用来作为日常使用,而是用来测试自动探测功能的。请大家一定要测试,并反馈失败信息。如果没有反馈,就表示全部成功,过一段时间后将转入下一个阶段的测试。
作者: chenall     时间: 2008-3-19 20:23
我先跟上...