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

     不少同窗都发现了,在安装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已经变得日益不适用了。ide

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

       微软的态度
       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的公钥。orm

       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发行版才有能力购买数字证书,较小的发行版和用户本身定制的版本最终仍是须要有本身的公钥。it

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

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

相关文章
相关标签/搜索