UEFI、BIOS、Secure Boot的关系和知识介绍

从Windows 8操作系统时代开始,安装操作系统的方法也有了很大的改变,Windows 8采用了Secure Boot引导启动的方式,而不是过去Win XP和Win 7的Legacy启动方式,从而导致的问题是所有预装Windows 8/8.1系统的笔记本要安装Win7的话必须修改BIOS,给很多想更换操作系统的用户增加了一点小难度。

那么什么是Secure Boot呢?它和Windows 8还有UEFI启动有什么关系呢!接下来我们就来介绍下Secure Boot、UEFI、BIOS相关知识和各自之间的关系。(对于Secure Boot启动方式和egacy启动方式的差别,可以参考这篇文章《UEFI启动和Legacy启动的差别》)

BIOS和UEFI

所有电脑启动的时候,都会运行BIOS程序,用于初始化硬件。

BIOS是英文"Basic Input Output System"的缩略语,直译过来后中文名称就是"基本输入输出系统"。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重 要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

自从个人电脑诞生后,就一直如此。过去30年我们都在使用类似上图的画面,设置硬件参数。不用说,BIOS已经变得日益不适用了。

1998 年,Intel牵头,联合AMD、AMI、Apple、Dell、HP、IBM、Lenovo、Microsoft和Phoenix等业界主要厂商,开始 制定新一代BIOS。这个项目叫做"统一的可扩展固定接口"(Unified Extensible Firmware Interface),简称UEFI。2005年推出1.1版,目前是2.3版。

新型UEFI,全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface), 是一种详细描述全新类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上,从而使开机程序化繁为简,节省时间。

从2012年9月以来,电脑运行的已经不是BIOS,而是UEFI BIOS。等它运行结束,再载入操作系统。

微软强行部署Secure Boot

UEFI是一个很先进的、面向未来的规格。但是很长时间内无法推广,原因就是微软公司不积极。

Windows操作系统是桌面市场的主流系统,如果它不推广UEFI,就没有硬件厂商会跟进。所以,普通消费者对这个新规格所知甚少。

意想不到的变化,出现在2011年9月,微软毫无预兆地突然宣布,Windows 8将启用UEFI。

这本来是一件好事。但是,问题是微软感兴趣的不是整个UEFI,而是UEFI的一个子规格Secure Boot。它要强行部署Secure Boot。

Secure Boot

Secure Boot只是UEFI的一个部分。两者的关系是局部与整体的关系。

Secure Boot的目的,是防止恶意软件侵入。它的做法就是采用密钥。UEFI规定,主板出厂的时候,可以内置一些可靠的公钥。然后,任何想要在这块主板上加载的 操作系统或者硬件驱动程序,都必须通过这些公钥的认证。也就是说,这些软件必须用对应的私钥签署过,否则主板拒绝加载。由于恶意软件不可能通过认证,因此 就没有办法感染Boot。

这个设想是好的。但是,UEFI没规定哪些公钥是可靠的,也没规定谁负责颁发这些公钥,都留给硬件厂商自己决定。现在,微软就是要求,主板厂商内置Windows 8的公钥。

Windows 8/Windows8.1

首先明确,在不打开Secure Boot的情况下,Windows 8/8.1可以安装。这与安装以前版本的Windows没有差别。

但是,微软规定,所有预装Windows 8的厂商(即OEM厂商)都必须打开Secure Boot。因此,消费者购买一台预装Windows 8的台式机或笔记本,想要在上面再安装其他操作系统(包括以前版本的Windows)是不可能的,除非关闭Secure Boot,或者其他操作系统能够通过Windows 8/8.1公钥的认证。

如果选择关闭Secure Root,那么预装的Windows 8/8.1将无法使用,需要重新安装。

对Linux的影响

Secure Boot规格的本意是,让操作系统厂商自行选择公钥,通过认证。但是实际上,只有微软公司才有能力,让主板厂商内置它的公钥,其他公司都不具备这种能力。

根据微软针对OEM厂商的一则规定,Windows 8要求PC电脑采用UEFI(统一可扩展固件接口),这个接口将会替代PC机诞生以来历史悠久的BIOS固件设置。关于UEFI这个标准接口,是支持 Windows、Linux 和 OS X 操作系统的,只是微软要求预装Windows 8 的PC电脑需要支持安全性启动机制,启动过程中涉及到的软件/固件都必须打上CA数字签名,这样,对于Linux 这种开源的无签名的系统就会直接阻止。

因此,如果要在打开Secure Boot的主板上安装Linux系统,这个系统就必须通过Windows 8的认证。

目前,微软公司把Win8的数字签名外包给了Verisign。操作系统厂商想要通过认证,就必须花99美元,向Verisign买一张数字证书,嵌入自家的操作系统。

最新动态是,Linux的各个发行版之中,Ubuntu已经购买了数字证书,Fedora和SUSE计划购买,其他发行版还没做出决定。

因此,在预装Windows 8的电脑上安装Linux(或其他操作系统)的最佳做法,就是进入BIOS,关闭Secure Boot。但是,这意味着你花钱买来的Windows 8将无法使用。

目前看上去,Linux购买Windows8的数字证书,是眼下唯一可行的相对容易的解决方法。但是,这种做法不可接受。

首先,系统的公钥被微软控制,后果难以预料。如果微软决定更换和废除这个公钥,Linux就要被迫跟进。
其次,Linux的启动管理器Grub是GPL许可证,该许可证(第三版)明文禁止软件使用密钥配合硬件阻止一部分用户的使用,因此要改用非GPL许可证的启动管理器。
再次,只有几个较大的Linux发行版才有能力购买数字证书,较小的发行版和用户自己定制的版本最终还是需要有自己的公钥。

