如果我買了一臺裝有Windows8和secure boot的電腦,我還能安裝linux嗎?

新的UEFI安全引導系統在windows8中引起了很大的混亂,尤其是在雙載入程式中。請繼續閱讀,以澄清有關Windows8和Linux雙引導的誤解。...

如果我買了一臺裝有Windows8和secure boot的電腦,我還能安裝linux嗎?

新的UEFI安全引導系統在windows8中引起了很大的混亂,尤其是在雙載入程式中。請繼續閱讀,以澄清有關Windows8和Linux雙引導的誤解。

今天的問答環節是由SuperUser提供的,SuperUser是Stack Exchange的一個分支,是一個由社群驅動的問答網站分組。

問題

超級使用者讀者harshak對新的UEFI系統很好奇。他寫道:

I’ve heard a lot about how Microsoft is implementing UEFI Secure Boot in Windows 8. Apparently it prevents “unauthorized” bootloaders from running on the computer, to prevent malware. There’s a campaign by the Free Software Foundation against secure boot, and a lot of people have been saying online that it’s a “power grab” by Microsoft to “eliminate free operating systems”.

If I get a computer that has Windows 8 and Secure Boot preinstalled, will I still be able to install Linux (or some other OS) later? Or does a computer with Secure Boot only ever work with Windows?

那交易是什麼?雙引導者真的不走運嗎?

答案

超級使用者貢獻者Nathan Hinkle對UEFI是什麼和不是什麼進行了精彩的概述:

First of all, the simple answer to your question:

  • If you have an ARM tablet running Windows RT (like the Surface RT or the Asus Vivo RT), then you will not be able to disable Secure Boot or install other OSes. Like many other ARM tablets, these devices will only run the OS they come with.
  • If you have a non-ARM computer running Windows 8 (like the Surface Pro or any of the myriad ultrabooks, desktops, and tablets with an x86-64 processor), then you can disable Secure Boot completely, or you can install your own keys and sign your own bootloader. Either way, you can install a third party OS like a Linux distro or FreeBSD or DOS or whatever pleases you.

Now, on to the details of how this whole Secure Boot thing actually works: There’s a lot of misinformation about Secure Boot, especially from the Free Software Foundation and similar groups. This has made it hard to find info about what Secure Boot actually does, so I’ll try my best to explain. Note that I have no personal experience with developing secure boot systems or anything like that; this is just what I’ve learned from reading online.

First of all, Secure Boot is not something that Microsoft came up with. They’re the first to widely implement it, but they didn’t invent it. It’s part of the UEFI specification, which is basically a newer replacement for the old BIOS that you’re probably used to. UEFI is basically the software that talks between the OS and the hardware. UEFI standards are created by a group called the “UEFI Forum“, which is made up of computing industry representatives including Microsoft, Apple, Intel, AMD, and a handful of computer manufacturers.

Second most important point, having Secure Boot enabled on a computer does not mean that computer can never boot any other operating system. In fact, Microsoft’s own Windows Hardware Certification Requirements state that for non-ARM systems, you must be able to both disable Secure Boot and change the keys (to allow other OSes). More on that later though.

What does Secure Boot do?

Essentially, it prevents malware from attacking your computer through the boot sequence. Malware that enters through the bootloader can be very difficult to detect and stop, because it can infiltrate low-level functi*** of the operating system, keeping it invisible to antivirus software. All that Secure Boot really does is it verifies that the bootloader is from a trusted source, and that it hasn’t been tampered with. Think of it like the pop-up caps on bottles that say “do not open if lid is popped up or seal has been tampered with”.

007Ys3FFgy1gphw4a259vj308x06kglo

At the top level of protection, you have the platform key (PK). There is only one PK on any system, and it is installed by the OEM during manufacturing. This key is used to protect the KEK database. The KEK database holds Key Exchange Keys, which are used to modify the other secure boot databases. There can be multiple KEKs. There is then a third level: the Authorized Database (db) and the Forbidden Datbase (dbx). These contain information about Certificate Authorities, additional cryptographic keys, and UEFI device images to allow or block, respectively. In order for a bootloader to be allowed to run, it must be cryptographically signed with a key that is in the db, and is not in the dbx.

