兼谈在Win8上安装Linux

  一、自由软件基金会的呼吁

  上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人(目前是4万)。我觉得,这个呼吁很重要。如果我们不支持,未来就无法自由地使用硬件、安装自己想要的软件。

  这绝非危言耸听。而且,由于这个事件直接与Windows 8操作系统有关,因此意味着一切已经迫在眉睫了。

  下面,我根据自己的理解,谈谈这到底怎么回事。如果你是一个Linux爱好者,或者喜欢自己安装操作系统,下面的内容与你直接相关。

  二、BIOS和UEFI

  所有电脑启动的时候,都会运行BIOS程序,用于初始化硬件。


  自从个人电脑诞生后,就一直如此。过去30年我们都在使用类似上图的画面,设置硬件参数。不用说,BIOS已经变得日益不适用了。

  1998年,Intel牵头,联合AMD、AMI、Apple、Dell、HP、IBM、Lenovo、Microsoft和Phoenix等业界主要厂商,开始制定新一代BIOS。这个项目叫做"统一的可扩展固定接口"(Unified Extensible Firmware Interface),简称UEFI。2005年推出1.1版,目前是2.3版。


  将来一开机,电脑运行的将不是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将无法使用,需要重新安装。

  六、实例:微星主板

  ITwire的记者Sam Varghese,做了一个实验,想了解在打开Secure Boot的主板上,如何安装操作系统。

  实验对象是微星公司Z77A-G41主板。它带有Secure Boot功能,默认是关闭的。

  第一步,开机后按Delete键,进入BIOS,选择Windows 8 Configration选项。


  第二步,选择最后一个Secure Boot选项。


  第三步,打开(Enabled)Secure Boot功能,然后选择最后一个Key Management(密钥管理)选项。


  第四步,输入厂商提供的公钥,也就是Windows 8的公钥(目前,任何其他操作系统都没有这类公钥。)


  第五类,安装Windows 8之后,在命令行界面输入confirm-securebootuefi命令,结果为true,表示secureboot功能打开。


  根据Sam Varghese测试,打开Secure Boot之后,再安装其他操作系统(包括以前版本的Windows),全部被主板拒绝。

  七、对Linux的影响

  Secure Boot规格的本意是,让操作系统厂商自行选择公钥,通过认证。但是实际上,只有微软公司才有能力,让主板厂商内置它的公钥,其他公司都不具备这种能力。

  因此,如果要在打开Secure Boot的主板上安装Linux系统,这个系统就必须通过Windows 8的认证。

  目前,微软公司把Windows 8的私钥委托给Verisign,颁发认证。操作系统厂商想要通过认证,就必须花99美元,向Verisign买一张数字证书,嵌入自家的操作系统。

  最新动态是,Linux的各个发行版之中,Ubuntu已经购买了数字证书,Fedora和SUSE计划购买,其他发行版还没做出决定。

  因此,在预装Windows 8的电脑上安装Linux(或其他操作系统)的最佳做法,就是进入BIOS,关闭Secure Boot。但是,这意味着你花钱买来的Windows 8将无法使用,而且对于普通用户,这种操作有一定难度。

  八、为什么Windows 8的公钥不可接受?

  目前看上去,Linux购买Windows 8的数字证书,是眼下唯一可行的相对容易的解决方法。但是,这种做法不可接受。

  首先,系统的公钥被微软控制,后果难以预料。如果微软决定更换和废除这个公钥,Linux就要被迫跟进。

  其次,Linux的启动管理器Grub是GPL许可证,该许可证(第三版)明文禁止软件附带非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上面安装其他操作系统,似乎是不可能的。

  自由软件基金会呼吁反Secure Boot垄断,就是基于这种考虑:用户应该拥有硬件和软件的使用自由,操作系统应该是开放的,而不是封闭的。

  作为一种规格,自由软件基金会并不反对Secure Boot,它只是要求硬件厂商提供便利,使得用户可以更容易地安装和管理公钥,从而使用硬件平台对所有操作系统(以及设备驱动)保持开放。

  我认为,这是完全合理的要求,对于保证用户的自由和业界的健康生态极为重要。让我们一起支持这个行动(签名和捐助),密切关注事态下一步的发展。

时间: 2024-08-26 18:00:56

兼谈在Win8上安装Linux的相关文章

反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux

