Dual-Boot-Omarchy/README.md
28allday d6a61387c0 Add video guide to README
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 12:48:43 +00:00

6.4 KiB

Dual Boot Omarchy

Video Guide

Patch the Omarchy ISO to install alongside Windows. Creates a modified ISO with a dual-boot installer that preserves your Windows installation while adding Omarchy with LUKS encryption and btrfs snapshots.

Requirements

  • OS: Arch Linux or Omarchy (to run the patcher)
  • Omarchy ISO: Download from omarchy.com
  • UEFI: Required for dual-boot (no legacy BIOS support)
  • Free disk space: 20GB+ unallocated space on the target drive
  • USB drive: For booting the patched ISO (Ventoy recommended)

Quick Start

git clone https://github.com/28allday/Dual-Boot-Omarchy.git
cd Dual-Boot-Omarchy

# Place your Omarchy ISO in this directory, then:
sudo ./patch-omarchy-dualboot.sh

# Or specify the ISO path directly:
sudo ./patch-omarchy-dualboot.sh /path/to/omarchy-3.x.x.iso

This creates omarchy-dualboot-YYYY.MM.DD.iso — copy it to a Ventoy USB and boot from it.

How It Works

The Patcher (run on your existing system)

The patcher modifies the Omarchy ISO by:

  1. Extracting the ISO and its squashfs root filesystem
  2. Injecting a dual-boot setup script into the live environment
  3. Replacing the boot sequence to run the dual-boot installer on tty1
  4. Repacking the squashfs and creating a new bootable ISO

The Installer (runs when you boot the patched ISO)

When you boot the patched ISO, you get a menu:

Option Action
1 Install Omarchy alongside Windows (dual-boot)
2 Clean up a failed installation
3 Standard install (original Omarchy installer, wipes disk)
4 Exit to shell

Option 1: Dual-Boot Install

  1. Drive selection — shows available drives, detects Windows partitions
  2. Free space check — verifies 20GB+ unallocated space exists
  3. Encryption password — sets up LUKS2 encryption for the Linux partition
  4. Partitioning — creates two partitions in free space:
    • 1GB EFI partition (labelled "LINUXEFI") for the Linux bootloader
    • Remaining space: LUKS2 encrypted partition for Linux root
  5. Filesystem setup — creates btrfs with subvolumes:
    • @ — root filesystem
    • @home — user home directories
    • @log — system logs
    • @pkg — pacman package cache
  6. Omarchy configurator — collects your username and preferences
  7. archinstall — installs the base Arch system
  8. Limine bootloader — installed and configured with:
    • LUKS encryption support
    • Windows auto-detection
    • Bootable btrfs snapshots via snapper
    • Plymouth splash screen (Omarchy theme)
  9. Omarchy packages — installs the full Omarchy desktop
  10. UEFI boot entry — creates "Omarchy" entry in your firmware

Windows partitions are never touched.

Option 2: Cleanup Failed Installation

If a previous dual-boot install failed partway through:

  • Detects and removes Linux partitions (LINUXEFI, LUKS)
  • Cleans up UEFI boot entries
  • Leaves Windows completely untouched

What Gets Created on the Target Drive

Drive (e.g. nvme0n1):
├── Windows partitions (UNTOUCHED)
│   ├── EFI System Partition (Windows Boot Manager)
│   ├── Microsoft Reserved
│   ├── Windows (C:)
│   └── Recovery
├── LINUXEFI (1GB, FAT32)          ← NEW: Linux bootloader
│   ├── EFI/BOOT/BOOTX64.EFI      (Limine)
│   ├── vmlinuz-linux               (kernel)
│   ├── initramfs-linux.img         (initramfs with encrypt hook)
│   └── limine.conf                 (boot menu with Windows + snapshots)
└── Linux Root (LUKS2 encrypted)    ← NEW: Omarchy system
    └── btrfs
        ├── @        (/)
        ├── @home    (/home)
        ├── @log     (/var/log)
        └── @pkg     (/var/cache/pacman/pkg)

Booting After Installation

  1. Reboot your computer
  2. Press F12/F8/DEL at startup for the boot menu
  3. Select "Omarchy" for Linux or "Windows Boot Manager" for Windows

The Limine boot menu also shows:

  • Omarchy (default)
  • Omarchy (fallback)
  • Snapshots (bootable btrfs snapshots)
  • Windows Boot Manager

Features

  • LUKS2 encryption — full disk encryption for the Linux partition
  • Btrfs subvolumes — proper layout for snapshots and rollbacks
  • Snapper integration — automatic timeline snapshots with bootable rollback via Limine
  • Offline installation — uses packages from the ISO, no internet required during install
  • Plymouth splash — Omarchy-themed boot animation
  • SDDM auto-login — boots straight into Hyprland

Dependencies

The patcher automatically installs these if missing:

Package Purpose
xorriso ISO creation and manipulation
squashfs-tools Extracting and repacking the squashfs filesystem
cdrtools Reading ISO metadata (isoinfo)

Troubleshooting

Can't boot into Omarchy after install

  • Use F12/F8 boot menu to select "Omarchy" manually
  • If no entry exists: boot the ISO again, choose option 4 (shell), and run:
    efibootmgr --create --disk /dev/nvme0n1 --part N --loader '\\EFI\\BOOT\\BOOTX64.EFI' --label 'Omarchy'
    

LUKS password prompt doesn't appear

  • Verify initramfs has the encrypt hook:
    lsinitcpio /boot/initramfs-linux.img | grep encrypt
    
  • Rebuild if missing:
    sudo mkinitcpio -P
    

Windows disappeared from boot menu

  • Boot into Omarchy, then:
    sudo limine-update
    
    This rescans for other bootloaders including Windows.

Failed install left orphan partitions

Boot the patched ISO again and choose option 2 (Clean up failed installation).

Uninstalling Omarchy (keeping Windows)

Boot from the patched ISO, choose option 2, and it will:

  • Remove the Linux EFI and LUKS partitions
  • Clean up UEFI boot entries
  • Leave Windows untouched

Then use Windows Disk Management to reclaim the free space.

Credits

License

This project is provided as-is for the Omarchy community.