现在Windows 8支持UEFI引导加载程序,并且我已经阅读到它与BIOS的区别,但是在Google上进行了许多搜索后,我不清楚。

有几点需要注意:-


众所周知,BIOS是访问引导选项的重要组成部分。那么UEFI现在会这样做吗?怎么样?
我怎么知道我是用UEFI而不是BIOS引导的?
那么“使用BIOS引导”和“使用UEFI引导”的真正区别是什么?


评论

在安装操作系统之前,请确定要以哪种方式引导。在安装Ubuntu之后更改此设置可能会在启动时引起投诉,并且显示投诉会花费一些时间,这可能会减慢启动过程。您可以重新安装Ubuntu来解决此问题。我不知道安装Windows的计算机是否会显示类似的内容,我也不想找出原因,因为幸运的是,我在HP机器中的UEFI / BIOS会警告您更改此设置。

#1 楼



众所周知,BIOS是访问引导选项的重要组成部分。那么现在UEFI会这样做吗?





BIOS通过读取硬盘上的第一个扇区并执行它来引导。该引导扇区又查找并运行其他代码。由于空间限制和BIOS运行16位代码,BIOS系统非常受限制,而现代计算机使用32位或64位CPU。相比之下,EFI(或UEFI,仅是EFI 2.x)通过从硬盘上的分区(称为EFI系统分区(ESP))加载EFI程序文件(具有文件扩展名.efi)来启动。这些EFI引导加载程序可以利用EFI引导服务来进行诸如从硬盘读取文件之类的操作。

实际情况是,如果您使用的Linux之类的操作系统具有复杂的BIOS模式引导加载程序,EFI模式引导可能类似于BIOS模式引导,因为GRUB 2(Linux上最流行的BIOS模式引导加载程序)已经移植到EFI下工作,并且许多Linux发行版默认安装GRUB 2在EFI系统上。 OTOH,您可以用其他EFI引导加载程序替换GRUB 2或对其进行补充。确实,Linux内核本身可以是EFI引导加载程序;代码已添加到3.3.0内核中。通过这种方式,EFI本身将加载并运行Linux内核,或者您可以使用第三方启动管理器(例如rEFInd或gummiboot)来选择要启动的操作系统或内核。



我怎么知道我是用UEFI而不是BIOS引导的?



正如Root所说,固件的用户界面中有一些线索。但是,这些都不可靠,并且从一台计算机到另一台计算机都各不相同。确保的唯一方法是检查计算机的启动方式。例如,在Linux中,名为/sys/firmware/efi的目录的存在是诊断性的。如果存在,则您已经以EFI模式启动;如果不存在,则可能是在BIOS模式下启动的。 (但是,在某些情况下,此目录在EFI模式引导中可能不存在。)引用EFI的dmesg输出也是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引导将改变引导过程的一些细节,但是一旦您克服了可能遇到的任何引导问题,您的整体计算体验就不会改变太多。


EDIT :


您可以扩展OpRom设置(可选Rom)吗?它们似乎允许您在UEFI引导或“传统”引导之间进行选择,它们适用于视频卡,网络卡和其他各种PCI设备。


许多插件卡都提供固件与主板上固件的接口。如果卡的固件有任何用处,则两种固件都必须能够“交谈”。这是在操作系统启动之前使用该卡所必需的-例如,在视频卡上显示固件的选项或启动管理器菜单,通过网卡执行网络启动,或从连接到的硬盘启动磁盘控制器卡。

就像引导加载程序一样,插入式设备固件中的代码被写入与BIOS或EFI的接口(尽管我没记错,但是插入式卡可以支持这两种方法)。如您所见,某些EFI提供了一些选项来启用或禁用此支持。在某些情况下,EFI可以使用卡的BIOS模式支持,通过“转换”呼叫使它在EFI模式下工作。 (例如,这在视频卡中很常见;您通常可以插入旧的视频卡,但固件中仅包含BIOS支持,而仍然可以使用它在EFI模式下启动。)

我不知道无法确切知道您记下的每个设置的功能。例如,我不知道这些选项之一的“仅BIOS”是否会使卡仅在BIOS模式下工作,“转换”以便EFI可以在EFI模式下使用BIOS模式调用。实际上,由于其他EFI用户界面领域缺乏标准,我希望每个EFI的细节都不同,因此,如果您需要了解这些细节,则可能需要查阅计算机的文档或进行实验。我已经看到一些计算机在两个不同的菜单中具有非常相似的听起来的选项,这使事情变得更加复杂。

评论


如果硬盘同时具有BIOS引导分区和EFI系统分区,这是否意味着可以在BIOS模式和EFI模式下引导该硬盘?那么硬盘是否与“启动模式”无关?我在gdisk教程上看到,它设置了BIOS引导分区和EFI系统分区。同样在其他情况下,有人说您可能需要在不同的分区上使用/ boot(主要是因为我试图使用ZFS)。如何将RAIDED / boot与BIOS引导分区和EFI系统分区协调起来?