一.自由软件基金会的呼吁 上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人(目前是4万). 我觉得,这个呼吁很重要.如果我们不支持,未来就无法自由地使用硬件.安装自己想要的软件. 这绝非危言耸听.而且,由于这个事件直接与Windows 8操作系统有关,因此意味着一切已经迫在眉睫了. 下面,我根据自己的理解,谈谈这到底怎么回事.如果你是一个Linux爱好者,或者喜欢自己安装操作系统,下面的内容与你直接相关. 二.

在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上可能会更糟

在U盘上安装Linux系统解决方案

  在U盘上安装Linux系统解决方案 作为一名IT菜鸟,用PE维护系统已经满足不了我的需求,把windows装进U盘又太俗,只能把目光转向Linux了. 大致从网上搜索了一下教程,尽是些N年前老掉牙的教程.别的不说,那个麻烦劲就让人吐了. 时代在发展,科技在进步,其实简单的方法早就有了,虽然网上也有一些,但是并不全面,造成很多问题.现在,本小菜把它总结出来. www.2cto.com 准备工作: | Unetbootin http://dl.dbank.com/c0j5a8kuom:Linux

如何在MacBook Pro Retina上安装Linux

如何在MacBook Pro Retina上安装Linux MacBook Pro拥有非常强大的配置,但是有些人想强上加强,他们想用Linux系统. 不管您是想要更开放和个性化的操作系统又或者是您只想要使用某些在Linux特有的软件,您都会想要在您的MacBook上安装Linux. 可惜的是MacBook Pro们可是一块块密不透风砖头,让您想装其他系统又无从下手.尤其是Linux,比在MacBook上装Windows还难. Boot Camp对于Linux来说也没有什么用处. 虽然如此,但并不

如何在Ubuntu/CentOS上安装Linux内核4.0

如何在Ubuntu/CentOS上安装Linux内核4.0 大家好,今天我们学习一下如何从Elrepo或者源代码来安装最新的Linux内核4.0.代号为'Hurr durr I'm a sheep'的Linux内核4.0是目前为止最新的主干内核.它是稳定版3.19.4之后发布的内核.4月12日是所有的开源运动爱好者的大日子,Linux Torvalds宣布了Linux内核4.0的发布,它现在就已经可用了.由于包括了一些很棒的功能,例如无重启补丁(实时补丁),新的升级驱动,最新的硬件支持以及很多有

怎样在 Chromebook 上安装 Linux 系统?

首先,你得有个 Chromebook. 其次,你得有不用 Chrome OS 的理由--为了自由.自由.自由. Chromebook 不但非常酷,而且极其便宜,它运行的操作系统是 Chrome OS ,这是一个基于 Linux 内核的操作系统,是由 Google 开发的. 不过,有时候你会发现 Chromebook 所运行的操作系统限制很多.因此,许多用户会在上面安装另外的 GNU/Linux 操作系统,要么是双引导,要么干脆就整个替换了 Chrome OS.已经有很多教程教你如何在你的 Chr

在u盘上安装linux 打造你的portable linux system.

下面和大家分享一下在 u 盘安装 linux 的步骤(SD卡未试过) . 首先需要有一台安装了linux的PC机,我的是debian, 当然还是必须有一个U盘, 大小至少1G吧. 把U盘插到PC机上, fdisk1个或2个分区, 并把第一个分区设置成可启动分区. 格式化分区. mkfs.ext3 /dev/sdb1  安装extlinux到PC机上. apt-get install extlinux syslinux-common.   注:  extlinux 是syslinux的改进, 可以

如何在Win8上安装本地回环网卡

根据组网的需要,不免要用到如在windows 7上的本地回环网卡. 在windows 7的本地回环网卡的安装方法老方已在BLOG中介绍过. 在windows 8中有何不同呢? 这两种系统上的安装方式均相同,均可以通过设备管理器及命令行的方式来进行. 但不同之处在于"本地回环网卡名称"的变化: 方法一:通过设备管理器进行 1. 打开设备管理器,按下图操作 设备管理器-机器名-右健-添加过时硬件 2. 点击"添加过时硬件"后,就出现如下图所示界面: 本界面接下来的操作和

怎样在 ubuntu 上安装 Linux 3.11 内核

Linus Torvalds 已经发布了最新的 Linux 3.11 内核,有很多童鞋也和我一样很像尝尝鲜,但是我要说升级内核有很大风险,升级之后可能无法启动系统.使用 Ubuntu 官方提供的 DEB 安装包,打开终端使用命令下载: 32 位系统下载: wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/linux-headers-3.11.0-031100-generic_3.11.0-031100.201309021