Multiboot Solutions
Modern Multiboot Solutions for PC
Section titled “Modern Multiboot Solutions for PC”This guide covers the best multiboot solutions for modern PCs, with a focus on cross-OS management.
🏆 Recommended Solutions
Section titled “🏆 Recommended Solutions”1. systemd-boot (Best for NixOS Users)
Section titled “1. systemd-boot (Best for NixOS Users)”Pros:
- Native to systemd/Linux systems
- Excellent NixOS integration
- Simple configuration files
- Fast boot times
- Secure Boot support
- Works well with efibootmgr from Linux
Cons:
- Linux-only management
- No visual interface (by default)
- Limited theme options
Setup:
# Enable systemd-boot in configuration.nixboot.loader.systemd-boot.enable = true;boot.loader.efi.canTouchEfiVariables = true;
# Rebuildsudo nixos-rebuild switchManagement from Linux:
# List boot entriesbootctl list
# Set default bootsudo bootctl set-default nixos-default.conf
# Update entriessudo bootctl update2. rEFInd (Best for Cross-OS Management)
Section titled “2. rEFInd (Best for Cross-OS Management)”Pros:
- OS-agnostic management
- Beautiful visual interface
- Auto-detects operating systems
- Themeable and customizable
- Works from any OS
- Network boot support
- Secure Boot compatible
Cons:
- Manual installation required
- More complex setup
- Larger disk footprint
Setup:
# Install rEFIndrefind-setup
# Or manually installsudo refind-install
# Configure themesudo nano /boot/EFI/refind/refind.confManagement from Any OS:
- Edit
/boot/EFI/refind/refind.conffrom any OS - Use rEFInd configuration tools
- Visual boot menu selection
3. Ventoy (Best for Testing/Multimedia)
Section titled “3. Ventoy (Best for Testing/Multimedia)”Pros:
- Boot multiple ISOs from one USB
- No need to extract ISOs
- Supports persistence
- UEFI and Legacy support
- Easy to add/remove ISOs
Cons:
- USB-based only
- Not for permanent multiboot
- Slower boot from USB
Setup:
# Create Ventoy USBsudo ventoy2disk -I /dev/sdX
# Copy ISO files to USBcp *.iso /media/Ventoy/4. UEFI Direct Boot (Advanced)
Section titled “4. UEFI Direct Boot (Advanced)”Pros:
- No boot loader needed
- Fastest boot times
- Direct OS control
- Works with any OS
Cons:
- Manual EFI management
- No boot menu (single OS)
- Requires UEFI firmware setup
🔧 Configuration Comparison
Section titled “🔧 Configuration Comparison”| Feature | systemd-boot | rEFInd | GRUB | Ventoy | UEFI Direct |
|---|---|---|---|---|---|
| Cross-OS Management | ❌ | ✅ | ❌ | ✅ | ✅ |
| Visual Interface | ❌ | ✅ | ✅ | ✅ | ❌ |
| NixOS Integration | ✅ | ⚠️ | ✅ | ❌ | ⚠️ |
| Theme Support | ❌ | ✅ | ✅ | ✅ | ❌ |
| Network Boot | ❌ | ✅ | ⚠️ | ❌ | ❌ |
| Secure Boot | ✅ | ✅ | ⚠️ | ✅ | ✅ |
| Setup Difficulty | Easy | Medium | Easy | Easy | Hard |
🚀 Recommended Setup
Section titled “🚀 Recommended Setup”For Daily Use (NixOS + Windows):
Section titled “For Daily Use (NixOS + Windows):”# Use systemd-boot for NixOSboot.loader.systemd-boot.enable = true;
# Add rEFInd for visual management# (install manually with refind-setup)For Maximum Flexibility:
Section titled “For Maximum Flexibility:”# Primary: systemd-bootboot.loader.systemd-boot.enable = true;
# Backup: Ventoy USB for testingenvironment.systemPackages = [ pkgs.ventoy-full ];
# Emergency: rEFInd for recovery# (install manually)📱 Cross-OS Boot Management
Section titled “📱 Cross-OS Boot Management”From Windows:
Section titled “From Windows:”-
rEFInd Configuration:
- Mount EFI partition:
mount \\?\Volume{EFI}\ E: - Edit:
E:\EFI\refind\refind.conf - Reboot to see changes
- Mount EFI partition:
-
EasyBCD:
- Visual boot manager
- Works with rEFInd entries
- Can set timeout/default
-
UEFI Firmware:
- Reboot → UEFI/BIOS
- Boot Manager menu
- Select boot entry
From Linux:
Section titled “From Linux:”-
systemd-boot:
Terminal window bootctl listsudo bootctl set-default windows.conf -
efibootmgr:
Terminal window sudo efibootmgrsudo efibootmgr --bootnext 0001 -
rEFInd Config:
Terminal window sudo nano /boot/EFI/refind/refind.conf
From Mobile/Any Device:
Section titled “From Mobile/Any Device:”-
Web Interface (if set up):
- Access boot management web UI
- Change boot order remotely
-
SSH Access:
Terminal window ssh luxus@lea-ip "sudo efibootmgr --bootnext 0001"
🛠️ Migration from GRUB
Section titled “🛠️ Migration from GRUB”Step 1: Backup Current Setup
Section titled “Step 1: Backup Current Setup”# Backup GRUB configurationsudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.backup
# Backup EFI entriessudo efibootmgr > efibootmgr-backup.txtStep 2: Install systemd-boot
Section titled “Step 2: Install systemd-boot”# Add to configuration.nixboot.loader.systemd-boot.enable = true;boot.loader.grub.enable = false;
# Rebuildsudo nixos-rebuild switchStep 3: Optional rEFInd
Section titled “Step 3: Optional rEFInd”# Install rEFInd alongside systemd-bootrefind-setup
# This gives you both optionsStep 4: Test
Section titled “Step 4: Test”# Reboot and test new boot managersudo reboot
# Should see systemd-boot menu or rEFInd interface🎮 Gaming Considerations
Section titled “🎮 Gaming Considerations”For Gaming Performance:
Section titled “For Gaming Performance:”- UEFI Direct Boot: Fastest, no boot loader overhead
- systemd-boot: Minimal overhead, good performance
- rEFInd: Slight overhead, but convenient
- GRUB: Most overhead, avoid for gaming
Recommended Gaming Setup:
Section titled “Recommended Gaming Setup:”- Primary: systemd-boot (fast, reliable)
- Secondary: rEFInd (for convenience)
- Emergency: UEFI direct boot
🔧 Advanced Configuration
Section titled “🔧 Advanced Configuration”Custom systemd-boot Entries:
Section titled “Custom systemd-boot Entries:”boot.loader.systemd-boot.extraEntries = { "windows.conf" = '' title Windows 11 efi /EFI/Microsoft/Boot/bootmgfw.efi sortKey windows ''; "recovery.conf" = '' title System Recovery efi /EFI/NixOS/nixos-recovery.efi sortKey recovery '';};rEFInd Theme Configuration:
Section titled “rEFInd Theme Configuration:”# Install themesudo mkdir -p /boot/EFI/refind/themessudo git clone https://github.com/EvanPurkhiser/rEFInd-minimal /boot/EFI/refind/themes/minimal
# Enable theme in refind.confecho "include themes/minimal/theme.conf" | sudo tee -a /boot/EFI/refind/refind.confNetwork Boot Setup:
Section titled “Network Boot Setup:”# Setup PXE boot serversetup-network-boot
# Configure rEFInd for network bootecho "netboot" | sudo tee -a /boot/EFI/refind/refind.conf📋 Quick Reference
Section titled “📋 Quick Reference”Commands:
Section titled “Commands:”# systemd-bootbootctl list # List entriessudo bootctl set-default X # Set defaultsudo bootctl update # Update entries
# rEFIndrefind-setup # Install rEFIndrefind-update # Update configurationsudo nano /boot/EFI/refind/refind.conf # Edit config
# EFI managementsudo efibootmgr # List boot entriessudo efibootmgr --bootnext X # Set next boot
# Ventoyventoy2disk -I /dev/sdX # Create Ventoy USBFiles:
Section titled “Files:”/boot/loader/entries/- systemd-boot entries/boot/EFI/refind/refind.conf- rEFInd configuration/boot/EFI/refind/themes/- rEFInd themes/boot/loader/loader.conf- systemd-boot config
🎯 Recommendation
Section titled “🎯 Recommendation”For your NixOS + Windows setup:
- Primary: Use systemd-boot (better NixOS integration)
- Secondary: Install rEFInd for visual cross-OS management
- Testing: Keep Ventoy USB for trying other distros
- Emergency: Know UEFI boot manager access
This gives you the best of all worlds: fast NixOS boots, visual management from any OS, and flexibility for testing.