My current /boot is 500M. I ran out of space trying to upgrade from 42 to 43. I managed to free up enough space to get 43 working but there is only 4M free.
I created a 2G partition ext4 partition using gparted (/dev/nvme1n1p7). Then copied the files in /boot:
If I change the UUID in /etc/fstab and /boot/efi/EFI/fedora/grub.cfg to the UUID of the new partition will this be enough to boot from the new partition?
I believe that there is a simpler solution. Once you have moved the files to the new /boot partition, you need to dismount /boot/efi & /boot. Then edit /etc/fstab to use the new UUID for the new /boot.
Mount the partitions newly with sudo mount -a to ensure that it all will mount correctly.
If that all works then simply remove the file /boot/efi/EFI/fedora/grub.cfg and /boot/grub2/grub.cfg. Restore those 2 files with sudo dnf reinstall grub2-common which should rebuild both files with the updated info.
This should not be necessary since the boot occurs from the efi partition and you did not change the UUID of that partition.
Another possibly simpler solution could be to delete the old /boot partition and assign the UUID already in the efi grub.cfg file to the new partition. This would eliminate the need to alter fstab as well as the need to edit that grub.cfg file.
umount /boot/efi
umount /boot
lsblk -f
tune2fs -U random /dev/<oldbootdevice> # /dev/nvme1n1p5 (?)
tune2fs -U 'UUID from the old /boot' /dev/nvme1n1p7
#check with
lsblk -f
systemctl daemon-reload (?)
mount -a
you could revert this process booting from a live image if that failed.
you also need to make sure that the selinux labels are applied correctly in the new /boot fs
-U UUID
Set the universally unique identifier (UUID) of the file system to UUID. The format of the UUID is a series of hex digits separated by
hyphens, like this: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". The UUID parameter may also be one of the following:
clear clear the file system UUID
random generate a new randomly-generated UUID
time generate a new time-based UUID
The UUID may be used by mount(8), fsck(8), and /etc/fstab(5) (and possibly others) by specifying UUID=uuid instead of a block special de‐
vice name like /dev/hda1.
All files in old boot partition, including the selinux labels, were successfully copied to the new boot partition. Neither partition nor the EFI partition are currently mounted.
[root@localhost /]# lsblk | fgrep nvme1
nvme1n1 259:0 0 931.5G 0 disk
├─nvme1n1p1 259:1 0 200M 0 part
├─nvme1n1p2 259:2 0 95.7G 0 part
├─nvme1n1p3 259:3 0 102.6G 0 part
├─nvme1n1p4 259:4 0 500M 0 part
├─nvme1n1p5 259:5 0 199.3G 0 part
├─nvme1n1p6 259:6 0 531.3G 0 part /shared
└─nvme1n1p7 259:14 0 2G 0 part
[root@localhost /]# tune2fs -U random /dev/nvme1n1p7
tune2fs 1.47.3 (8-Jul-2025)
[root@localhost /]#
Sigh. Seems tune2fs works on the new partition after all — it just doesn’t give the warnings like it does on the old boot partition. So I, having never used this command before, assumed that it didn’t work
Thanks. I was using tune2fs random on nvme1n1p7 because I didn’t think that it had worked (and typing “random” is easiter than “9086ee6e-a92c-4eb2-9268-77289d097f03”).
I think that I’m ready to reboot. Any missing steps?
[root@localhost /]# mount -a
[root@localhost /]# lsblk | fgrep nvme1
nvme1n1 259:0 0 931.5G 0 disk
├─nvme1n1p1 259:1 0 200M 0 part /boot/efi
├─nvme1n1p2 259:2 0 95.7G 0 part
├─nvme1n1p3 259:3 0 102.6G 0 part
├─nvme1n1p4 259:4 0 500M 0 part
├─nvme1n1p5 259:5 0 199.3G 0 part
├─nvme1n1p6 259:6 0 531.3G 0 part /shared
└─nvme1n1p7 259:14 0 2G 0 part /boot