总结

Secure Boot的用意是保证系统安全,但现在似乎成了厂商保护市场垄断、阻碍竞争一种手段。

除了微软公司,苹果公司也有这种倾向。在新一代的iPhone和iPad上面安装其他操作系统,似乎是不可能的。(不过一旦iPhone和iPad上面安能装其他操作系统,估计苹果就不是今天这个样子了,苹果玩的就是封闭!其实垄断也是有好处的!)

自由软件基金会呼吁反Secure Boot垄断,就是基于这种考虑:用户应该拥有硬件和软件的使用自由,操作系统应该是开放的,而不是封闭的。

作为一种规格,自由软件基金会并不反对Secure Boot,它只是要求硬件厂商提供便利,使得用户可以更容易地安装和管理公钥,从而使用硬件平台对所有操作系统(以及设备驱动)保持开放

时间: 2024-08-08 13:45:33

UEFI、BIOS、Secure Boot的关系和知识介绍的相关文章

[Windows_UEFI & BIOS]详解 Secure Boot 和 Winows 8 及 UEFI启动 的关系

一.自由软件基金会的呼吁 上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人(目前是4万). 我觉得,这个呼吁很重要.如果我们不支持,未来就无法自由地使用硬件.安装自己想要的软件. 这绝非危言耸听.而且,由于这个事件直接与Windows 8操作系统有关,因此意味着一切已经迫在眉睫了. 下面,我根据自己的理解,谈谈这到底怎么回事.如果你是一个Linux爱好者,或者喜欢自己安装操作系统,下面的内容与你直接相关. 二.

UEFI secure boot

UEFI (replaces BIOS) has a firmware validation process that will operate a hardware detect by Trusted Platform Module(TPM) , called UEFI Secure Boot, which is defined in Chapter 27 of the UEFI 2.3.1 specification. Secure boot defines how platform fir

新一代UEFI BIOS UEFI基础知识介绍 (1)

随着越来越多的电脑采用"UEFI BIOS",只写重点, UEFI全名"统一的可扩展固件接口",相对于"Legacy BIOS"(传统BIOS )有着更多的优势: 模块化设计 .图形化的界面.更强的兼容性和拓展性. Legacy BIOS会读取磁盘的主引导记录"MBR",进而读取"启动文件"最后Windows系统:UEFI BIOS会自动读取"FAT格式的特定分区(通常是ESP分区)"下

UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法

有关UEFI BIOS基础知识的简介,一年前在网易博客做过详细的概述.鉴于某些网友仍然对UEFI下Windows的启动过程不甚了解,虽然网上有各式各样的启动修复工具,但是对于新手来说,如果不明白其中的原理,使用工具也会畏首畏尾.十分盲目.现在详细介绍一下UEFI下Windows的启动流程以及引导文件修复方法.有关UEFI简介可以参考本博客的一篇文章: UEFI入门科普:http://www.heu8.com/117.html 在上述文章中已经展示出了UEFI下Windows的启动流程: UEFI

GPT vs MBR 分区 ,,, Legacy BIOS vs UEFI BIOS

MBR与GPT两种磁盘分区格式的区别 http://itoedr.blog.163.com/blog/static/120284297201378114053240 GPT Partition Table Scheme 一:UEFI BIOS可以说是legacy BIOS的继承者,也就是传统BIOS的后代咯.以后的主流模式. 二:MBR与GPT的区别 1.传统的MBR最大支持2TB的单分区,最多能设置4个主分区 2.GPT支持2TB以上的单分区,理论上能设置128个主分区(硬盘的4k对齐与GPT

新一代UEFI BIOS “CSM”对安装Windows的影响(11)

CSM全名Compatibility Support Module即兼容性支持模块,是UEFI的一个特殊模块,对于不支持UEFI的系统提供兼容性支持.目前Windows8完全支持UEFI,Windows7的64位不完全支持UEFI.因此UEFI BIOS下安装Windows7必须开启CSM,多数电脑能自动或手动开启,少数电脑则强制关闭CSM. 本文专门强调"CSM"来引起大家的重视,因为网上对此的解释几乎为0. 预装Windows8的品牌机都采用UEFI BIOS,第一次使用的朋友重装

使用Secure Boot后,导致VMware无法启动虚拟机

最初安装vmware时就报错 Gtk-Message: Failed to load module "canberra-gtk-module": libcanberra-gtk-module.so:cannot open shared object file: No such file or directory Gtk-Message: Failed to load module "pk-gtk-module": libpk-gtk-module.so: canno

小米笔记本怎么关闭secure boot

关闭Secure Boot的步骤: 一.关闭 "快速启动" 功能 1.右键-开始菜单- 电源选项,进入后 点击"选择电源按钮的功能". 2.进入电源选项设置后,点击"更改当前不可用的设置",再把"启用快速启动(推荐)"前边的勾去掉 (若没有该选择则不需要操作,直接略过进行第二步). 二.重启电脑,进入BIOS 1.台式机:重启电脑后不断地按键盘右下角的"Del"键即可进入. 2.笔记本:重启电脑后不断地按&

师兄U盘启动盘制作工具,支持UEFI+BIOS

官网 http://www.sspezz.com 官网方下载地址 : http://yjcz.sspezz.com/DSXPEinst2.exe百度云下载地址:  http://pan.baidu.com/s/1c1q1Kmk文件大小:  649 Mb 1.有三个PE选择[Win2003pe . Win8pe 32位 . Win10pe 64位]内核小 加载快!2.无推广软件, 可以设置个人主页 . 360联盟推广主页更方便3.Win10pe 支持PE上网功能   , 部分声卡支持  ,10PE