# Dual Boot Omarchy ## Video Guide

Patch the [Omarchy](https://omarchy.com) 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](https://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 ```bash git clone https://git.no-signal.uk/nosignal/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: ```bash 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: ```bash lsinitcpio /boot/initramfs-linux.img | grep encrypt ``` - Rebuild if missing: ```bash sudo mkinitcpio -P ``` ### Windows disappeared from boot menu - Boot into Omarchy, then: ```bash 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 - [Omarchy](https://omarchy.com) - The Arch Linux distribution - [archinstall](https://github.com/archlinux/archinstall) - Arch Linux installer framework - [Limine](https://limine-bootloader.org/) - Bootloader - [Snapper](http://snapper.io/) - Btrfs snapshot management ## License This project is provided as-is for the Omarchy community.