A Visor egy új, nyílt forráskódú UEFI bootkezelő Linuxhoz, amelyet úgy terveztek, hogy kernelket, Unified kernel Image-eket, a Windowst és más EFI alkalmazásokat indítson. A projektet főként C-ben írták, és a GRUB sebességét és hatékonyságát ötvözi a rEFInd csiszolt, ikonokra épülő felületével.
A hasonló megoldásoktól elsősorban az különbözteti meg, hogy nem használ szkriptnyelvet vagy rengeteg generált konfigurációs fájlt. Ehelyett egyetlen boot.conf fájlra támaszkodik, amely az EFI System Partitionön kap helyet.
Induláskor a Visor grafikus boot menüt jelenít meg a UEFI Graphics Output Protocol segítségével. A felület dupla pufferelést használ a villódzás csökkentésére, és finom animációkat kínál az operációs rendszerek és boot bejegyzések közötti váltáskor.
A megjelenés erősen testreszabható: módosítható a háttér, a színek, az ikonméret, a térközök, a menücímek, a kijelölés hatásai, valamint a leállítás, az újraindítás és a firmware vezérlők elhelyezése. A Visor teljes témákat is támogat külön konfigurációs fájlokban, így a felhasználók a teljes kinézetet megváltoztathatják anélkül, hogy a fő boot konfigurációhoz hozzá kellene nyúlniuk.
A navigáció nem korlátozódik a billentyűzetre. Ha a firmware biztosít kompatibilis mutatóeszközt, a felhasználók egérrel, touchpaddel vagy érintőképernyővel is kiválaszthatják és elindíthatják a bejegyzéseket. Ha a grafikus megjelenítés nem elérhető, szöveges menü szolgál tartalékként.
A Visor képes Linuxot indítani EFI stub kernelkkel vagy Unified kernel Image-ekkel, amelyek a kernelt, az initramfs-t és a parancssori opciókat egyetlen EFI végrehajtható állományba foglalják. A projekt azt javasolja, hogy a UKI-k a FAT-fájlrendszerű EFI System Partitionre kerüljenek, mert így egyszerű és hordozható a beállítás.
A hagyományos felépítés, ahol külön vmlinuz és initramfs fájlokat használnak, szintén támogatott. Ilyenkor azonban a Linux fájlrendszereken, például ext4-en vagy Btrfsen lévő fájlok eléréséhez a felhasználónak megfelelő EFI fájlrendszer drivert kell biztosítania. A Visor nem tartalmaz ilyen drivereket, de be tud tölteni kompatibilis .efi drivereket, ha azokat a saját drivers könyvtárába helyezik.
A Linux mellett a Visor más EFI végrehajtható állományokat is képes láncbetöltéssel indítani, köztük a Microsoft Windows Boot Managert is, így jól használható olyan rendszereken, ahol Linux és Windows dual-boot felállásban fut.
Hasznos funkció az automatikus boot bejegyzés-felismerés. Ha nincs boot.conf fájl, a Visor megkeresi a gyakran használt Linux és Windows betöltőket, és megpróbálja automatikusan felépíteni a menüt. Akik teljes kontrollt szeretnének, kézzel is megadhatják a bejegyzéseket a konfigurációs fájlban.
A Visor érti a Boot Loader Specification szerinti bejegyzéseket is, amelyeket az OSTree-alapú és image-alapú Linux rendszerek használnak, például a Fedora Silverblue, a Fedora Kinoite, a Fedora CoreOS és a bootc alapú telepítések. Az azonos operációs rendszerhez tartozó több deployment egyetlen ikon alá csoportosítható, a felhasználó pedig közvetlenül a boot menüből tallózhatja az aktuális, korábbi és visszaállítható verziókat.
Bootszámlálást használó rendszereken a Visor képes csökkenteni a hátralévő indítási kísérletek számát, mielőtt elindít egy bejegyzést. Ha egy frissítés az engedélyezett próbálkozások után sem indul el sikeresen, a bootkezelő automatikusan visszavált az előző deploymentre.
A Secure Boot támogatott. Ha a shim indítja, a Visor a shim ellenőrzési protokollját használja a Linux kernelk, UKI-k, a Windows Boot Manager és más PE-formátumú EFI image-ek ellenőrzésére futtatás előtt. Ha az ellenőrzés Secure Boot aktív állapotában meghiúsul, a Visor nem indítja el az adott image-et.
Emellett maga a bootkezelő és a külön telepített fájlrendszer driverek is csak akkor illeszkednek teljesen a Secure Boot követelményeihez, ha aláírták őket, vagy megfelelően tRustelt láncon keresztül indítják őket.
Hibaelhárításhoz a Visor boot.log fájlt ír az EFI System Partitionre. A napló a három legutóbbi boot adatait őrzi meg, és rögzíti a konfiguráció feldolgozását, az image-ek betöltését, a PNG-dekódolást, a driverek inicializálását és az átadás során fellépő hibákat.
A telepítést a projekt saját szkriptje intézi: lefordítja a Visort, átmásolja a szükséges fájlokat az EFI System Partitionre, és igény szerint létrehoz egy firmware boot bejegyzést az efibootmgr segítségével. A telepítő egy host oldali visor parancsot is biztosít, amellyel a bootkezelő fordítható, telepíthető, frissíthető, aláírható, ellenőrizhetők a konfigurációk, lekérdezhető az állapot, illetve eltávolítható a Visor.
A Visor jelenleg x86_64 UEFI rendszereket céloz, és forrásból fordítva GNU-EFI fejlesztői fájlokat, GCC-t és binutils csomagot igényel. A projektet a megengedő BSD 2-Clause licenc alatt terjesztik.
További információ, forráskód, telepítési útmutató és konfigurációs példák a projekt GitHub tárolójában érhetők el.

