Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
[BUG] Limine update hook fails on MBR-partitioned drives due to invalid GPT UUID length check
Reported by PaulFalk · filed Nov 13, 2025 · open at source
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
System Details
**CPU:** AMD Ryzen 9 5950X 16-Core Processor
**GPU:** NVIDIA GeForce RTX 4060 (UUID: GPU-0731fac6-59fb-e00c-7106-e3fe22586568)
**Kernel Version:** 6.17.7-arch1-2 (Identified during the limine-update run)
**Limine Package Versions:**
* local/limine 10.3.0-1
* local/limine-mkinitcpio-hook 1.26.0-1
* local/limine-snapper-sync 1.17.1-1
**Installation Method:** Custom LUKS/Btrfs on NVMe (/dev/nvme0n1), UEFI Boot, **initially MBR partitioned**.What's wrong?
When running a system update (pacman -Syu), the Limine update hook fails, preventing the installation of new kernel and bootloader files. This issue appears to affect systems where the boot drive is using a legacy Master Boot Record (MBR) partition table instead of the modern GUID Partition Table (GPT).
Error Message:
The update fails with the following error:
Error: Invalid GPT UUID length (11): '7153ccf9-01' for '/boot'Steps to Recreate:
- Start with an Omarchy install on a drive partitioned with MBR.
- Attempt a system update or manually run
limine-update. - The script fails as it attempts to process the short MBR identifier as a full GPT UUID.
Root Cause (What was found and fixed):
The issue is that the Limine script expects a full 36-character GPT UUID. The disk was MBR, which uses a short 8-character Disk Signature (e.g., 7153ccf9). The script incorrectly combines this short signature with the partition number (-01), resulting in the invalid 11-character string that triggers the length validation error.
Fix Applied (Manual Steps for Maintainer Reference):
The issue was resolved permanently by switching the disk's partition table from MBR to GPT in a live environment.
- Used
gdiskto convert the disk's partition table from MBR to GPT:
sudo gdisk /dev/nvme0n1
# Confirmed 'w' to write the new GPT to disk- The drive was assigned a new, correct 36-character GPT PARTUUID (e.g.,
a96dc9b2-afae-4add-a412-1403bbec4a02). - Edited
/etc/default/limineinside a chroot to update thecryptdeviceparameter with the new, correct PARTUUID. - Successfully ran
limine-updateafter the conversion.
Suggested Action for Omarchy Project:
- Check for MBR: Add a pre-check to the Limine installation/update hook that detects MBR partition tables and either automatically handles the conversion or throws an explicit error recommending conversion to GPT for UEFI booting.
- Ensure GPT Default: Review the Omarchy installer/setup scripts to ensure a proper GPT partition table is created by default for all modern UEFI installations.
View raw text
### System Details
```markdown
**CPU:** AMD Ryzen 9 5950X 16-Core Processor
**GPU:** NVIDIA GeForce RTX 4060 (UUID: GPU-0731fac6-59fb-e00c-7106-e3fe22586568)
**Kernel Version:** 6.17.7-arch1-2 (Identified during the limine-update run)
**Limine Package Versions:**
* local/limine 10.3.0-1
* local/limine-mkinitcpio-hook 1.26.0-1
* local/limine-snapper-sync 1.17.1-1
**Installation Method:** Custom LUKS/Btrfs on NVMe (/dev/nvme0n1), UEFI Boot, **initially MBR partitioned**.
```
-----
### What's wrong?
When running a system update (`pacman -Syu`), the Limine update hook fails, preventing the installation of new kernel and bootloader files. This issue appears to affect systems where the boot drive is using a legacy **Master Boot Record (MBR)** partition table instead of the modern **GUID Partition Table (GPT)**.
#### Error Message:
The update fails with the following error:
```
Error: Invalid GPT UUID length (11): '7153ccf9-01' for '/boot'
```
#### Steps to Recreate:
1. Start with an Omarchy install on a drive partitioned with **MBR**.
2. Attempt a system update or manually run `limine-update`.
3. The script fails as it attempts to process the short MBR identifier as a full GPT UUID.
#### Root Cause (What was found and fixed):
The issue is that the Limine script expects a full **36-character GPT UUID**. The disk was MBR, which uses a short **8-character Disk Signature** (e.g., `7153ccf9`). The script incorrectly combines this short signature with the partition number (`-01`), resulting in the invalid 11-character string that triggers the length validation error.
#### Fix Applied (Manual Steps for Maintainer Reference):
The issue was resolved permanently by switching the disk's partition table from MBR to GPT in a live environment.
1. Used `gdisk` to convert the disk's partition table from MBR to GPT:
```bash
sudo gdisk /dev/nvme0n1
# Confirmed 'w' to write the new GPT to disk
```
2. The drive was assigned a new, correct 36-character **GPT PARTUUID** (e.g., `a96dc9b2-afae-4add-a412-1403bbec4a02`).
3. Edited `/etc/default/limine` inside a chroot to update the `cryptdevice` parameter with the new, correct PARTUUID.
4. Successfully ran `limine-update` after the conversion.
-----
### Suggested Action for Omarchy Project:
* **Check for MBR:** Add a pre-check to the Limine installation/update hook that detects MBR partition tables and either automatically handles the conversion or throws an explicit error recommending conversion to GPT for UEFI booting.
* **Ensure GPT Default:** Review the Omarchy installer/setup scripts to ensure a proper **GPT partition table** is created by default for all modern UEFI installations.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-08 23:57 UTC