– CMCDragonkai
2014年7月3日,0:49

磁盘可以同时具有ESP和BIOS引导分区。后者仅由GRUB使用,因此,即使没有后者,也可以在EFI和BIOS中引导磁盘,具体取决于所使用的引导加载程序。 RAID阵列外部通常存在一个单独的Linux / boot分区。无论引导模式如何,引导加载程序都必须能够读取内核,并且大多数引导加载程序都无法处理软件RAID。 (GRUB可以做到,但很少有人尝试。)

–罗德·史密斯
2014年7月3日在1:35

我需要对/ boot使用软RAID,因为ZFS无法在其上具有/ boot。我在Linux邮件列表中的ZFS上询问。

– CMCDragonkai
2014年7月3日在1:41

BIOS甚至没有与安全启动等效的东西。

–罗德·史密斯
15年4月25日在21:20

在最流行的主流操作系统中,尤其是在Windows 7和更高版本以及最新的Linux发行版中,UEFI的支持相当不错。如果您超出该领域,则应研究特定操作系统的UEFI支持。我检查的最后一个,例如ReactOS,Haiku和FreeDOS都缺少UEFI支持。但是,自从我检查其中任何一个以来已经有一段时间了,因此其中一个或多个现在可能已经获得UEFI支持。

–罗德·史密斯
16-09-5在12:51

#2 楼



众所周知,BIOS是访问引导选项的重要组成部分。
那么,UEFI会这样做吗?如何?




UEFI是一种跨平台的固件接口,它替代了x86特定的固件标准BIOS。许多UEFI实施还包括BIOS兼容性/“旧版”模式,以允许从MBR引导并向OS呈现类似于BIOS的接口。但是,这不是标准要求的。



我怎么知道我是用UEFI而不是BIOS引导的?



如果您的UEFI兼容主板提供兼容性/旧版BIOS引导,则其固件菜单将提供诸如设置默认引导模式甚至以UEFI或BIOS模式引导单个设备之类的选择: br />
否则,如果没有例如使用操作系统对固件进行探测。 >


有许多区别:


UEFI定义了类似OS固件的接口,例如BIOS,但并不特定于任何处理器体系结构。 BIOS特定于Intel x86处理器体系结构,因为它依赖于x86处理器支持的16位“实模式”接口。
UEFI可以配置为加快启动过程的各个部分,例如UEFI on技嘉GA-EP45-DS3的初始化时间为11秒,而BIOS的初始化时间为19秒。
UEFI模式向同一已安装的操作系统提供的固件/硬件功能可能不同于BIOS模式。

查看更多信息关于UEFI。

评论


并非总是能够仅凭固件设置来确定实际的启动模式是什么,因为大多数EFI都依赖于基于磁盘的因素以及固件设置来确定启动模式。这些基于磁盘的因素包括分区表类型,MBR中的“启动/活动”标志设置,EFI系统分区或其中的文件的存在/不存在等。唯一可以肯定的方法是检查已引导操作系统中EFI模式或BIOS模式引导的迹象,这些迹象是特定于操作系统的。

–罗德·史密斯
2013年9月7日17:05

不,UEFI从未“在传统BIOS之上实现”。 UEFI是一种固件,它取代了旧版本的BIOS。它可能包括兼容性/旧版模式,该模式使其能够从BIOS样式的MBR引导,并向需要该操作系统的OS提供与BIOS等效的接口,但这并不意味着它下方有BIOS。

– underscore_d
15年9月29日在22:10

P0 / P1 / P2在图像中是什么意思?

– CMCDragonkai
16年1月25日在8:21

图片链接已损坏

– Dan Dascalescu
16年3月3日,下午4:40

@underscore_d,有一些在传统BIOS之上运行的EFI实现。我在这里写了一个技嘉“混合EFI”。我的经验是非常负面的。还有Clover和DUET,它们在基于BIOS的标准计算机上像引导加载程序一样运行,以使它们能够运行EFI模式引导加载程序和OS。不过,Clover和DUET从技术上讲不是固件,因此我不确定它们是否真正有用。

–罗德·史密斯
17 Mar 14 '17 at 12:53

#3 楼

问:众所周知,BIOS是访问引导选项的重要组成部分。那么现在UEFI会这样做吗?

A:这是对术语的混淆。例如。 “进入BIOS以更改blabla。”政治上正确的术语是您输入的“固件设置实用程序”。如果您将“ BIOS”与“ UEFI”进行对比,它指的是其他东西,即:引导执行环境。

因此,如果您是指安装实用程序,则a)不要调用UEFI和b)与以前基本相同。

设置实用程序如何与硬件通信,并且它的永久存储是固件专用的。

问:“使用BIOS引导”和“使用UEFI引导”之间的真正区别是什么?

A:引导环境-装载者发现自己与众不同。借助UEFI,该环境的定义更加清晰,方式更加现代且功能丰富。