007Ys3FFgy1gphw4aiht1j30bq0a174g

Image from Building Windows 8: Protecting the pre-OS environment with UEFI

How this works out on a real-world Windows 8 Certified system

The OEM generates its own PK, and Microsoft provides a KEK that the OEM is required to pre-load into the KEK database. Microsoft then signs the Windows 8 Bootloader, and uses their KEK to put this signature in the Authorized Database. When UEFI boots the computer, it verifies the PK, verifies Microsoft’s KEK, and then verifies the bootloader. If everything looks good, then the OS can boot.

007Ys3FFgy1gphw4ayisjj30g304lt8w Image from Building Windows 8: Protecting the pre-OS environment with UEFI

Where do third party OSes, like Linux, come in?

First, any Linux distro could choose to generate a KEK and ask OEMs to include it in the KEK database by default. They would then have every bit as much control over the boot process as Microsoft does. The problems with this, as explained by Fedora’s Matthew Garrett, are that a) it would be difficult to get every PC manufacturer to include Fedora’s key, and b) it would be unfair to other Linux distros, because their key wouldn’t be included, since **aller distros don’t have as many OEM partnerships.

What Fedora has chosen to do (and other distros are following suit) is to use Microsoft’s signing services. This scenario requires paying $99 to Verisign (the Certificate Authority that Microsoft uses), and grants developers the ability to sign their bootloader using Microsoft’s KEK. Since Microsoft’s KEK will already be in most computers, this allows them to sign their bootloader to use Secure Boot, without requiring their own KEK. It ends up being more compatible with more computers, and costs less overall than dealing with setting up their own key signing and distribution system. There are some more details about how this will work (using GRUB, signed Kernel modules, and other technical info) in the aforementioned blog post, which I recommend reading if you’re interested in this sort of thing.

Suppose you don’t want to deal with the hassle of signing up for Microsoft’s system, or don’t want to pay $99, or just have a grudge against large corporati*** that start with an M. There is another option to still use Secure Boot and run an OS other than Windows. Microsoft’s hardware certification requires that OEMs let users enter their system into UEFI “custom” mode, where they can manually modify the Secure Boot databases and the PK. The system can be put into UEFI Setup Mode, where the user could even specify their own PK, and sign bootloaders themselves.

Furthermore, Microsoft’s own certification requirements make it mandatory for OEMs to include a method to disable Secure Boot on non-ARM systems. You can turn Secure Boot off! The only systems where you can’t disable Secure Boot are ARM systems running Windows RT, which function more similarly to the iPad, where you can’t load custom OSes. Although I wish that it would be possible to change the OS on ARM devices, it is fair to say that Microsoft is following the industry standard with regard to tablets here.

So secure boot is not inherently evil?

So as you can hopefully see, Secure Boot is not evil, and is not restricted only to use with Windows. The reason the FSF and others are so upset about it is because it does add extra steps to using a third-party operating system. Linux distros may not like paying to use Microsoft’s key, but it is the easiest and most cost-effective way to get Secure Boot working for Linux. Fortunately, it is easy to turn Secure Boot off, and possible to add different keys, thus avoiding the need to deal with Microsoft.

Given the amount of increasingly advanced malware, Secure Boot seems like a reasonable idea. It’s not meant to be an evil plot to take over the world, and is a lot less scary than some free software pundits will have you believe.

007Ys3FFgy1gphw4bcpysj304l06gdfq

Additional reading:

TL;DR: Secure boot prevents malware from infecting your system at a low, undetectable level during boot. Anybody can create the necessary keys to make it work, but it’s hard to convince computer makers to distribute your key to everyone, so you can alternatively choose to pay Verisign to use Microsoft’s key to sign your bootloaders and make them work. You can also disable Secure Boot on any non-ARM computer.

Last thought, with regards to the FSF’s campaign against Secure boot: Some of their concerns (i.e. it makes it harder to install free operating systems) are valid to a point. Saying that the restricti*** will “prevent anyone from booting anything but Windows” is dem***trably false though, for the reas*** illustrated above. Campaigning against UEFI/Secure Boot as a technology is short-sighted, misinformed, and unlikely to be effective anyways. It’s more important to ensure that manufacturers actually follow Microsoft’s requirements for letting users disable Secure Boot or change the keys if they so desire.

 


