之前有消息称windows 8的安全机制将会阻碍其他操作系统的启动。现在,很多想在mac上运行linux的人使用兼容支持模块csm,提供mac上bios的仿真。这种方式很麻烦,运行得不好,在secure boot windows 8 pc上可能会更糟糕。同时随着微软windows 8 发布的日子越来越近,windows 8 中的 uefi 功能和效应也会慢慢显示出来,所以在 pc 上安装 linux 将会越来越困难,那我们该怎么办呢?下面提供四种方法。
在uefi上启动linux
首先,需要在uefi上启动linux。因为除了mac,很少有pc使用uefi替换bios,所以大家都不怎么关心从uefi启动linux。
现在,很多想在mac上运行linux的人使用兼容支持模块csm,提供mac上bios的仿真。这种方式很麻烦,运行得不好,在secure boot windows 8 pc上可能会更糟糕。
有其他更好的方式。目前最佳的方式是rod smith的efi-booting ubuntu on a mac指南。其他的,如linux内核开发者greg kroah-hartman的技巧也值得一试。最大的难题还是在于secure boot。
保护启动与linux的安全
理想情况是微软及其合作伙伴会采用linux foundation所说的方式去部署secure boot,方便linux的安装,但这种情况是不会发生的。
所以,我们有三种不同的替换方式。这时候,也不知道哪一种能成功。可能最终都会使用上。这让人很不爽,不过随着微软在该领域继续占优势,linux开发者就不得不在最艰难的情形下努力做好。
首先,linux开发者需要处理好该问题。linux基金会技术顾问委员会的james bottomley发布了intel tianocore uefi启动代码和一些linux程序员能使用的代码,以便消除windows 8的 secure boot限制。
intel tianocore是英特尔uefi的开源镜像。直到最近,这个镜像也没有微软用于secure boot的验证码,现在有这个功能了。将该功能交付给开发者极大扩展了使用uefi secure boot的人群。
这能让无权访问uefi安全启动硬件的程序员拥有一个“虚拟平台,让他们能体验自己的解决方案。但这是一个两难的选择,做安全启动的tianocore固件才出现几周,签名工具还未出现,所以还有很长一段路要走。
即使如此,开发者使用自己的安全配件锁定安全启动虚拟平台,对于利用自己密匙使用uefi安全的开发者来说,这是一大进步。
第一种方式:为某些版本创建uefi secure boot密匙。这种方法也是canonical对ubuntu的做法。有些人,如自由软件基金会的讨厌这种方法。
fedora、红帽的社区linux版本决定使用微软的密匙签名服务verisign。所以在fedora的计划中,fedora将使用微软的系统创建自己的windows 8系统,兼容uefi安全启动密匙。
当然在许多开源圈子里,这个方法如浮云。红帽开发者matthew garrett为其辩护,说:“它比现有的任何方案都便宜。它能与大量硬件兼容,还能让fedora避免比其他linux拥有特权。
坦白说,就如ubuntu缔造者mark shuttleworth所讲,任何计划都不可能完美,但“secure boot的缺陷在其设计,最终将在每台pc上授权微软的密匙。secure boot对在关键元素上支持多个签名的无能为力意味着这个选项受限,但我们一直在追求一个好的结果。”
当然还有另一种方法:使用开源的软硬件。当然这也是linux pc开源厂商乐于想见的结果。
有了uefi的secure boot,那么linux版本就不需要与微软签名或者使用它们的安全启动。使用开源引导模式启动的计算机就好了。确实,uefi的secure boot在原始设备制造商级别实施,所有新购买的pc都带有secure boot。
所以开源厂商肯定不愿意禁用或使用fedora与ubuntu的方法。禁用可以,但禁用一些能保护安全的功能很傻。长此以往让人担忧,运行 linux的2012年后的机器键盘起初很简单,但之后就会愈加复杂。对于oem也影响重大。让人担心桌面linux对于新用户来说太难了,会逐渐加重 linux的衰落。
总结,下面几点就是当今linux在windows 8 pc上的情形:
希望oem在预启动期间就禁用secure boot。如果是这样,那么在windows 8 pc安装linux就不会比在windows 7系统上那样困难。然而,这在windows rt arm系统上没有这个选项。
使用linux,如fedora,可使用微软自己的windows 8签名工具提供一个secure boot兼容密匙。
使用linux版本,如ubuntu,本身就能提供secure boot兼容密匙。
弃用windows 8系统,使用开源硬件。
某些linux发行版本,如opensuse,还不知道他们该如何应对这样的情况。
目前为止,也不知道如何在windows 8笔记本或桌面运行linux。这得取决于oem厂商如何去处理secure boot。
<b>原文发布时间为:2012-08-20</b>
<b>本文来自云栖社区合作伙伴“linux中国”</b>