// getting started
Install & Run
From zero to the Visor menu, four ways.
Requirements
- An x86_64 or AArch64 UEFI system.
- For building: gnu-efi development files, GCC, binutils (
objcopy), make. - Optional: Python 3 for the encryption and font tools (the default font is pre-baked; normal builds need no Python).
| Distro | Dependencies command |
|---|---|
| Arch | sudo pacman -S gnu-efi base-devel |
| Debian / Ubuntu | sudo apt install gnu-efi build-essential |
| Fedora | sudo dnf install gnu-efi gnu-efi-devel gcc make |
| openSUSE | sudo zypper in gnu-efi-devel gcc make |
| Void | sudo xbps-install gnu-efi gcc make |
Way 1 — one-line install
curl -fsSL https://raw.githubusercontent.com/IO-ZetZor/Visor-BootManager/main/get.sh | sh
get.sh installs the build dependencies for your package manager
(pacman, apt, dnf, zypper, xbps, eopkg), clones the source into
~/.cache/visor-src, builds it, and runs the installer with sudo. Re-running
it later pulls and rebuilds the latest version.
Way 2 — AUR (Arch Linux)
Visor is available on the Arch User Repository. Install it with any AUR helper:
yay -S visor
or
paru -S visor
The AUR package pulls the latest source, builds it, and runs the installer automatically. After installation, see First boot below.
Way 3 — clone and install
git clone https://github.com/IO-ZetZor/Visor-BootManager
cd Visor-BootManager
make
sudo ./install.sh
install.sh auto-detects your ESP, copies the binary, icons,
backgrounds, and a starter boot.conf to \EFI\visor\, offers to
register a UEFI boot entry, sign for Secure Boot, and install a filesystem
driver, and installs the host-side visor command. All prompts have
flags for unattended use:
| Flag | Effect |
|---|---|
--esp PATH | Use this ESP mount point instead of auto-detecting. |
--no-build | Install the already-built visor_x64.efi. |
--boot-entry / --no-boot-entry | Register a Visor UEFI boot entry via efibootmgr / never ask. |
--sign / --no-sign | Sign Visor with sbctl after installing / never ask. |
--fs-drivers / --no-fs-drivers | Auto-detect the /boot filesystem and install the matching EfiFs driver / never ask. |
--fs-driver PATH | Install a local EFI filesystem driver into \EFI\visor\drivers\. |
--no-cli / --cli-dir PATH | Skip installing the visor command / install it elsewhere (default /usr/local/bin). |
--force-config | Overwrite an existing boot.conf with the bundled example. |
Way 4 — fully manual
sudo mount /dev/sdXn /mnt/esp
sudo mkdir -p /mnt/esp/EFI/visor/icons /mnt/esp/EFI/visor/backgrounds
sudo cp visor_x64.efi /mnt/esp/EFI/visor/
sudo cp assets/icons/*.png /mnt/esp/EFI/visor/icons/
sudo cp assets/backgrounds/*.png /mnt/esp/EFI/visor/backgrounds/
sudo cp boot.conf.example /mnt/esp/EFI/visor/boot.conf
sudo efibootmgr --create --disk /dev/sdX --part n \
--label "Visor" --loader '\EFI\visor\visor_x64.efi'
What lands on the ESP
\EFI\visor\
├── visor_x64.efi the boot manager
├── boot.conf your configuration (optional — auto-detect without it)
├── boot.log rolling log of the last 3 boots
├── icons\ entry icons (PNG)
├── backgrounds\ wallpapers (PNG)
├── themes\ theme .conf files (optional)
├── drivers\ EfiFs filesystem drivers (optional)
└── snapshots.conf snapshot manifest (optional, generated, also reads snapshot.conf)
First boot
- Reboot; pick Visor in the firmware boot menu (or let the new boot entry take over).
- With no
boot.conf, Visor auto-detects Windows, UKIs, and kernels — including a working cmdline (see auto-detection). - Otherwise, edit
<ESP>/EFI/visor/boot.confand point entries at your kernels — see Configuration.
Updating
visor update
Clones (first run) or pulls the latest source, rebuilds, and reinstalls
without touching your boot.conf. Useful flags: --esp PATH,
--sign, --boot-entry, --force-config.
Uninstalling
visor uninstall # or: visor uninstall --esp /boot/efi
Removes \EFI\visor\ and the UEFI boot entry. Your other boot loaders
are untouched — Visor never modifies them.