My system doesn't start after an update
Before your start
For this procedure, you need:
- A Solus Live USB
- Your disk encryption password, if your system is encrypted
- A stable internet connection
Procedure
-
Shut down your system.
-
Boot from a Solus live USB.
-
Mount the partitions of your Solus system.
Details
To recover your system, you need to mount the Solus root (
/
) partition and all other partitions your system uses.-
Open a terminal.
-
Mount the Solus root partition:
-
Access as the root user by using the following command:
sudo su
-
Create a directory to serve as the mount point for your Solus system:
mkdir /target
-
Find the drive and partition of your Solus system using the
lsblk
command.After running the command, the system displays a list of all the drives in your computer:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 512M 0 part
├─sda2 8:2 0 234G 0 part
└─sda3 8:3 0 4G 0 part [SWAP]
sdb 8:16 0 465.8G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 464.8G 0 part
├─SolusSystem-root 253:0 0 234.3G 0 lvm
├─SolusSystem-swap 253:1 0 3.7G 0 lvm [SWAP]
sdc 8:32 1 14.9G 0 disk
├─sdc1 8:33 1 4.2G 0 part /cdrom
└─sdc2 8:34 1 4.1M 0 part
nvme0n1 259:0 0 476.9G 0 disk
├─nvme0n1p1 259:1 0 500M 0 part
├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 475G 0 part
└─nvme0n1p4 259:4 0 1.4G 0 partYou can use drive size or the number of partitions in each drive to determine which one is your Solus drive.
tipIf you installed Solus on a SATA drive, the name of the drive might be
sdX
(For example,sda
). If you installed Solus on an NVMe drive, the name of the drive might benvme#n#
(For examplenvme0n1
).Write down the name of the drive and the type.
-
If the type of your drive is lvm or if your drive is encrypted:
-
Check if the drive is encrypted.
Encrypted drives do not have the label decrypted after the drive name:
sdb 8:16 0 465.8G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 464.8G 0 part
├─SolusSystem-root 253:0 0 100G 0 lvm
└─SolusSystem-swap 253:1 0 8G 0 lvm [SWAP]Decrypted drives have the label decrypted after the drive name:
sdb 8:16 0 465.8G 0 disk
├─sdb1 8:17 0 1G 0 part
└─sdb2 8:18 0 464.8G 0 part
└─decrypted 253:1 0 238G 0 crypt
├─SolusSystem-root 253:0 0 234.3G 0 lvm
└─SolusSystem-swap 253:1 0 3.7G 0 lvm [SWAP] -
If your drive is encrypted, use
cryptsetup
to decrypt it.cryptsetup luksOpen /dev/partitionName decrypted
For example
cryptsetup luksOpen /dev/sdb2 decrypted
-
-
Mount the Solus root partition:
- If your drive's type is lvm
mount /dev/mapper/SolusSystem-Root /target
- Otherwise:
mount /dev/sdX# /target
- If your drive's type is lvm
-
-
If your computer uses UEFI, mount the EFI system partition:
In new installations, the EFI system partition (also known as ESP) is usually 1 GB in size. For older installations, the partition is usually 512 MB in size.
-
Use
fdisk
to check the partitions of your drive:-
If you have a SATA drive:
fdisk -o Device,Size,Type -l /dev/sdX
-
If you have an NVMe drive:
fdisk -o Device,Size,Type -l /dev/nvme0nX
The system displays something similar to this:
Device Size Type
/dev/sda1 512M EFI System
/dev/sda2 111.3G Linux filesystemIn this case, the EFI system partition is
/dev/sda1
-
-
-
Mount the EFI system partition:
mount /dev/sdX# /target/boot
For example:
mount /dev/sda1 /target/boot
-
Mount other partitions your system might have (for example,
/home
):mount /dev/sdX# /target/home
-
Chroot to your Solus system:
Chroot allows you to execute commands and use utilities from your main system directly. This is necessary to do specific repairs like fixing the bootloader.
- Run the following commands:
mount --types proc /proc /target/proc
mount --rbind /dev /target/dev
mount --rbind /sys /target/sys
mount --make-rslave /target/dev
mount --make-rslave /target/sys - Chroot into your system:
chroot /target
- Run the following commands:
-
-
Check the chroot environment has internet connection.
Details
-
Connect your computer to the internet.
-
Run
ping -c 4 google.com
in the chroot environment.If the chroot environment has internet connection, the system displays the following:
PING google.com (142.250.196.206) 56(84) bytes of data.
64 bytes from nctsaa-ac-in-f14.1e100.net (142.250.196.206): icmp_seq=1 ttl=115 time=4.26 ms
64 bytes from nctsaa-ac-in-f14.1e100.net (142.250.196.206): icmp_seq=2 ttl=115 time=6.04 ms
64 bytes from nctsaa-ac-in-f14.1e100.net (142.250.196.206): icmp_seq=3 ttl=115 time=6.34 ms
64 bytes from nctsaa-ac-in-f14.1e100.net (142.250.196.206): icmp_seq=4 ttl=115 time=5.81 ms
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 4.261/5.613/6.344/0.803 ms -
If the chroot environment does not have an internet connection:
-
Exit the chroot environment:
exit
-
Run the following commands:
cp /run/systemd/resolve/stub-resolv.conf /target/run/systemd/resolve/
cd /target/etc
ln -s ../run/systemd/resolve/stub-resolv.conf /target/etc/resolv.conf -
Go back to the chroot environment:
chroot /target
-
Test the internet connection again.
-
-
-
Repair your Solus installation.
Details
Follow the appropriate steps depending on your situation:
My system stopped working after a failed update.
-
Rebuild the package database:
sudo eopkg rebuild-db
-
Update your system:
sudo eopkg up
-
Check if your system still has broken packages:
sudo eopkg check | grep Broken | awk '{print $4}' | xargs sudo eopkg it --reinstall
If you see output that starts with "Usage", the system has no broken packages.
My system stopped working after a successful update
See Rollback.
-
-
Unmount all the Solus partitions.
Details
- Exit the chroot environment by pressing CTRL + D
- Unmount the Solus partitions:
umount -R /target
- If your drive is encrypted:
- Deactivate your logical volumes and volume groups:
lvchange -a n /dev/SolusSystem/Swap
lvchange -a n /dev/SolusSystem/Root
vgchange -a n SolusSystem - Close the LUKS partition:
cryptsetup luksClose decrypted
- Deactivate your logical volumes and volume groups:
What to do next
Restart your system and verify if the problem persists.
If you are still unable to access your Solus system after following this guide, contact us through any of the support channels.