在Windows 8 PC上安装Linux的四种方法
微软RTM版本的Windows 8相信已经有很多人试用过了,如果在Windows 8 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。