I changed hardware and now my system doesn't start
Before your start
For this procedure, you need:
- A Solus Live USB
- Your disk encryption password, if your system is encrypted
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:
-
-
Update the system configuration to address the hardware changes.
Details
-
Re-run system-wide configuration triggers
sudo usysconf run -f
-
If you use an UEFI system, update the boot entries for your EFI menu:
sudo clr-boot-manager update
-
-
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.