Om jag köper en dator med Windows 8 och Secure Boot kan jag fortfarande installera Linux?
Det nya UEFI Secure Boot-systemet i Windows 8 har orsakat mer än sin rimliga andel av förvirring, särskilt bland dubbla booters. Läs vidare när vi klargör missuppfattningarna om dubbla uppstart med Windows 8 och Linux.
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsaren Harsha K är nyfiken på det nya UEFI-systemet. Han skriver:
Jag har hört mycket om hur Microsoft implementerar UEFI Secure Boot i Windows 8. Det förhindrar uppenbarligen att obehöriga bootloaders körs på datorn för att förhindra skadlig programvara. Det finns en kampanj av Free Software Foundation mot säker start och många har sagt online att det är en "power grab" av Microsoft för att "eliminera gratis operativsystem".
Om jag får en dator som har Windows 8 och Secure Boot förinstallerad, kommer jag fortfarande kunna installera Linux (eller något annat operativsystem) senare? Eller arbetar en dator med Secure Boot bara med Windows?
Så vad är affären? Är dubbla booters verkligen oturliga?
Svaret
SuperUser-bidragsgivaren Nathan Hinkle erbjuder en fantastisk översikt över vad UEFI är och inte är:
Först av allt, det enkla svaret på din fråga:
- Om du har en ARM-tablett kör Windows RT (som Surface RT eller Asus Vivo RT), då Du kommer inte att kunna inaktivera Säker Boot eller installera andra operativsystem. Liksom många andra ARM-tabletter, kommer dessa enheter att endast kör det operativsystem de kommer med.
- Om du har en icke-ARM-dator kör Windows 8 (som Surface Pro eller någon av de myriade ultrabooks, stationära datorer och surfplattor med en x86-64 processor), då du kan inaktivera Secure Boot helt, eller du kan installera dina egna nycklar och signera din egen bootloader. Hur som helst, du kan installera ett tredje part OS som en Linux distro eller FreeBSD eller DOS eller vad som helst du önskar.
Nu på detaljer om hur hela denna Secure Boot-sak fungerar: Det finns mycket felaktig information om Secure Boot, särskilt från Free Software Foundation och liknande grupper. Detta har gjort det svårt att hitta information om vad Secure Boot faktiskt gör, så jag försöker mitt bästa att förklara. Observera att jag inte har någon personlig erfarenhet av att utveckla säkra uppstartssystem eller något liknande; Det här är bara vad jag har lärt mig av att läsa online.
För det första, Secure Boot är inte något som Microsoft kom upp med. De är de första som implementerar det allmänt, men de uppfann inte det. Det är en del av UEFI-specifikationen, som i grund och botten är en nyare ersättning för det gamla BIOS som du förmodligen är van vid. UEFI är i princip den programvara som talar mellan operativsystemet och hårdvaran. UEFI-standarder skapas av en grupp som heter "UEFI Forum", som består av datorindustrin företrädare inklusive Microsoft, Apple, Intel, AMD och en handfull dator tillverkare.
Andra viktigaste punkten, har Säker uppstart aktiverad på en dator gör det inte betyder att datorn aldrig kan starta något annat operativsystem. Faktum är att Microsofts egna Windows-maskinvarukrav för certifiering anger att för icke-ARM-system måste du kunna avaktivera både säker start och ändra nycklarna (för att tillåta andra operativsystem). Mer om det senare men.
Vad gör Secure Boot?
I grunden förhindrar det att skadlig programvara attackerar datorn genom startsekvensen. Malware som går igenom startprogrammet kan vara mycket svårt att upptäcka och stoppa eftersom det kan infiltrera operativsystemets lågnivåfunktioner, vilket gör det osynligt för antivirusprogram. Allt som Secure Boot verkligen gör är att det verifierar att startläsaren är från en pålitlig källa och att den inte har manipulerats. Tänk på det som popup-kepsarna på flaskor som säger "Öppna inte om locket är uppåt eller att tätningen har manipulerats med".
På översta skyddsnivå har du plattformsnyckeln (PK). Det finns bara en PK på något system, och det installeras av OEM under tillverkning. Den här nyckeln används för att skydda KEK-databasen. KEK-databasen innehåller Key Exchange Keys, som används för att ändra de andra säkra startdatabaserna. Det kan finnas flera KEKs. Det finns då en tredje nivå: den auktoriserade databasen (db) och den förbjudna databasen (dbx). Dessa innehåller information om certifikatutfärdare, ytterligare kryptografiska nycklar och UEFI-enhetsbilder för att tillåta eller blockera. För att en startladdare ska kunna köra måste den skrivas kryptografiskt med en nyckel som är i db och är inte i dbx.
Bild från Building Windows 8: Skydda före användar-miljö med UEFI
Så här fungerar det på ett verkligt Windows 8-certifierat system
OEM genererar sin egen PK, och Microsoft ger en KEK som OEM måste skriva in i KEK-databasen. Microsoft skriver sedan Windows 8 Bootloader och använder sin KEK för att sätta denna signatur i den auktoriserade databasen. När UEFI startar datorn, verifierar den PK, verifierar Microsofts KEK och verifierar sedan startläsaren. Om allt ser bra ut så kan operativsystemet starta.
Bild från Building Windows 8: Skydda före användar-miljö med UEFIVar kommer tredje part OS, som Linux, in?
Först kan vilken Linux distro som helst välja att skapa en KEK och fråga OEM-användare att inkludera den i KEK-databasen som standard. De skulle då ha så mycket kontroll över startprocessen som Microsoft gör. Problemen med detta, som förklaras av Fedora's Matthew Garrett, är att a) det skulle vara svårt att få varje PC-tillverkare att inkludera Fedoras nyckel, och b) det skulle vara orättvist för andra Linux distroer, eftersom deras nyckel inte skulle inkluderas , eftersom mindre distros inte har så många OEM-partnerskap.
Vad Fedora har valt att göra (och andra distros följer efter kostym) är att använda Microsofts signeringstjänster. Detta scenario kräver att du betalar $ 99 till Verisign (certifikatmyndigheten som Microsoft använder) och ger utvecklare möjlighet att underteckna sin startladdare med hjälp av Microsofts KEK. Eftersom Microsofts KEK redan finns i de flesta datorer tillåter det dem att underteckna sin startladdare för att använda Secure Boot, utan att behöva egna KEK. Det slutar bli mer kompatibelt med fler datorer, och kostar mindre övergripande än att hantera att inrätta ett eget signerings- och distributionssystem. Det finns några fler detaljer om hur det här kommer att fungera (med GRUB, signerade Kernel-moduler och annan teknisk info) i det tidigare nämnda blogginlägget, som jag rekommenderar att du läser om du är intresserad av den här typen av saker.
Antag att du inte vill ta itu med besväret att anmäla sig till Microsofts system eller vill inte betala $ 99 eller bara ha ett mod mot stora företag som börjar med en M. Det finns ett annat alternativ att fortfarande använda Secure Boot och kör ett annat operativsystem än Windows. Microsofts maskinvaruintyg kräver att OEM-användare låter användarna ange sitt system i UEFI "Custom" -läget, där de manuellt kan ändra Secure Boot-databaser och PK. Systemet kan sättas in i UEFI Setup Mode, där användaren ens kan ange sin egen PK och signera självuppladdningsladdare.
Dessutom gör Microsofts egna certifieringsbehov det obligatoriskt för OEM att inkludera en metod för att inaktivera Secure Boot på icke-ARM-system. Du kan stänga av Secure Boot! De enda systemen där du inte kan inaktivera Secure Boot är ARM-system som kör Windows RT, vilka fungerar mer på samma sätt som iPad, där du inte kan ladda egna OS. Även om jag önskar att det skulle vara möjligt att ändra operativsystemet på ARM-enheter, är det rättvist att säga att Microsoft följer industristandarden när det gäller tabletter här.
Så säker start är inte iboende ont?
Såsom du förhoppningsvis kan se, är Secure Boot inte ont, och är inte begränsat endast för användning med Windows. Anledningen till att FSF och andra är så upprörd om det är att det lägger till extra steg för att använda ett operativsystem från tredje part. Linux distros kanske inte gillar att betala för att använda Microsofts nyckel, men det är det enklaste och mest kostnadseffektiva sättet att få Secure Boot att arbeta för Linux. Lyckligtvis är det enkelt att stänga av Secure Boot och möjlighet att lägga till olika nycklar, vilket gör att man inte behöver hantera Microsoft.
Med tanke på mängden alltmer avancerad malware verkar Secure Boot som en rimlig idé. Det är inte meningen att det är en ond plot att ta över världen, och det är mycket mindre skrämmande än några gratis programvaror kommer att få dig att tro.
Ytterligare läsning:
- Microsoft-certifieringsbehov
- Bygga Windows 8: Skydda förinstallationen med UEFI
- Microsoft-presentation om Secure Boot-implementering och nyckelhantering
- Implementera UEFI Secure Boot i Fedora
- TechNet Secure Boot Overview
- Wikipedia artikel om UEFI
TL; DR: Säker uppstart hindrar skadlig kod från att infektera ditt system på en låg, odetekterbar nivå under start. Vem som helst kan skapa nödvändiga nycklar för att få det att fungera, men det är svårt att övertyga datormaskiner att distribuera din nyckeln till alla, så du kan alternativt välja att betala Verisign för att använda Microsofts nyckel för att underteckna din startladdare och få dem att fungera. Du kan också inaktivera Säker start på några icke-ARM-dator.
Senast med tanke på FSF: s kampanj mot Säker uppstart: Några av sina bekymmer (dvs det gör det hårdare att installera fria operativsystem) är giltiga till en punkt. Att säga att begränsningarna kommer att "förhindra att någon startar allt annat än Windows" är uppenbart falsk, av de skäl som illustreras ovan. Kampanjer mot UEFI / Secure Boot som en teknik är kortsynt, felinformerad och osannolikt att det ändå är effektivt. Det är viktigare att säkerställa att tillverkare faktiskt följer Microsofts krav på att låta användare inaktivera Secure Boot eller ändra nycklarna om de så önskar.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.