• Visor – en modern och grafisk starthanterare för Linux och Windows

    Visor är en ny starthanterare med öppen källkod för moderna UEFI-datorer. Den kan starta Linux, Windows och andra EFI-program genom ett grafiskt och anpassningsbart gränssnitt, samtidigt som den erbjuder stöd för bland annat Unified Kernel Images, Secure Boot och automatisk återställning efter misslyckade uppdateringar.

    När en dator startas behöver den välja vilket operativsystem eller program som ska köras. På datorer med flera operativsystem sker detta vanligtvis genom en så kallad starthanterare. Visor är ett nytt projekt med öppen källkod som vill göra denna del av datorstarten både enklare och mer tilltalande.

    Visor är utvecklat för moderna datorer med UEFI och kan starta Linuxkärnor, Unified Kernel Images, Windows och andra EFI-program. Det fungerar därför även på datorer där Linux och Windows är installerade sida vid sida.

    En enda konfigurationsfil

    Många traditionella starthanterare använder skript, automatiskt genererade inställningsfiler eller en kombination av flera olika konfigurationsfiler.

    Visor försöker i stället hålla det enkelt. Inställningarna lagras i en enda fil med namnet boot.conf, placerad på datorns EFI-systempartition.

    EFI-systempartitionen är en liten, FAT-formaterad partition som används av datorns fasta programvara för att hitta de program som behövs under uppstarten.

    Genom att samla konfigurationen i en enda fil blir det lättare för användaren att förstå vilka startalternativ som finns och hur de är inställda.

    Ett grafiskt gränssnitt redan vid uppstart

    När Visor startar visas en grafisk meny med hjälp av UEFI:s Graphics Output Protocol. Det innebär att gränssnittet visas innan något vanligt operativsystem har hunnit starta.

    Visor använder så kallad dubbelbuffring för att minska flimmer när skärmen uppdateras. Tekniken innebär förenklat att nästa bild först ritas i ett dolt minne och därefter visas i sin helhet. Resultatet blir jämnare animationer när användaren växlar mellan olika operativsystem och startalternativ.

    Utseendet kan anpassas på många sätt. Användaren kan bland annat ändra:

    • bakgrund
    • färger
    • ikonstorlekar
    • avstånd mellan menyalternativ
    • rubriker
    • markeringseffekter
    • placering av knappar för avstängning och omstart
    • placering av knappen för UEFI-inställningarna

    Det går även att använda separata temafiler. På så sätt kan hela utseendet bytas utan att den huvudsakliga startkonfigurationen behöver ändras.

    Styrning med mus och pekskärm

    De flesta starthanterare navigeras med tangentbordet, men Visor kan även använda andra inmatningsenheter.

    Om datorns UEFI-firmware tillhandahåller ett kompatibelt pekdon kan användaren välja startalternativ med exempelvis:

    • mus
    • styrplatta
    • pekskärm

    Detta kan vara särskilt användbart på surfplattor, bärbara datorer och andra system där tangentbordet inte alltid är lättillgängligt.

    Om det grafiska läget inte fungerar finns även en textbaserad meny som reservlösning.

    Stöd för moderna Linuxinstallationer

    Visor kan starta Linux genom så kallade EFI stub-kärnor. Det innebär att Linuxkärnan kan fungera som ett vanligt EFI-program och startas direkt av UEFI-miljön.

    Starthanteraren har också stöd för Unified Kernel Images, ofta förkortat UKI. En UKI samlar flera delar som normalt ligger i separata filer:

    • Linuxkärnan
    • initramfs
    • kommandoradsalternativ
    • ibland ytterligare information om systemet

    Allt paketeras i en enda EFI-fil.

    Projektet rekommenderar att sådana filer placeras direkt på EFI-systempartitionen. Det ger en relativt enkel och portabel lösning eftersom UEFI redan kan läsa den FAT-formaterade partitionen.

    Traditionella Linuxkärnor fungerar också

    Visor kan även användas med traditionella installationer där Linuxkärnan och initramfs ligger i separata filer, exempelvis vmlinuz och initramfs.

    Det uppstår dock ett problem om filerna ligger på ett Linuxfilsystem som ext4 eller Btrfs. UEFI kan normalt inte läsa dessa filsystem på egen hand.

    För att lösa detta kan Visor ladda särskilda EFI-drivrutiner som ger stöd för ytterligare filsystem. Projektet levererar inte sådana drivrutiner, men kompatibla .efi-filer kan placeras i Visors katalog för drivrutiner.

    Linux och Windows på samma dator

    Visor kan kedjestarta andra EFI-program. Detta kallas ofta för chainloading och innebär att starthanteraren lämnar över kontrollen till ett annat startprogram.

    På en Windowsinstallation kan Visor exempelvis starta Microsoft Windows Boot Manager. Därmed är Visor användbart på datorer med så kallad dual boot, där användaren väljer mellan Linux och Windows vid uppstart.

    Det går även att starta andra EFI-program, exempelvis diagnostikverktyg, återställningsmiljöer eller alternativa starthanterare.

    Kan skapa startmenyn automatiskt

    Om filen boot.conf saknas försöker Visor automatiskt hitta vanliga startprogram för Linux och Windows.

    Utifrån de filer som hittas kan programmet bygga upp en fungerande startmeny. Detta kan göra den första installationen enklare för användare som inte vill skriva konfigurationen manuellt.

    Den som vill ha fullständig kontroll kan i stället definiera varje startalternativ själv i boot.conf.

    Anpassat för Silverblue, Kinoite och CoreOS

    Visor förstår även startposter som följer Boot Loader Specification. Denna standard används bland annat av system som bygger på OSTree eller avbildningsbaserade uppdateringar.

    Det gäller exempelvis:

    • Fedora Silverblue
    • Fedora Kinoite
    • Fedora CoreOS
    • system baserade på bootc

    Sådana system kan ha flera installerade versioner eller så kallade driftsättningar samtidigt. Visor kan gruppera dessa under en gemensam ikon för operativsystemet.

    Användaren kan därefter välja mellan den aktuella versionen, en tidigare version eller en återställningsversion direkt från startmenyn.

    Automatisk återställning efter en misslyckad uppdatering

    På system som använder boot counting kan Visor hålla reda på hur många gånger en ny systemversion får försöka starta.

    Inför varje start minskas räknaren med ett steg. Om systemet inte lyckas starta inom det tillåtna antalet försök kan Visor automatiskt återgå till en tidigare fungerande version.

    Detta är särskilt användbart på system som uppdateras automatiskt. En felaktig kärna eller systemavbildning behöver då inte göra datorn helt obrukbar.

    Stöd för Secure Boot

    Visor har även stöd för Secure Boot när det startas genom shim.

    Shim är ett litet EFI-program som ofta används av Linuxdistributioner för att skapa en betrodd kedja mellan datorns UEFI-firmware och Linuxsystemets övriga startkomponenter.

    Genom shims verifieringsprotokoll kan Visor kontrollera signaturen på bland annat:

    • Linuxkärnor
    • Unified Kernel Images
    • Windows Boot Manager
    • andra EFI-program i PE-format

    Om Secure Boot är aktiverat och verifieringen misslyckas vägrar Visor att starta filen.

    För ett helt Secure Boot-kompatibelt system måste även Visor och eventuella externa filsystemsdrivrutiner vara korrekt signerade eller startas genom en annan betrodd kedja.

    Loggar hjälper vid felsökning

    Problem under datorns tidiga uppstart kan vara svåra att felsöka eftersom det vanliga operativsystemet ännu inte har startat.

    Visor skriver därför en loggfil med namnet boot.log till EFI-systempartitionen. Loggen sparar information från de tre senaste uppstarterna.

    Den kan bland annat innehålla information om:

    • tolkning av konfigurationsfiler
    • laddning av EFI-program
    • avkodning av PNG-bilder
    • initiering av drivrutiner
    • fel när kontrollen lämnas över till nästa program

    Det kan göra det betydligt lättare att förstå varför en kärna, ett tema eller ett startalternativ inte fungerar.

    Installation och administration

    Installationen sköts med ett skript som kompilerar Visor och kopierar de nödvändiga filerna till EFI-systempartitionen.

    Installationsprogrammet kan även skapa en startpost i datorns UEFI-inställningar med hjälp av verktyget efibootmgr.

    På Linuxsystemet installeras dessutom kommandot visor, som kan användas för att:

    • bygga programmet
    • installera det
    • uppdatera det
    • signera filer
    • kontrollera konfigurationen
    • visa aktuell status
    • avinstallera starthanteraren

    För att kompilera Visor från källkod krävs bland annat GNU-EFI:s utvecklingsfiler, GCC och binutils.

    Fortfarande ett projekt för moderna x86-datorer

    Visor riktar sig för närvarande till datorer med x86-64-processor och UEFI. Det är alltså främst avsett för moderna stationära och bärbara datorer.

    Projektet distribueras under BSD 2-Clause-licensen. Det är en tillåtande licens som ger användare och utvecklare stor frihet att använda, ändra och distribuera koden.

    Ett intressant alternativ till traditionella starthanterare

    Visor försöker kombinera ett modernt grafiskt gränssnitt med en relativt enkel konfiguration. Samtidigt finns avancerade funktioner för Secure Boot, automatiska återställningar, UKI-filer och avbildningsbaserade Linuxdistributioner.

    För vanliga användare kan den grafiska menyn och den automatiska identifieringen av operativsystem vara de mest märkbara förbättringarna. För systemadministratörer och Linuxentusiaster är stödet för signerade EFI-filer, boot counting och separata filsystemsdrivrutiner sannolikt mer intressant.

    Visor befinner sig i ett område där tillförlitlighet är mycket viktigt. Ett fel i en vanlig applikation kan ofta lösas genom att programmet startas om, men ett fel i starthanteraren kan innebära att hela datorn vägrar starta.

    Trots detta visar projektet hur även datorns allra tidigaste uppstartsfas kan göras mer lättanvänd, flexibel och visuellt tilltalande.

    > Teknisk fakta: Visor Boot Manager

    Programtyp UEFI-starthanterare
    Plattform x86-64-system med UEFI
    Operativsystem Linux, Windows och andra EFI-program
    Konfigurationsfil boot.conf
    Konfigurationens plats EFI-systempartitionen
    Grafiskt gränssnitt UEFI Graphics Output Protocol
    Navigering Tangentbord, mus, styrplatta och pekskärm
    Linuxstöd EFI stub-kärnor, UKI, vmlinuz och initramfs
    Filsystem FAT samt andra filsystem genom externa EFI-drivrutiner
    Dual boot Ja, inklusive Microsoft Windows Boot Manager
    Automatisk identifiering Söker efter vanliga Linux- och Windows-startprogram
    Boot Loader Specification Stöds, inklusive OSTree- och bootc-baserade system
    Boot counting Automatisk återgång efter misslyckade startförsök
    Secure Boot Stöds genom shim och signaturverifiering
    Loggfil boot.log
    Kompilator och verktyg GCC, binutils och GNU-EFI
    Licens BSD 2-Clause

    root@visor:~$ redo att starta systemet_

  • När Linux och Secure Boot måste byta nyckel

    När Microsofts äldre Secure Boot-certifikat från 2011 löper ut behöver Linuxvärlden ta nästa steg i övergången till en nyare signeringskedja. För de flesta användare sker förändringen i bakgrunden, men för Linuxdistributioner, installationsmedia och äldre datorer kan den bli avgörande. I grunden handlar det om något så enkelt – och viktigt – som att datorn måste lita på rätt nyckel för att Linux ska kunna starta säkert.

    En gammal digital nyckel från Microsoft är på väg att gå ut. Det låter kanske som en teknisk detalj för firmware-utvecklare, men förändringen berör stora delar av Linux-världen. Orsaken är Secure Boot – den säkerhetsfunktion i moderna datorer som kontrollerar att rätt programvara startar när datorn slås på.

    I juni löper Microsofts äldre UEFI CA-certifikat från 2011 ut. Det certifikatet har under många år varit en viktig del av kedjan som gör att Linuxdistributioner kan starta på datorer där Secure Boot är aktiverat. Nu behöver Linuxdistributionerna stegvis flytta över till den nyare Microsoft UEFI CA från 2023.

    För vanliga användare innebär detta oftast ingen dramatik. En dator som startar Linux med Secure Boot i dag bör normalt fortsätta att starta även efter att det gamla certifikatet gått ut. Men övergången är ändå viktig, särskilt för nya installationsmedier, räddningsskivor, dual boot-system och äldre datorer.

    Vad är Secure Boot?

    Secure Boot är en säkerhetsfunktion i UEFI, den moderna ersättaren till det gamla BIOS-systemet. När datorn startar kontrollerar firmware att den första delen av startkedjan är signerad med en betrodd digital nyckel.

    Man kan jämföra det med en dörrvakt vid datorns entré. Dörrvakten släpper bara in program som kan visa upp rätt legitimation. Om startprogrammet är signerat med en nyckel som datorn litar på får det fortsätta. Om inte, stoppas uppstarten.

    Syftet är att hindra skadlig kod från att lägga sig tidigt i startprocessen, innan operativsystemet ens har hunnit laddas. Sådan kod kan annars vara mycket svår att upptäcka.

    Varför fungerar Windows enklare?

    På de flesta vanliga PC-datorer finns Microsofts Secure Boot-nycklar redan inlagda från fabrik. Det gör att Windows kan starta utan extra krångel, eftersom datorns firmware redan litar på Microsofts signering.

    Linux har däremot ett annat problem. De flesta Linuxdistributioner är inte direkt betrodda av datorns firmware. Tillverkaren av datorn har normalt inte lagt in nycklar för Ubuntu, Fedora, Debian, Linux Mint eller andra distributioner.

    För att lösa detta använder många Linuxdistributioner ett litet program som heter shim.

    Shim – den lilla länken mellan Microsoft och Linux

    Shim är en liten första startladdare som fungerar som en bro mellan datorns Secure Boot-system och Linuxdistributionens egna nycklar.

    Så här fungerar det förenklat:

    Datorns firmware litar på Microsofts nyckel.

    Microsoft har signerat Linuxdistributionens shim.

    Firmware startar shim eftersom signaturen är betrodd.

    Shim kontrollerar sedan nästa steg, till exempel GRUB och Linuxkärnan.

    GRUB och kärnan kan därefter starta Linux på ett säkert sätt.

    På detta sätt kan Linux starta på datorer där Secure Boot är aktiverat, utan att varje enskild datortillverkare behöver lägga in nycklar för varje Linuxdistribution.

    Vad händer när 2011-certifikatet går ut?

    Det viktiga att förstå är att ett utgånget certifikat inte automatiskt betyder att allt slutar fungera. Certifikatet tas inte magiskt bort ur datorns firmware bara för att datumet passerar. Redan signerade och betrodda startladdare bör därför i många fall fortsätta fungera.

    Det betyder att en befintlig Linuxinstallation, som redan fungerar med Secure Boot, normalt inte bör sluta starta enbart på grund av certifikatets utgångsdatum.

    Problemen kan i stället uppstå i samband med övergången till den nya signeringskedjan. Nya installationsavbilder, nya versioner av shim, återställningsmedia och vissa äldre datorer kan behöva uppdaterade Secure Boot-databaser för att känna igen den nya Microsoft UEFI CA från 2023.

    Varför kan det ändå bli problem?

    Secure Boot bygger på en kedja av förtroende. Varje länk måste lita på nästa länk. Om datorns firmware inte känner igen den nyckel som har använts för att signera shim, stoppas processen redan i början.

    Då spelar det ingen roll att Linuxkärnan eller GRUB är korrekt installerade. Om första länken i kedjan inte godkänns kommer datorn inte vidare.

    Särskilt känsliga situationer kan vara:

    Äldre datorer med föråldrade Secure Boot-databaser.

    Nya Linuxinstallationsmedier som använder den nya 2023-signeringen.

    Dual boot-system med både Windows och Linux.

    Räddnings-USB och installationsstickor som inte har uppdaterats.

    System där användaren manuellt har ändrat Secure Boot-nycklar.

    Datorer där den gamla 2011-nyckeln tas bort för tidigt.

    Det sista är särskilt viktigt. Att manuellt ta bort gamla nycklar ur Secure Boot-systemet kan göra att tidigare fungerande Linuxinstallationer inte längre startar.

    Vad behöver Linuxdistributionerna göra?

    Linuxdistributionerna behöver se till att deras shim-versioner signeras på rätt sätt för framtiden. Det innebär att de måste anpassa sig till Microsofts nyare UEFI CA från 2023 och se till att installationsmedia, uppdateringspaket och dokumentation följer med i övergången.

    För stora distributioner som Ubuntu, Fedora, Debian, SUSE och andra är detta en viktig infrastrukturell förändring. Det handlar inte om en ny funktion som användaren direkt ser, utan om att själva startkedjan ska fortsätta fungera på moderna datorer.

    Det är lite som att byta låssystem i ett stort hus. De flesta märker ingenting om bytet görs rätt, men om nycklarna inte passar kan någon plötsligt stå utanför dörren.

    Vad bör vanliga användare göra?

    För de flesta användare är rådet enkelt: håll systemet uppdaterat.

    Installera uppdateringar från din Linuxdistribution.

    Uppdatera shim-paket när distributionen erbjuder det.

    Installera firmware- och UEFI-uppdateringar från datortillverkaren när sådana finns.

    Använd nya installationsavbilder från distributionens officiella webbplats.

    Undvik att manuellt ändra Secure Boot-nycklar om du inte vet exakt vad du gör.

    Det är också klokt att inte använda gamla installationsstickor i flera år. Om du ska installera Linux på en ny dator med Secure Boot aktiverat bör du ladda ner en aktuell ISO-fil från distributionens officiella webbplats.

    Secure Boot är inte bara ett Windows-problem

    Det här visar också hur beroende Linuxvärlden fortfarande är av Microsofts roll i PC-ekosystemet. Även om Linux är ett fristående och öppet operativsystem måste det ofta passera genom en Microsoft-signerad startkedja för att fungera smidigt på vanliga konsumentdatorer med Secure Boot.

    Det betyder inte att Linux är osäkert eller underordnat Windows. Det betyder snarare att PC-plattformen historiskt har standardiserats kring Microsofts nycklar, eftersom Windows dominerar marknaden.

    Linuxdistributionerna har därför byggt praktiska lösningar för att fungera inom detta system. Shim är en sådan lösning.

    Ingen panik – men en viktig övergång

    Att Microsofts UEFI CA från 2011 löper ut är inte en katastrof. Det betyder inte att Linuxdatorer plötsligt slutar starta över en natt. Men det är en viktig övergång som Linuxdistributioner, hårdvarutillverkare och systemadministratörer behöver hantera på rätt sätt.

    För användaren är det viktigaste att inte göra förhastade ändringar i Secure Boot-inställningarna. Låt distributionens uppdateringar sköta övergången, använd aktuella installationsmedier och se till att firmware hålls uppdaterad.

    Secure Boot handlar i grunden om förtroende. När en gammal nyckel går ut måste en ny ta vid. Om kedjan hålls obruten kommer Linux fortsätta starta precis som tidigare – bara med en modernare grund för framtidens säkra uppstarter.

    https://github.com/rhboot/shim

    Faktaruta: Secure Boot och Linux

    Secure Boot är en säkerhetsfunktion i moderna datorer som kontrollerar att startprogrammen är betrodda innan operativsystemet får starta.

    Många Linuxdistributioner använder ett litet program som heter shim. Det fungerar som en bro mellan datorns firmware, Microsofts Secure Boot-nycklar och Linuxdistributionens egna nycklar.

    Microsofts äldre UEFI CA-certifikat från 2011 löper ut, vilket gör att Linuxdistributioner behöver gå över till den nyare signeringskedjan från 2023 för framtida stöd.

    • Påverkar: Linuxinstallationer med Secure Boot aktiverat.
    • Viktig del: shim, GRUB och Linuxkärnan.
    • Risk: äldre installationsmedia och datorer med föråldrade Secure Boot-nycklar.
    • Råd: håll Linux, firmware och installationsmedia uppdaterade.
    • Undvik: att manuellt ändra Secure Boot-nycklar om du inte vet exakt vad du gör.

Etikett: dual boot

  • Visor – en modern och grafisk starthanterare för Linux och Windows

    Visor är en ny starthanterare med öppen källkod för moderna UEFI-datorer. Den kan starta Linux, Windows och andra EFI-program genom ett grafiskt och anpassningsbart gränssnitt, samtidigt som den erbjuder stöd för bland annat Unified Kernel Images, Secure Boot och automatisk återställning efter misslyckade uppdateringar. När en dator startas behöver den välja vilket operativsystem eller program…

  • När Linux och Secure Boot måste byta nyckel

    När Microsofts äldre Secure Boot-certifikat från 2011 löper ut behöver Linuxvärlden ta nästa steg i övergången till en nyare signeringskedja. För de flesta användare sker förändringen i bakgrunden, men för Linuxdistributioner, installationsmedia och äldre datorer kan den bli avgörande. I grunden handlar det om något så enkelt – och viktigt – som att datorn måste…