"Boot with BIOS "和 "Boot with UEFI"
现在的Windows 8支持UEFI引导器,我看了一下,它和BIOS有什么区别,但在谷歌上搜索了很多次后,我不太清楚。那么现在的UEFI可以做到这一点吗?
–怎么知道我是用UEFI开机而不是用BIOS开机?
-那么 “用BIOS开机 "和 "用UEFI开机 "的真正区别是什么?
现在的Windows 8支持UEFI引导器,我看了一下,它和BIOS有什么区别,但在谷歌上搜索了很多次后,我不太清楚。那么现在的UEFI可以做到这一点吗?
–怎么知道我是用UEFI开机而不是用BIOS开机?
-那么 “用BIOS开机 "和 "用UEFI开机 "的真正区别是什么?
我们都知道BIOS是访问启动选项的重要部分。那么现在UEFI能做到这一点吗?怎么做到的?
BIOS的启动方式是读取硬盘上的第一个扇区并执行它;这个启动扇区又反过来定位并运行额外的代码。BIOS系统由于空间的限制,以及BIOS运行16位的代码,而现代电脑使用32位或64位的CPU,所以BIOS系统的限制性很强。相比之下,EFI(或UEFI,也就是EFI 2.x)通过从硬盘上的一个分区,即EFI系统分区(ESP)加载EFI程序文件(带.efi
文件名扩展名)来启动。这些EFI启动加载程序可以利用EFI启动服务的优势,比如从硬盘上读取文件。
作为一个实用的问题,如果你使用的是像Linux这样的操作系统,它有复杂的BIOS模式启动加载器,那么EFI模式启动很可能类似于BIOS模式启动,因为GRUB 2(Linux最流行的BIOS模式启动加载器)已经被移植到EFI下工作,许多Linux发行版默认在EFI系统上安装GRUB 2。不过,你可以用其他EFI启动加载器来替换或补充GRUB 2。事实上,Linux内核本身就可以成为EFI启动加载器;在3.3.0内核中加入了这样的代码。以这种方式使用,EFI本身可以加载并运行Linux内核,或者你可以使用第三方的启动管理器,如rEFInd或gummiboot,让你选择要启动的操作系统或内核。
- 我怎么知道我是用UEFI而不是BIOS启动的呢?
正如Root所说,固件的用户界面上有一些线索;但是,这些线索并不可靠,而且每台电脑都不一样。唯一可以确定的方法是检查计算机的启动方式。例如,在Linux中,一个名为/sys/firmware/efi
的目录的存在就是诊断性的。如果它存在,说明你是在EFI模式下启动的;如果不存在,说明你是在BIOS模式下启动的。(在某些情况下,这个目录可能不存在。)dmesg
输出中提到 EFI 的输出也是 EFI 模式启动的诊断性输出。在Windows中,boot磁盘的分区表是诊断性的,如果是GPT,则是EFI模式启动,如果是MBR,则是BIOS模式启动。
- 那么 “用BIOS启动 "和 "用UEFI启动 "的真正区别是什么呢?
EFI可以快,但这并不确定。最大的速度差异是在硬件初始化过程的早期。在我的系统中,这只是总启动时间的一小部分,所以减少硬件初始化时间,虽然很好,但并没有什么区别。毕竟我又不是每十分钟就要重启一次,毕竟。它通过要求启动加载器的数字 "签名 "来实现这一功能,而这反过来又要求内核的签名,依此类推。这应该会使恶意软件作者更难在预启动过程中插入他们的代码,从而提高安全性。这听起来不错,但这也使双启动配置变得复杂化,因为像GRUB这样的代码和Linux内核必须要签名。主要的Linux发行版厂商正在研究如何让这些要求对普通Linux用户来说不至于成为负担,他们已经准备好了一些初步的东西。不过目前来看,禁用安全引导是最简单的处理方式。这主要是对于搭载Windows 8的全新电脑来说是一个实际的问题,因为微软要求启用安全引导才能获得Windows 8认证。有些人把UEFI和安全启动混淆了(后者只是前者的一个功能),但作为BIOS和UEFI的区别值得一提,因为它给新的Windows 8电脑带来了一些问题。如果你的系统比较老,或者你对固件设置工具足够熟悉,可以禁用安全启动,那么这并不是一个真正的问题。因为MBR的最大容量为2TiB(假设标准扇区大小),这意味着UEFI是在超过2TiB的磁盘上启动Windows的实际需要。不过,你仍然可以在Windows下使用这样的大磁盘作为数据磁盘,而且你可以在BIOS下使用GPT在大磁盘上启动一些非微软的操作系统(如Linux和FreeBSD)。UEFI本身就足够新,以至于它的大多数实现都有很多bug,而那些没有的实现也有很多不同的地方,所以很难描述。因此,使用UEFI可能是一个挑战。OTOH,UEFI_是未来。它有一些适度的优势,其中一些优势在未来会变得更加重要(比如Windows的2TiB启动盘限制)。切换到UEFI启动将改变一些细节,如啟動過程,但你的整體計算經驗不會有太大的改變,一旦你克服任何開機問題,你可能會遇到。它们似乎允许你选择UEFI启动或 "传统 "启动,它们适用于显卡、网卡和其他各种PCI设备。这两类固件必须能够 "对话",才能让卡的固件发挥作用。这对于在操作系统启动前使用该卡是必要的–例如,在视频卡上显示固件的选项或启动管理器菜单,通过网卡执行网络启动,或从连接到磁盘控制器卡的硬盘启动。有些EFI提供了一些选项,可以在细微的基础上启用或禁用这种支持,正如你所观察到的那样。在某些情况下,EFI可以利用卡的BIOS模式支持,通过 "翻译 "调用,使其在EFI模式下工作。(这在显卡中很常见,比如说,你经常可以插上一块只有BIOS支持的旧显卡,而它的固件中除了BIOS支持外,仍然可以用EFI模式启动。)
我不知道你说的每一个设置都有什么作用。例如,我不知道这些选项中的 "BIOS only "是否会使显卡只在BIOS模式下工作,"translate "是否会使EFI在EFI模式下使用BIOS-mode调用,还是其他什么。事实上,考虑到其他EFI的用户界面领域缺乏标准,我估计不同的EFI在细节上会有差异,所以如果你需要知道具体的细节,可能需要参考你的电脑的文档或者实验。我见过一些电脑的两个不同的菜单中,有的电脑的选项听起来非常相似,这让事情更加复杂了。
我们都知道BIOS是访问启动选项的重要部分。那么现在UEFI能做到这一点吗?
UEFI是一个跨平台的固件接口,它取代了x86特有的固件标准BIOS。许多UEFI的实现还包括一个BIOS兼容性/“传统 "模式,以实现从MBR开机,并向操作系统展示一个类似BIOS的接口;但是,这不是标准所要求的。
如果你的主板是兼容UEFI的,提供了兼容/传统BIOS的启动方式,那么它的固件菜单会提供一些选择,比如设置一个默认的启动模式,甚至可以在UEFI或BIOS模式下启动单个设备:
- 那么 "用BIOS启动 "和 "用UEFI启动 "的真正区别是什么呢?
有很多区别:
问:大家都知道,BIOS是访问启动选项的重要组成部分。那么现在UEFI就能做到这一点?怎么做?"
答:这是一个术语的混淆。如:"进入BIOS改变blabla。" 政治上正确的说法是 “固件设置工具",是指你输入的那个东西。如果你说的是 "BIOS "与 "UEFI "的对比,那么它指的是其他的东西,即:启动执行环境。
**问:那么 "用BIOS引导 "和 "用UEFI引导 "有什么真正的区别?而用UEFI,这个环境更明确,更现代化,功能更丰富。