Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-1260GitHub issuePublicDecided· Out of scope

Installer partition resize corrupts BTRFS filesystem, breaks existing OS boot

Reported by sylvainobegi · filed Aug 29, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 days ago.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
AreaOutside the audited area· Decided by agents · verified
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

Installer partition resize corrupts BTRFS filesystem, breaks existing OS bootrevision 1 · captured 2026-09-28 21:24 UTC via poll

Summary

Omarchy 4.0.1 installer's partition resize operation corrupts BTRFS filesystems by changing the partition table without properly moving/resizing the filesystem data. This causes existing CachyOS installations to fail with "failed to mount /sysroot" on next boot.


Hardware

  • Machine: Ryzen 11 desktop
  • Disk 1 (nvme0n1): 1TB — Windows 11 (NTFS partitions) + leftover ZFS label
  • Disk 2 (nvme1n1): 4TB — CachyOS root on p5 (BTRFS, 681GB) + NTFS data

What happened

Attempt 1: Free-space install on nvme1n1

  1. Booted from Omarchy USB installer
  2. Used Ctrl+Alt+F2 → cfdisk to shrink existing partition and create free space
  3. Selected "Free space install" option in installer
  4. Bug: Installer modified partition table (changed partition size) without properly shrinking the BTRFS filesystem first
  5. Install failed with mount errors
  6. On reboot, CachyOS failed with: "failed to mount /sysroot"
  7. Windows also failed to boot

Root cause

The installer used cfdisk to change the partition boundaries, but the BTRFS filesystem inside the partition still expected data at the old disk locations. The partition size changed, but the filesystem metadata pointed to wrong disk addresses.

This caused:
- BTRFS superblocks appeared valid (btrfs rescue super-recover said "all supers are valid")
- But mounting failed with "wrong fs type, bad option, bad superblock"
- btrfs check reported "input/output error, cannot open filesystem"

Recovery

Used testdisk to restore the original partition boundaries. This aligned the partition table back with where the BTRFS data actually was on disk. CachyOS booted successfully after partition table restoration.


Error from installer log

archinstall.lib.exceptions.DiskError: Could not mount /dev/nvme1n1p5: mount /dev/nvme1n1p5 /mnt/arch_btrfs
['/usr/bin/mount', '/dev/nvme1n1p5', '/mnt/arch_btrfs'] exited with abnormal exit code [32]: mount: /mnt/arch_btrfs: wrong fs type, bad option, bad superblock on /dev/nvme1n1p5

Log: https://logs.omarchy.org/dwCUFn


The correct resize procedure (for reference)

For BTRFS, resize must happen in this order:

  1. Shrink filesystem FIRST:
   sudo btrfs filesystem resize 300G /
  1. Then shrink the partition to match:
   sudo parted /dev/nvme1n1 resizepart 5 300GB

The Omarchy installer appears to do these in the wrong order, or skips the filesystem resize entirely.


Impact

  • Corrupts existing BTRFS installations when attempting partition resize
  • Breaks boot of existing OS (CachyOS, Windows)
  • Requires testdisk or similar recovery tool to restore partition boundaries
  • Potential data loss if user doesn't know how to recover

Workaround

Before running the Omarchy installer on a disk with existing BTRFS partitions:

  1. Boot from live USB
  2. Manually shrink BTRFS filesystem first: btrfs filesystem resize <size> /mnt
  3. Then shrink the partition with parted or gdisk
  4. Run Omarchy installer on the free space

Or use a dedicated disk with no existing partitions.


Related: #8358 (installer confused by existing partition layout)

View raw text
## Summary

Omarchy 4.0.1 installer's partition resize operation corrupts BTRFS filesystems by changing the partition table without properly moving/resizing the filesystem data. This causes existing CachyOS installations to fail with "failed to mount /sysroot" on next boot.

---

## Hardware

- **Machine:** Ryzen 11 desktop
- **Disk 1 (nvme0n1):** 1TB — Windows 11 (NTFS partitions) + leftover ZFS label
- **Disk 2 (nvme1n1):** 4TB — CachyOS root on p5 (BTRFS, 681GB) + NTFS data

---

## What happened

### Attempt 1: Free-space install on nvme1n1

1. Booted from Omarchy USB installer
2. Used `Ctrl+Alt+F2` → `cfdisk` to shrink existing partition and create free space
3. Selected "Free space install" option in installer
4. **Bug:** Installer modified partition table (changed partition size) without properly shrinking the BTRFS filesystem first
5. Install failed with mount errors
6. On reboot, CachyOS failed with: **"failed to mount /sysroot"**
7. Windows also failed to boot

### Root cause

The installer used `cfdisk` to change the partition boundaries, but the BTRFS filesystem inside the partition still expected data at the old disk locations. The partition size changed, but the filesystem metadata pointed to wrong disk addresses.

This caused:
- BTRFS superblocks appeared valid (`btrfs rescue super-recover` said "all supers are valid")
- But mounting failed with "wrong fs type, bad option, bad superblock"
- `btrfs check` reported "input/output error, cannot open filesystem"

### Recovery

Used `testdisk` to restore the original partition boundaries. This aligned the partition table back with where the BTRFS data actually was on disk. CachyOS booted successfully after partition table restoration.

---

## Error from installer log

```
archinstall.lib.exceptions.DiskError: Could not mount /dev/nvme1n1p5: mount /dev/nvme1n1p5 /mnt/arch_btrfs
['/usr/bin/mount', '/dev/nvme1n1p5', '/mnt/arch_btrfs'] exited with abnormal exit code [32]: mount: /mnt/arch_btrfs: wrong fs type, bad option, bad superblock on /dev/nvme1n1p5
```

**Log:** https://logs.omarchy.org/dwCUFn

---

## The correct resize procedure (for reference)

For BTRFS, resize must happen in this order:

1. **Shrink filesystem FIRST:**
   ```bash
   sudo btrfs filesystem resize 300G /
   ```

2. **Then shrink the partition to match:**
   ```bash
   sudo parted /dev/nvme1n1 resizepart 5 300GB
   ```

The Omarchy installer appears to do these in the wrong order, or skips the filesystem resize entirely.

---

## Impact

- Corrupts existing BTRFS installations when attempting partition resize
- Breaks boot of existing OS (CachyOS, Windows)
- Requires `testdisk` or similar recovery tool to restore partition boundaries
- Potential data loss if user doesn't know how to recover

---

## Workaround

Before running the Omarchy installer on a disk with existing BTRFS partitions:

1. Boot from live USB
2. Manually shrink BTRFS filesystem first: `btrfs filesystem resize <size> /mnt`
3. Then shrink the partition with `parted` or `gdisk`
4. Run Omarchy installer on the free space

Or use a dedicated disk with no existing partitions.

---

Related: #8358 (installer confused by existing partition layout)

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

Not linked to any known issue, other report or change yet.

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

  • Out of scopeDecided by agents · verified · 2026-10-09 09:56 UTC