Error: loading sysroot: Not a symbolic link: boot/loader

Hi, I think I messed something up when I was poking around in the /boot directory and now I’m getting this error preventing rpm-ostreed.service from starting:

abbie@compy:~$ sudo rpm-ostree status
[sudo] password for abbie: 
Job for rpm-ostreed.service failed because the control process exited with error code.
See "systemctl status rpm-ostreed.service" and "journalctl -xeu rpm-ostreed.service" for details.
× rpm-ostreed.service - rpm-ostree System Management Daemon
     Loaded: loaded (/usr/lib/systemd/system/rpm-ostreed.service; static)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: failed (Result: exit-code) since Sat 2026-01-10 15:26:14 GMT; 8ms ago
 Invocation: c9e21dd925a84d59b83a136a45abbfa8
       Docs: man:rpm-ostree(1)
    Process: 5872 ExecStart=rpm-ostree start-daemon (code=exited, status=1/FAILURE)
   Main PID: 5872 (code=exited, status=1/FAILURE)
     Status: "error: Couldn't start daemon: Error setting up sysroot: loading sysroot: Not a symbolic link: boot/loader"
   Mem peak: 4.8M
        CPU: 22ms

Jan 10 15:26:14 compy systemd[1]: Starting rpm-ostreed.service - rpm-ostree System Management Daemon...
Jan 10 15:26:14 compy rpm-ostree[5872]: Reading config file '/etc/rpm-ostreed.conf'
Jan 10 15:26:14 compy rpm-ostree[5872]: error: Couldn't start daemon: Error setting up sysroot: loading sysroot: Not a symbolic link: boot/loader
Jan 10 15:26:14 compy systemd[1]: rpm-ostreed.service: Main process exited, code=exited, status=1/FAILURE
Jan 10 15:26:14 compy systemd[1]: rpm-ostreed.service: Failed with result 'exit-code'.
Jan 10 15:26:14 compy systemd[1]: Failed to start rpm-ostreed.service - rpm-ostree System Management Daemon.
error: Loading sysroot: exit status: 1

Here is the system details report from System Settings:

# System Details Report
---

## Report details
- **Date generated:**                              2026-01-10 15:51:21

## Hardware Information:
- **Hardware Model:**                              Micro-Star International Co., Ltd. MS-7B89
- **Memory:**                                      32.0 GiB
- **Processor:**                                   AMD Ryzen™ 7 5800X × 16
- **Graphics:**                                    AMD Radeon™ RX 7800 XT
- **Disk Capacity:**                               2.7 TB

## Software Information:
- **Firmware Version:**                            2.J0
- **OS Name:**                                     Fedora Linux 43.20251106.0 (Silverblue)
- **OS Build:**                                    (null)
- **OS Type:**                                     64-bit
- **GNOME Version:**                               49
- **Windowing System:**                            Wayland
- **Kernel Version:**                              Linux 6.17.7-300.fc43.x86_64

How can I return my system to normal?

Hi @abbie and welcome to :fedora: !

I’m not entirely sure if this would help in this particular case, but you can try rollback to the previous deployment using the following instructions:

Step 3 fails:

abbie@compy:~$ rpm-ostree deploy 43.20251031.0
error: Loading sysroot: Failed to invoke RegisterClient: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Could not activate remote peer 'org.projectatomic.rpmostree1': startup job failed

Do you still have the folder /boot/loader.1 or similar, towards which the /boot/loader file usually links to? If yes, then you could recreate the symlink.

If not, please share the output of ls -la /boot.

Here is the output of ls -la /boot

abbie@compy:~$ ls -la /boot
total 48
drwxr-xr-x.  7 root root  4096 Nov  6 23:27 .
drwxr-xr-x. 12 root root  4096 Jan  1  1970 ..
lrwxrwxrwx.  1 root root     1 Feb  8  2024 boot -> .
-rw-r--r--.  1 root root  2826 Nov  6 22:30 bootupd-state.json
drwx------.  6 root root  4096 Jan  1  1970 efi
drwx------.  3 root root  4096 Jan 10 15:25 grub2
drwxr-xr-x.  3 root root  4096 Nov  6 23:07 loader
drwx------.  2 root root 16384 Feb  8  2024 lost+found
drwxr-xr-x.  4 root root  4096 Nov  6 22:28 ostree
-rw-r--r--.  1 root root   511 Feb 21  2024 refind_linux.conf

I renamed loader to loader.1 and created a new symlink named loader pointing to loader.1 and it seems to work now.

2 Likes