在 UEFI 的边缘
好的 ol’ BIOS 的日子已经屈指可数了。统一可扩展固件接口 (UEFI) 将引入更强大的解决方案,能够更好地应对当今多样化硬件的需求。简而言之,UEFI 是一个接口,负责将预引导环境移交给操作系统。我们快速浏览了 UEFI 并发现了一些迫在眉睫的问题。
您可能已经听说过 UEFI(或 EFI,这是最初的方法)。英特尔于 2003 年启动了 EFI,其名称为 Boot Initiative。该概念被移交给统一 EFI 论坛,该论坛负责管理和推广整个行业的新标准。AMD、AMI、Apple、Dell、HP、IBM、Insyde、Intel、Lenovo、Microsoft 和 Phoenix 是当今的主要成员。BIOS 依赖于 x86 架构的 16 位实模式,但 UEFI 引入了完全的硬件独立性,并将接口分为引导和运行时服务。这些旨在实现高度标准化,同时为制造商引入足够的灵活性来区分他们的产品。
BIOS:过时且仍然流行
大约 25 年前,BIOS 旨在启动操作系统。在被带有基本解释器的 ROM 取代之前,第一台计算机使用穿孔卡片作为发射目标。今天我们可以选择大量的目标,包括软盘、硬盘、光驱和网络位置。但是,实际的组件操作仍然通过设备驱动程序受制于特定的操作系统,而 EFI 通过其自己的驱动程序模型允许独立于操作系统的驱动程序支持。
已经多次尝试修改初始 BIOS 概念。IBM 于 1988 年推出了改进的系统设计 PS/2,部分是为了对抗 BIOS 克隆。其带有 ABIOS 的 32 位多通道架构 (MCA) 可以被视为一种绕过山寨 BIOS 实现的方法。高级 RISC 计算 (ARC) 旨在统一 1990 年代 MIPS 和 Alpha 平台的引导环境,但它缺乏进化路径、可扩展性和可能的系统多样性。PowerPC 和 SPARC 有他们的开放固件 (OF) 和通用硬件参考平台 (CHRP),它们不接受 ACPI,有点对抗 ACPI。
最后,BIOS 仍然存在,并且仍然在做过去 25 年来一直在做的事情:确保您的操作系统可以启动。它从来都不是为当今大量多样化的硬件而设计的。它仍然停留在 16 位接口和软件中断、中断路由和最高精度计时器、有限的 ROM 执行空间 (1 MB) 和映像大小、有限数量的可初始化设备(这在服务器空间中至关重要)、专有扩展、并且缺少模块化——仅举几个问题。
UEFI 支持
操作系统从 2007 年开始支持平台接口设计,但大多数 Windows 版本,例如带有 SP1 的 Vista 和 Windows Server 2008,仅提供对 64 位版本的支持。遗憾的是,我们发现业界对 UEFI 的支持还很薄弱,在存储端也存在一些不足。