跳转到内容

来自维基教科书,为开放世界而开放的书籍

本文件最初托管在ETHZ。它仍然在 Wayback 档案中,根据ETH 许可证.

返回:原生奥伯龙硬件兼容性列表

 
BIOS 支持
概要
如何在机器上设置 BIOS

如果 BIOS 设置提供“即插即用操作系统已安装”设置,将其设置为“否”,以让 BIOS 配置 PCI 总线插槽。如果存在 USB 控制器,请启用它并安排在奥伯龙中执行UsbSystem.Start 来启动 USB 驱动程序(检查奥伯龙.Text 中的InitCommands 部分)。如果没有 USB 设备连接,请禁用它,但在这种情况下不要启动 USB 驱动程序。之后,在安装奥伯龙期间和之后,可以通过执行PCITools.Scan 获取有关 PCI 和 AGP 插槽设备的详细信息。

奥伯龙的 8.4GB 硬盘容量限制

现代硬盘提供了令人印象深刻的存储空间,但 8.4GB 容量限制(见下文限制 4)意味着并非所有驱动器都可用。此限制迫使人们以这样一种方式安装可启动的奥伯龙分区(主分区或逻辑分区),即第一个 1MB 位于磁盘的前 8.4GB 内。分区本身可能会超出此限制,因为最大分区大小为 282GB。当通过引导管理器启动奥伯龙分区时,情况也是如此。

对通过启动软盘或使用noboot.exe 从 DOS 启动的奥伯龙分区没有此限制。在这种情况下,分区可以位于大型磁盘上的任何位置。也可以考虑在 8.4GB 限制以下的小型可启动主奥伯龙分区或如上所述的软盘的帮助下启动此类分区。分区中的配置数据(Partitions.SetConfig)中的 BootVol= 值必须指向以级联方式挂载的有效奥伯龙分区。

一般硬盘容量限制

BIOS 和 IDE/ATA 硬盘限制的组合导致自 90 年代以来出现的硬盘大小限制。磁盘大小限制自 ATA 接口问世以来一直困扰着它,对于那些愿意在旧机器上安装原生奥伯龙的人来说,它们仍然很重要。SCSI 磁盘通常不受此类限制。随着时间的推移,容量限制有所提高。

Limit Capacity   Comment 
        up to 
   1     504MB   BIOS dated prior to July 1994 
   2     2.0GB   DOS file system partition limit - BIOS dated after July 1994 
   3     4.2GB   CMOS extended CHS addressing limit (not widely experienced) 
   4     8.4GB   BIOS INT 13H 24-bit addressing limit - OBL limit 
   5    32.0GB   BIOS limit

限制 1:1994 年 7 月之前的 BIOS 以 CHS 模式访问硬盘,限制为 1024 个柱面、16 个磁头、63 个扇区或 504MB 的磁盘容量。为了突破此限制,BIOS INT 13H 例程引入了另一种寻址扇区的方法:逻辑块寻址 (LBA) 功能,需要进行正确的扇区地址转换。大多数制造商的 BIOS 没有提供逻辑块寻址 (LBA) 功能,而某些 BIOS 在设置中具有 LBA 模式,但该功能无法正常工作。

限制 2:LBA 的引入看起来像是一种灵丹妙药,但在几个方面失败了。一些 BIOS 制造商将 LBA 柱面寻址限制为 4096 个柱面,以节省地址空间。当柱面限制阈值达到时,系统在从软盘或硬盘加载时会挂起。

限制 3:出于类似原因,LBA 寻址限制为 8192 个柱面。当柱面限制阈值达到时,系统在从软盘或硬盘加载时会挂起。例如,请参考超过 4GB 硬盘的问题.

限制 4:此限制是由于 BIOS 中 INT 13H 的处理造成的。在 24 位地址方案中,为柱面编号分配了 10 位,为磁头编号分配了 8 位,为扇区编号分配了 6 位,即 1024*256*63 个扇区 = 8.4GB。为了突破此限制,需要来自 BIOS 的新扩展 INT 13H 功能。奥伯龙引导加载程序 (OBL) 使用 BIOS 加载系统的内部核心,并且不支持访问超过 8.4GB 磁盘所需的扩展 BIOS 调用。如果已经安装了奥伯龙,可以使用Partitions.Show detail ~ 检查磁盘分区。第二列显示分区开始的扇区编号,它应该小于 16'514'048 = 1024 x 256 x 63(柱面 x 磁头 x 扇区)。

为了突破此限制,奥伯龙引导加载程序需要进行调整以支持扩展 INT 13H。有人愿意为此做出贡献吗?

限制 5:由于新实现中的错误,某些 PC 无法访问超过 32GB,尽管有修复程序可用 - 主要是有 1998/99 年日期的 Award BIOS 芯片。然而,大多数 PC 都能够支持高达 137GB 的驱动器。

未来展望:137GB 的限制现在看起来已经相当严格了。E-IDE 协议的下一个版本(ATA-6)目前正在由 ANSI 委员会审查,它允许 48 位地址空间,最大可寻址限制为 144PB(PB,拍字节)。

阅读 Andries Brouwer 的大型磁盘 HOWTO,了解更多关于技术细节(从 Linux 的角度来看)以及Wim 的 BIOS 页面,了解更多关于 BIOS 的信息。

如何收集有关已安装磁盘的信息

有关已安装磁盘的主要信息来源是 Partitions.Show detail ~。但是,通过执行System.OpenKernelLog 可以获得更多详细信息,它会显示驱动程序启动时写入的信息。在那里,你会发现是否使用了 LBA 或 DMA。

[顶部]

2003 年 4 月 11 日 - 版权所有 © 2003 ETH 苏黎世。保留所有权利。
电子邮件:oberon-web at inf.ethz.ch
主页:www.ethoberon.ethz.ch

华夏公益教科书