You are not logged in.

#1 2025-10-05 13:50:34

schimpfj
Member
From: Frankfurt, Germany
Registered: 2007-08-15
Posts: 57

[SOLVED] How to switch boot partition?

My config:
- Multi-boot Linux/Windows
- /efi is on separate partition
- /boot is on separate partition

When updating system it stopped because boot was running out of disc space.

I created a new XBOOTLDR partition, which I also referenced in fstab via UUID. Unmounted old boot, mounted new boot partition. Update went well.

When rebooting/starting up then the old kernel is still used, aborting startup. Reason is that the old kernel is loaded whilst /lib/modules/ has new modules only, preventing vfat partitions being mounted. Both, efi and boot are vfat.

I managed to get back into the system by copying the new kernel from the new partition to the old partition. This is not a sustainable solution.

How can I make systemd-boot to use new boot partition and not the old one anymore? What step am I missing? I updated systemd-boot and bootctl output does look good. After startup /boot is mounted to new partition.

$ lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 476,9G  0 disk 
├─nvme0n1p1 259:1    0   200M  0 part /efi
├─nvme0n1p2 259:2    0   128M  0 part 
├─nvme0n1p3 259:3    0 308,7G  0 part 
├─nvme0n1p4 259:4    0   1,1G  0 part 
├─nvme0n1p5 259:5    0  18,9G  0 part 
├─nvme0n1p6 259:6    0   1,5G  0 part 
├─nvme0n1p7 259:7    0 145,3G  0 part /
├─nvme0n1p8 259:8    0   191M  0 part 
└─nvme0n1p9 259:9    0     1G  0 part /boot

$ blkid (excerpt)
/dev/nvme0n1p1: LABEL_FATBOOT="ESP" LABEL="ESP" UUID="7C91-EEE7" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="2bc77312-5f5e-4583-aff5-dbab1dbbd773"
/dev/nvme0n1p8: SEC_TYPE="msdos" LABEL_FATBOOT="boot" LABEL="boot" UUID="1CDC-637A" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="boot" PARTUUID="eab5f367-6505-4927-89cc-ed3fc076fdba"
/dev/nvme0n1p9: SEC_TYPE="msdos" UUID="29D1-12E5" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="80dd5565-c237-47ab-9be0-bf3b70194fb3"

$ cat /etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/nvme0n1p7
UUID=944efd0f-ff0b-4bfd-801c-c8e7ec5fb329	/         	btrfs     	rw,relatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/	0 0

# /dev/nvme0n1p8 LABEL=boot
#UUID=1CDC-637A      	/boot     	vfat      	rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

# /dev/nvme0n1p9 LABEL=
UUID=29D1-12E5      	/boot     	vfat      	rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

# /dev/nvme0n1p1 LABEL=ESP
UUID=7C91-EEE7      	/efi      	vfat      	rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro	0 2

Last edited by schimpfj (2025-10-06 16:41:56)

Offline

#2 2025-10-05 14:32:28

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,064

Re: [SOLVED] How to switch boot partition?

https://wiki.archlinux.org/title/System … g_XBOOTLDR

lsblk -o NAME,PARTTYPENAME,MOUNTPOINTS,UUID,FSTYPE

And you did run "bootctl --esp-path=/efi --boot-path=/boot install" after mounting the XBOOTLDR  partition to /boot ?

For clarification: the old kernel (you're booting from) is on 1CDC-637A  and not on 7C91-EEE7 ?
What happens if you change the partition type GUID of 1CDC-637A away from  XBOOTLDR so you have only one partition of that type?
(Make sure to have some live distro at hand in case this results in the system not booting at all anymore)

Online

#3 2025-10-05 15:39:14

schimpfj
Member
From: Frankfurt, Germany
Registered: 2007-08-15
Posts: 57

Re: [SOLVED] How to switch boot partition?

Thank you for looking into this and your suggestion.

I did not run "bootctl --esp-path=/efi --boot-path=/boot install" but "bootctl update" mentioned slightly further down on that page. I just did run the "...install" now as you suggested but no change.

Correct, the old kernel is on 1CDC-637A and used for booting. But new kernel got installed on 29D1-12E5. 7C91-EEE7 is /efi:

$ lsblk -o NAME,PARTTYPENAME,MOUNTPOINTS,UUID,FSTYPE
NAME        PARTTYPENAME                 MOUNTPOINTS                   UUID                                 FSTYPE
sda                                                                                                         
└─sda1      W95 FAT32 (LBA)              /run/media/jochen/ARCH_202510 8662-EA46                            vfat
nvme0n1                                                                                                     
├─nvme0n1p1 EFI System                   /efi                          7C91-EEE7                            vfat
├─nvme0n1p2 Microsoft reserved                                                                              
├─nvme0n1p3 Microsoft basic data                                       be3cc8e4-36b1-48dc-bfb4-408722464ce9 BitLocker
├─nvme0n1p4 Windows recovery environment                               E060C82360C80270                     ntfs
├─nvme0n1p5 Windows recovery environment                               60EEC869EEC83954                     ntfs
├─nvme0n1p6 Windows recovery environment                               9438727A38725B66                     ntfs
├─nvme0n1p7 Linux filesystem             /                             944efd0f-ff0b-4bfd-801c-c8e7ec5fb329 btrfs
├─nvme0n1p8 Linux extended boot                                        1CDC-637A                            vfat
└─nvme0n1p9 Linux extended boot          /boot                         29D1-12E5                            vfat

I renamed the old kernel (1CDC-637A), executed the "bootctl ... install" mentioned above and restarted. I ended up getting prompted whether I want to boot Windows some firmware. Selecting Windows I got prompted for Windows restore key.

Last edited by schimpfj (2025-10-05 15:40:05)

Offline

#4 2025-10-05 19:19:07

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,064

Re: [SOLVED] How to switch boot partition?

Sorry for the delay - did you try to change the partition type of nvme0n1p8? (Theory being that only the first one is considered)

Online

#5 2025-10-06 04:23:50

schimpfj
Member
From: Frankfurt, Germany
Registered: 2007-08-15
Posts: 57

Re: [SOLVED] How to switch boot partition?

I didn't dare. Was trying to keep old partition as backup but will give it a try. However, might take me a while, maybe tonight (CEST).

Offline

#6 2025-10-06 06:46:36

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 69,064

Re: [SOLVED] How to switch boot partition?

You're not supposed to delete any partitions!
Just change he partition type away from XBOOTLDR/"Linux extended boot"

Edit: this is entirely reversible from a live system boot.

Last edited by seth (2025-10-06 06:47:21)

Online

#7 2025-10-06 16:38:36

schimpfj
Member
From: Frankfurt, Germany
Registered: 2007-08-15
Posts: 57

Re: [SOLVED] How to switch boot partition?

That has done the trick. I changed the partition type and now it is booting correctly. Thank you so much for your swift support, much appreciated.

I learned quite some new lessons during this exercise. I assumed changing partition type will erase partition, to name one. Also, there can only be one XBOOTLDR, for another.

I will mark this thread as closed.

Last edited by schimpfj (2025-10-06 16:45:11)

Offline

Board footer

Powered by FluxBB