有什麼要補充的解釋嗎?在評論中發出聲音。想從其他精通技術的Stack Exchange使用者那裡瞭解更多答案嗎?在這裡檢視完整的討論主題。

 

 

 

  • 發表於 2021-04-11 20:56
  • 閱讀 ( 52 )
  • 分類:網際網路

你可能感興趣的文章

我沒有windows或mac:我只使用linux的8個原因

...不是出於怨恨,也不是為了惡作劇。我只是想先說清楚,如果你想從Linux上完成所有的計算,你可以。Linux不再僅僅是一個程式設計師的地方,他們對機器如何工作有著深厚的技術知識。我可能知道如何在終端中鍵入一些命令,...

  • 發佈於 2021-03-13 02:59
  • 閲讀 ( 53 )

你的電腦不再支援windows 10?這是你能做的!

...2014年間銷售的、最初執行Windows 8的二合一PC。他們升級到windows8.1或利用免費的windows10升級服務都沒有問題。 ...

  • 發佈於 2021-03-13 10:03
  • 閲讀 ( 56 )

如何將一個完整的作業系統從一臺舊電腦移到一臺新電腦上

... 如果您執行的是Linux,那麼這個過程是無痛的。但是在Windows上,你更容易遇到問題。 ...

  • 發佈於 2021-03-14 05:27
  • 閲讀 ( 47 )

為什麼linux對自由職業者來說很好

...。網上也有很多工具可以幫助你,有些甚至不需要賬號。如果你經常遠離你的電腦,這是一個任務,你可以把你的**。 ...

  • 發佈於 2021-03-15 01:40
  • 閲讀 ( 56 )

什麼是uefi?它如何讓您更安全?

...PC被認證為與Windows 8相容,需要支援安全引導。因此,當Windows8在2012年釋出時,人們對安全引導功能非常感興趣。 ...

  • 發佈於 2021-03-17 19:25
  • 閲讀 ( 42 )

2020年前從Windows7升級到10的4種最佳方法

... 由於Windows7和Windows10非常流行,人們很容易忘記Windows8.1的存在。雖然對該版本的主流支援在2018年初結束,但Windows8.1將獲得延長支援,直到2023年1月10日。 ...

  • 發佈於 2021-03-18 02:36
  • 閲讀 ( 55 )

透過引導分割槽破解樹莓pi的6種方法

... 如果您沒有**鍵盤來設定Wi-Fi,您將很難找到正確的顯示配置。或者其他一些不需要花這麼長時間就能解決的瑣碎的設定選項。 ...

  • 發佈於 2021-03-18 17:12
  • 閲讀 ( 47 )

如何確保您的計算機可以執行Windows10

... 雖然您可能堅持使用Windows7或Windows8,但您的計算機很有可能執行Windows10。下面是如何檢查你的電腦是否可以執行Windows以及下一步該怎麼做。 ...

  • 發佈於 2021-03-19 03:52
  • 閲讀 ( 45 )

Windows7今天死掉了:下麵是你需要知道的

...腦時間太長了,那可能是時候買一臺新電腦了。如果你在Windows8釋出後的七年裡沒有升級過硬體,你會發現現代電腦(尤其是帶有固態儲存器的電腦)的效能有了顯著的提高,電池壽命也更長。 這並不意味著如果你不喜歡Windows10...

  • 發佈於 2021-04-02 18:40
  • 閲讀 ( 54 )

正在尋找microsoft signature edition pc?下面是要做的

... 我們來看看。 在任何pc上使用microsoft的fresh start工具 從Windows8開始,微軟引入了“重置你的電腦”選項來解除安裝你的所有程式,讓你的裝備回到“第一次啟動”的狀態。問題是,這次新推出的產品首先包括了系統附帶的所有...

  • 發佈於 2021-04-04 00:45
  • 閲讀 ( 61 )
會寫詩的六叔
會寫詩的六叔

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