很多同学都发现了,在安装Windows 8或是带UEFI启动的电脑时要更改BIOS里的Secure Boot值!比如戴尔的INS14R-5420,INS15R-5520,INS14R-5421,INS660,V270,V5460等机型!什么Secure Boot呢!它和Windows 8还有UEFI启动有什么关系呢!

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。等它运行结束,再载入操作系统。

微软的态度
       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
       首先明确,在不打开Secure Boot的情况下,Windows 8可以安装。这与安装以前版本的Windows没有差别。但是,微软规定,所有预装Windows 8的厂商(即OEM厂商)都必须打开Secure Boot。因此,消费者购买一台预装Windows 8的台式机或笔记本,想要在上面再安装其他操作系统(包括以前版本的Windows)是不可能的,除非关闭Secure Boot,或者其他操作系统能够通过Windows 8公钥的认证。如果选择关闭Secure Root,那么预装的Windows 8将无法使用,需要重新安装。

对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对移动设备的影响,比PC还要严重。微软明确规定,所有PC主板必须带有关闭Secure Boot的选项。这不是因为微软的善意,而是因为如果不这样做,它一定会遭到反垄断起诉。但是,在移动设备领域,微软不占优势,所以它就没有顾虑,规定所有安装Windows的移动设备的Secure Boot必须打开,而且没有关闭选项。
       微软的平板电脑Surface RT就是一个最好的例子。它的Secure Boot是打开的,没法关闭,而且微软用了一个不同于桌面电脑Windows 8操作系统的公钥,且不提供获得数字证书的途径。因此理论上,用户不可能在Surface RT上安装其他操作系统。还有报道称,使用Windows Phone 8操作系统的智能手机也将采用这种做法。那么,用户也就不可能在Windows Phone上安装其他操作系统了。

总结
       Secure Boot的用意是保证系统安全,但现在似乎成了厂商保护市场垄断、阻碍竞争一种手段。除了微软公司,苹果公司也有这种倾向。在新一代的iPhone和iPad上面安装其他操作系统,似乎是不可能的。(不过一旦iPhone和iPad上面安能装其他操作系统,估计苹果就不是今天这个样子了,苹果玩的就是封闭!其实垄断也是有好处的!)
       自由软件基金会呼吁反Secure Boot垄断,就是基于这种考虑:用户应该拥有硬件和软件的使用自由,操作系统应该是开放的,而不是封闭的。作为一种规格,自由软件基金会并不反对Secure Boot,它只是要求硬件厂商提供便利,使得用户可以更容易地安装和管理公钥,从而使用硬件平台对所有操作系统(以及设备驱动)保持开放。

转载于:https://blog.51cto.com/qinqisir/1792163

(转)详解 Secure Boot 和 Winows 8 及 UEFI启动的关系相关推荐

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

    一.自由软件基金会的呼吁 上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人(目前是4万). 我觉得,这个呼吁很重要 ...

  2. R语言rms包生存分析之限制性立方样条(RCS, Restricted cubic spline)分析详解实战:拟合连续性自变量和事件风险之间的关系:基于survival包lung数据

    R语言rms包生存分析之限制性立方样条(RCS, Restricted cubic spline)分析详解实战:拟合连续性自变量和事件风险之间的关系:基于survival包lung数据 目录

  3. [转]文件IO详解(二)---文件描述符(fd)和inode号的关系

    原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...

  4. ARM(IMX6U)裸机之I.MX6ULL启动头文件详解(内部BOOT ROM、IVT + Boot data + DCD + led.bin)

    参考:Linux之ARM(IMX6U)裸机之I.MX6ULL镜像烧写以及启动头文件的详解 作者:一只青木呀 发布时间: 2020-08-09 17:10:00 网址:https://blog.csdn ...

  5. U-Boot 之五 详解 U-Boot 及 SPL 的链接脚本、启动流程

      最近,工作重心要从裸机开发转移到嵌入式 Linux 系统开发,在之前的博文 Linux 之八 完整嵌入式 Linux 环境.(交叉)编译工具链.CPU 体系架构.嵌入式系统构建工具 中详细介绍了嵌 ...

  6. 详解 HTTPS、TLS、SSL、HTTP区别和关系

    一.什么是HTTPS.TLS.SSL HTTPS,也称作HTTP over TLS.TLS的前身是SSL,TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SS ...

  7. 万字长文:详解 Spring Boot 中操作 ElasticSearch

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 超级小豆丁 来源 | http://www.m ...

  8. elasticsearch 客户端工具_万字长文:详解 Spring Boot 中操作 ElasticSearch

    点击上方"小强的进阶之路",选择"星标"公众号 优质文章,及时送达 预计阅读时间: 15分钟 一.ElasticSearch 简介 1.简介 ElasticSe ...

  9. java中的controller_详解Spring Boot中Controller用法

    Controller Controller是SpringBoot里最基本的组件,他的作用是把用户提交来的请求通过对URL的匹配,分配个不同的接收器,再进行处理,然后向用户返回结果.他的重点就在于如何从 ...

最新文章

  1. 事件委托技术原理和使用(js,jquery)
  2. MongoDB导出场景查询优化 #1
  3. BZOJ1782[USACO 2010 Feb Gold 3.Slowing down]——dfs+treap
  4. packageinfo.java_package-info.java文件详解
  5. [BZOJ 2594] [Wc2006]水管局长数据加强版 【LCT】
  6. html复选框不可修改,如何用【伪类】成功修改HTML checkbox默认样式?(新checkbox覆盖老checkbox无法点击的问题)...
  7. android studio上拉加载,AndroidStudio的PullToRefreshListView简单使用
  8. 安装java虚拟机_JAVA虚拟机的安装以及JAVA的环境配置
  9. 阈值分割--大津阈值法(OSTU)
  10. 计算机考试模拟软件双击为什么打不开,win7系统双击“计算机”打不开的解决方法...
  11. Tippy.js - 免费开源且高度可定制的气泡提示独立组件
  12. 使用EasyUI固定表格的行或列
  13. 【金三银四】一个问题就知道你会不会CSS了
  14. 【洛谷 1516】青蛙的约会
  15. html期末作业代码网页设计——月饼美食食品模板(9页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程食品设计网页规划与设计 计食品模板设计源码
  16. 搜索技术-全文检索概述
  17. 景深决定照相机什么特性_2017年摄影专业单独考试试题库——简答
  18. Android中visibility属性VISIBLE、INVISIBLE、GONE的区别
  19. 车载TBOX嵌入式设备软件的功能测试
  20. 针对CSS说一说|技术点评

热门文章

  1. 微信支付退款 java_Java后台实现微信支付和微信退款
  2. 微信公众号没多少人关注怎么办?
  3. window远程桌面连接 Ubuntu 14.04
  4. 将二进制数转化为十进制
  5. 一起研究ORB-SLAM(二)---Tracking线程
  6. 如何使iPhone震动
  7. 用计算机打字英语,计算机英语常用词汇_1000-1695_纯英文版
  8. EC中的QEvent(SCI中断)
  9. 基于Ana conda的环境的Tensorflow安装
  10. 华为freebuds 5无线充电充不上电怎么办?