• 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_

  • openSUSE Tumbleweed byter standardbootloader – GRUB2-BLS tar över för UEFI-installationer

    openSUSE Tumbleweed tar ännu ett steg mot framtidens Linux genom att byta standardbootloader för nya UEFI-installationer: från klassiska GRUB2 till GRUB2-BLS. För användaren innebär det enklare hantering av uppstartsmenyn, bättre stöd för full diskkryptering och smidigare integration med moderna säkerhetslösningar som TPM2 och FIDO2. BIOS-användare märker ingen skillnad – där fortsätter den traditionella GRUB2-uppsättningen som vanligt.

    openSUSE Tumbleweed fortsätter att ligga i framkant bland Linuxdistributioner. Nu meddelar projektet att man byter ut den klassiska GRUB2-bootloadern mot GRUB2-BLS som standard vid nya installationer med UEFI. Använder du fortfarande BIOS? Då påverkas du inte – där är det fortfarande vanliga GRUB2 som gäller.

    Varför byter openSUSE?

    Om du installerar Tumbleweed igen på en modern dator med UEFI kommer YaST-installationsprogrammet numera att välja GRUB2-BLS automatiskt. Det här är samma linje som openSUSE MicroOS redan slagit in på, där man använder systemd-boot – ett modernt och snabbt alternativ.

    Den största anledningen är bättre stöd för full diskkryptering (FDE) i kombination med systemd-baserade verktyg, inklusive stöd för TPM2 och FIDO2-nycklar för säker uppstart.

    Vad är GRUB2-BLS egentligen?

    GRUB2-BLS är fortfarande GRUB2, men med extra patchar tagna från Fedora-projektet. Dessa patchar gör bootloadern kompatibel med Boot Loader Specification (BLS) – ett modernt sätt att beskriva uppstartsmenyer med små textfiler i katalogen:

    /boot/efi/loader/entries/
    

    Varje fil motsvarar ett startalternativ och innehåller:

    • vilken kärna som ska laddas
    • initrd-filen
    • kärnans kommandorad

    I kommande versionen GRUB 2.14 blir dessa patchar en integrerad del av projektet, så GRUB2-BLS blir på sikt den normala GRUB2-upplevelsen.

    Inga fler grub2-mkconfig

    En av de praktiska skillnaderna är att systemet inte längre bygger statiska konfigurationsfiler vid varje uppdatering. GRUB2-BLS läser helt enkelt av katalogen med startposter vid uppstart och bygger menyn dynamiskt.

    Det gör att gamla verktyg som grub2-mkconfig och grub2-install inte längre behövs.

    Ny struktur: allt i en enda EFI-fil

    I klassisk GRUB2 låg moduler, teman, fonter och konfiguration spridda i /boot/grub2/.
    Med GRUB2-BLS packas allt ihop i en enda EFI-binär i:

    /boot/efi/EFI/opensuse
    

    Detta är möjligt eftersom UEFI-partitionen (ESP) nu är betydligt större – installeraren föreslår omkring 1 GB.

    Anledningen?
    Kärnor och initrds kommer också att ligga i ESP, vilket krävs för att FDE med systemd ska fungera smidigt.

    Så påverkar det installationen

    För nya installationer gör YaST allt automatiskt:

    1. ESP skapas i rätt storlek
    2. GRUB2-BLS väljs som bootloader
    3. Startposter skapas enligt BLS-standard

    Vill du istället köra klassisk GRUB2 eller systemd-boot?
    Det går fortfarande, men du måste ändra det manuellt på skärmen Installation Settings → Booting.

    Full diskkryptering med TPM2 eller FIDO2

    När BLS används kan Tumbleweed installeras med systemd-baserad full diskkryptering direkt från:

    Suggested Partitioning → Guided Setup → Enable Disk Encryption

    Där kan du:

    • ange LUKS2-lösenord
    • lägga till TPM2 eller FIDO2 som extra säkerhetsnycklar

    För bärbara datorer rekommenderas TPM2 + PIN, där TPM kontrollerar att maskinen inte har manipulerats innan lösenordet accepteras.

    Uppdateringar och kernelparametrar

    Eftersom bootmenyn genereras dynamiskt sker uppdateringar av startposterna automatiskt via verktyget:

    sdbootutil update
    

    Snapper och SUSE-moduler använder detta bakom kulisserna.

    Vill du ändra boot-parametrar?

    1. Redigera /etc/kernel/cmdline
    2. Kör:
    sdbootutil update-all-entries
    

    Så sprids ändringen till alla snapshot-poster.

    Kan man uppgradera ett befintligt system?

    Tekniskt: Ja.
    Praktiskt: openSUSE rekommenderar det inte, främst eftersom de flesta system har för liten ESP-partition. Den behöver utökas för att hålla kärnor och initrd-filer.

    Det finns dock officiella instruktioner för den som vill försöka.

    Sammanfattning

    openSUSE Tumbleweed tar ett modernt steg framåt genom att:

    • använda GRUB2-BLS som standard vid UEFI-installationer
    • följa Boot Loader Specification
    • förenkla hantering av bootmenyer
    • förbättra stödet för säker full diskkryptering

    Det här är ett stort men positivt förändringssteg för användare som vill ha maximal flexibilitet och framtidssäker teknik i sin Linuxinstallation.

    openSUSE Tumbleweed – Teknisk faktaruta (GRUB2-BLS)

    Distribution:
    • openSUSE Tumbleweed (rolling release)
    Ny standardbootloader:
    • GRUB2-BLS (vid nya UEFI-installationer)
    Tidigare standard:
    • GRUB2 (fortsätter som standard för BIOS-användare)
    BLS-format:
    • Boot Loader Specification, Type #1
    • Bootentries lagras som textfiler i:
      /boot/efi/loader/entries/
    Installationsförändringar:
    • ESP-partitionen ökas till ~1 GB
    • Alla kernels + initrds läggs direkt i ESP
    • GRUB2-BLS paketeras som en EFI-binär i:
      /boot/efi/EFI/opensuse
    Verktyg som ersätts / inte längre behövs:
    • grub2-mkconfig
    • grub2-install
    • Menyn genereras dynamiskt vid uppstart (inga statiska konfigfiler)
    Uppdateringar:
    • Hanteras via systemd-verktyg:
      sdbootutil update
      sdbootutil update-all-entries
    Kernelparametrar:
    • Editera /etc/kernel/cmdline och kör:
      sdbootutil update-all-entries
    Säkerhet & full diskkryptering (FDE):
    • Full diskkryptering via systemd-stacken
    • Stöd för TPM2- och FIDO2-baserad upplåsning
    • Rekommenderat för laptops: TPM2 + PIN
    Kompatibilitet:
    • Uppgradering från klassisk GRUB2 möjlig
    • Rekommenderas inte p.g.a. oftast för liten ESP
    Trend:
    • Följer samma moderna boot-strategi som MicroOS (systemd-boot)

Etikett: Boot Loader Specification

  • 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…

  • openSUSE Tumbleweed byter standardbootloader – GRUB2-BLS tar över för UEFI-installationer

    openSUSE Tumbleweed tar ännu ett steg mot framtidens Linux genom att byta standardbootloader för nya UEFI-installationer: från klassiska GRUB2 till GRUB2-BLS. För användaren innebär det enklare hantering av uppstartsmenyn, bättre stöd för full diskkryptering och smidigare integration med moderna säkerhetslösningar som TPM2 och FIDO2. BIOS-användare märker ingen skillnad – där fortsätter den traditionella GRUB2-uppsättningen som…