如今新的Windows PC都是带有UEFI固件的,而且也开启了Secure Boot功能。Secure Boot可以拒绝引导那些未被UEFI秘钥签名的操作系统,换句话说,只有微软认证的软件才可以被引导。
微软授权给PC厂商允许用户关闭Secure Boot功能,所以你还是可以关闭它的,或者在UEFI增加自定义的公钥绕开这个限制。但是,那些装着Windows RT的ARM电脑是无法关闭Secure Boot的。
Secure Boot是如何工作的
那些预装Windows 8 和Windows 8.1的电脑现在都用UEFI来代替BIOS。默认情况下,UEFI固件只会加载那些被签名的引导程序。这个功能被称为“Secure Boot” 或“Trusted Boot”。在缺少Secure Boot功能的传统PC机上,恶意的后门程序可以加载自身,进而摇身一变伪装成一个引导程序。这样的话,BIOS就会在启动的时候加载后门程序,这样它就可以躲过操作系统,把自己隐藏得很深。
Secure Boot 让这一切都变得不再可能——计算机只会引导受信任的程序,所以那些恶意的引导程序就无法感染这个系统。
在一台 Intel x86 PC机(非ARM PC),你可以控制Secure Boot。你可以选择关闭它,或者往里面增加自己的公钥。举个例子,开源组织可以使用自己的密钥来保证只有合法的Linux 操作系统可以被引导。
安装Linux的几种方法
在支持Secure Boot的电脑上,你可以用以下几种方法来安装Linux:
- 选择一个支持Secure Boot的Linux版本:较新的Ubuntu,从12.04.2 LTS和12.10开始,都可以正常被引导和安装在有Secure Boot功能的PC机中。这是因为Ubuntu的第一阶段EFI引导程序是被微软签名认证过的。然而,有Ubuntu开发者指出,Ubuntu的引导程序并没有用这个key进行签名,而是使用了微软“推荐”的一个简单的key。这意味着Ubuntu可能不能再所有的UEFI机器上运行,用户可能还是得把Secure Boot关掉。
- 关闭Secure Boot:Secure Boot是可以被关闭的,代价是这会丧失认证功能,使得你的电脑可以引导任何程序,这和传统的BIOS PC机没有任何区别。如果你想安装那些本身不支持Secure Boot的Windows版本,比如Windows 7,那么你也得关闭它。
- 往UEFI固件增加一个公钥:某些Linux发型版可能会用它们自己的秘钥对引导程序进行签名,但是这些对应的公钥并没有加入到你的UEFI固件中。这种情况现在来说并不常见。
你应该确认你的Linux版本推荐你使用哪种方法。如果你需要引导一个老一点的Linux版本的话,你可能连相关提示都看不到,这种情况下你还是关闭Secure Boot吧。
你应该可以顺利的安装Ubuntu最近的版本——无论是LTS还是更新的版本,到大多数新型的PC机上。请参看最后一个部分,那里将会告诉你如何从一个可移动设备进行引导。
如何关闭Secure Boot
你可以在UEFI固件设置菜单那里设置Secure Boot。为了看到这个菜单,你需要打开Windows 8的引导菜单。打开设置面板——按Windows Key + I —— 单击Power,然后在点击重新启动按钮时按住Shift键不动。
你的电脑将会重启并进入一个高级选项菜单。选择Troubleshoot —— Advanced options,然后选择UEFI Setting。(在某些Windows 8机器中,你可能看不到这个菜单,请查阅你的手册)
之后你会进入UEFI Setting菜单,在这里你可以选择关闭Secure Boot或者增加你自己的key。
从可移动设备引导