Answers:
- 众所周知,BIOS是访问引导选项的重要组成部分。那么现在UEFI会这样做吗?怎么样?
BIOS通过读取硬盘上的第一个扇区并执行来引导。该引导扇区又查找并运行其他代码。由于空间限制和BIOS运行16位代码,BIOS系统非常受限制,而现代计算机使用32位或64位CPU。相比之下,EFI(或UEFI,仅是EFI 2.x)通过.efi
从硬盘上的分区(称为EFI系统分区(ESP))加载EFI程序文件(带有文件扩展名)来启动。这些EFI引导加载程序可以利用EFI引导服务进行诸如从硬盘读取文件之类的操作。
实际上,如果您使用的是像Linux这样的操作系统,且具有复杂的BIOS模式启动加载程序,则EFI模式启动可能类似于BIOS模式启动,因为GRUB 2(最受欢迎的BIOS模式启动加载程序) (适用于Linux)移植到EFI下工作,并且许多Linux发行版默认在EFI系统上安装GRUB 2。OTOH,您可以用其他EFI引导加载程序替换或补充GRUB 2。确实,Linux内核本身可以是EFI引导加载程序;代码已添加到3.3.0内核中。以这种方式使用,EFI本身将加载并运行Linux内核,或者您可以使用第三方启动管理器(如rEFInd或gummiboot)来选择要启动的操作系统或内核。
- 我怎么知道我使用UEFI引导而不是BIOS?
正如Root所说,固件的用户界面中有一些线索。但是,这些都不可靠,并且从一台计算机到另一台计算机都各不相同。确保的唯一方法是检查计算机的启动方式。例如,在Linux中,存在一个名为/sys/firmware/efi
诊断的目录。如果存在,则您已经以EFI模式启动;如果不存在,则可能是在BIOS模式下启动的。(尽管在某些情况下,此目录在EFI模式引导中可能不存在。)dmesg
引用EFI的输出也可以诊断EFI模式引导。在Windows中,启动盘的分区表是诊断性的;如果是GPT,则以EFI模式启动;如果是MBR,则以BIOS模式启动。
- 那么,“使用BIOS引导”和“使用UEFI引导”的真正区别是什么?
EFI 可以更快,但这还不确定。最大的速度差异是在过程的早期进行硬件初始化。在我的系统,这是总的开机时间的一小部分,所以在硬件初始化时间减少了,而好,不会使全部是太大的差别。毕竟,这并不是我每隔十分钟要重新启动一次。
UEFI支持称为安全启动的功能顾名思义,这旨在提高安全性。为此,它需要引导加载程序的数字“签名”,而后者又需要对内核进行签名,依此类推。这将使恶意软件作者更难将其代码插入到预引导过程中,从而提高安全性。这听起来不错,但同时也使双重引导配置变得复杂,因为必须对GRUB和Linux内核之类的代码进行签名。主要的Linux发行供应商正在研究使这些要求减轻对普通Linux用户的负担的方法,并且他们已经准备了一些初步的资料。不过,目前,禁用安全启动是最简单的处理方法。这主要是针对Windows 8附带的全新计算机的实际问题。因为Microsoft要求启用安全启动才能获得Windows 8认证。有些人将UEFI和安全启动(后者只是前者的一个功能)混淆了,但是值得一提的是BIOS和UEFI之间的差异,因为它给新的Windows 8计算机带来了一些问题。如果您使用的是较旧的系统,或者对固件设置实用程序足够满意以禁用安全启动,那么这不一定是真正的问题。
Microsoft将启动磁盘的分区表类型与固件类型相关联(MBR到BIOS; GPT到UEFI)。由于MBR最高为2TiB(假设标准扇区大小),因此这意味着UEFI是在2TiB以上磁盘上引导Windows的实际必要条件。但是,您仍然可以在Windows下使用诸如数据磁盘之类的大磁盘,并且可以在BIOS下使用GPT在大磁盘上引导一些非Microsoft操作系统(例如Linux和FreeBSD)。
实际上,如果您关心UEFI或对UEFI感兴趣,那么最大的问题就是UEFI足够新,以至于对其的支持有些杂乱无章,尤其是在某些较旧且更奇特的OS中。UEFI本身已经足够新,以至于它的大多数实现都是错误的,而它们之间的差异还不够大,以至于很难描述一般情况。因此,使用UEFI可能是一个挑战。OTOH,UEFI 是未来。它具有一些适度的优势,其中一些优势会随着时间的推移变得越来越重要(例如Windows的2TiB引导磁盘限制)。切换到UEFI引导将改变引导过程的一些细节,但是一旦您克服了可能遇到的任何引导问题,您的总体计算体验就不会改变太多。
编辑:
您能否扩展OpRom设置(可选Rom)。它们似乎允许您在UEFI引导或“传统”引导之间进行选择,它们适用于视频卡,网卡和各种其他PCI设备。
许多插入卡都提供与主板上的固件接口的固件。如果卡的固件有任何用处,则两种固件必须能够“通话”。这是在操作系统启动之前使用该卡所必需的-例如,在视频卡上显示固件的选项或启动管理器菜单,通过网卡执行网络启动,或从连接到的硬盘启动磁盘控制器卡。
就像引导加载程序一样,插件设备固件中的代码被编写为与BIOS或EFI交互(尽管如果我没记错的话,插件卡可以支持这两者)。如您所见,某些EFI提供了一些选项来启用或禁用此支持。在某些情况下,EFI可以使用卡的BIOS模式支持,通过“转换”呼叫使它在EFI模式下工作。(例如,这在视频卡中很常见;您通常可以插入旧的视频卡,但固件中仅包含BIOS支持,而仍可以使用它在EFI模式下启动。)
我不知道您记下的每个设置的确切含义。例如,我不知道这些选项之一的“仅BIOS”是否会使卡仅在BIOS模式下工作,“转换”,以便EFI可以在EFI模式下使用BIOS模式调用。实际上,由于其他EFI用户界面领域缺乏标准,我希望每个EFI的细节都不同,因此,如果您需要了解这些细节,则可能需要查阅计算机的文档或进行实验。我已经看到一些计算机在两个不同的菜单中具有非常相似的听起来的选项,这使事情变得更加复杂。
/boot
通常存在一个单独的Linux 分区。无论引导模式如何,引导加载程序都必须能够读取内核,并且大多数引导加载程序都无法处理软件RAID。(据说GRUB可以做到,但很少有人尝试。)
/boot
因为ZFS无法/boot
在上面使用。我在Linux邮件列表中的ZFS上询问。
- 众所周知,BIOS是访问引导选项的重要组成部分。那么现在UEFI会这样做吗?怎么样?
UEFI是一个跨平台的固件接口,它替代了x86特定的固件标准BIOS。许多UEFI实施还包括BIOS兼容性/“旧版”模式,以允许从MBR引导并向OS呈现类似BIOS的接口;但是,这不是标准要求的。
- 我怎么知道我使用UEFI引导而不是BIOS?
如果您的UEFI兼容主板提供兼容性/旧版BIOS引导,则其固件菜单将提供诸如设置默认引导模式甚至以UEFI或BIOS模式引导单个设备之类的选项: 否则,可能不容易无需使用操作系统探测固件即可知道的方法。
- 那么,“使用BIOS引导”和“使用UEFI引导”的真正区别是什么?
有很多区别:
查看有关UEFI的更多信息。
问:众所周知,BIOS是访问引导选项的重要组成部分。那么现在UEFI会这样做吗?怎么样?
答:这是对术语的混淆。例如,“输入BIOS更改blabla。”从政治上来说,正确的术语是您输入的“固件设置实用程序”。如果您将“ BIOS”与“ UEFI”进行对比,它指的是其他内容,即:引导执行环境。
因此,如果您指的是设置实用程序,则a)不要称其为UEFI,b)它基本上与以前一样。
设置实用程序如何与硬件及其永久存储进行通信,这对固件是私有的。因此,那里也没有任何变化。
问:那么“使用BIOS引导”和“使用UEFI引导”的真正区别是什么?
答:引导加载程序所处的环境不同。借助UEFI,该环境的定义更加清晰,方式更加现代且功能丰富。
/boot
在不同的分区上使用(主要是因为我正在尝试使用ZFS)。如何将RAIDED/boot
与BIOS引导分区和EFI系统分区协调起来?