On 21/05/2023 18:05, stan via users wrote:
1. Caveat: This is a complex procedure, and from your past posts of
your skill level, maybe too risky for you to do.
There is lots of room in / for /boot. Right now you are using a
separate /boot, but there is a way to use a /boot under the
root partition (currently masked by the separate /boot partition), and
you would no longer have this problem. Others can critique the algorithm
below for errors or improvements.
You are right, a separate /boot partition is not really necessary,
unless you are running disk encryption. I don't think I ever had a
separate /boot on my desktop computer. I have not tested whether /boot
on btrfs works with grub on legacy BIOS, though, but it works on UEFI
and with ext4 on legacy BIOS.
That said, this definitely is a "don't try this unless you know what you
are doing" situation. You should at least roughly know how grub works,
how it can be reinstalled, how its configuration can be generated and
how to use a live/rescue system booted from USB (or optical disc) to
repair things should problems arise.
If you don't know what you are doing, reinstalling the complete system
without a separate /boot is likely easier and safer.
Have fedora running as you currently do,
replicate the contents of the current /boot partition into another
temporary directory like
/root/boot_copy or /home/[your login]/boot_copy
no need to create a temporary copy. Simply unmount, temporarily mount he
partition somewhere else and copy from there.
I can't remember if rsync will create a target directory if it
doesn't
exist, so it might complain unless you create the directory first.
rsync -a -i -u -v -x -A -H -X /boot/ /root/boot_copy
or
rsync -a -i -u -v -x -A -H -X /boot/ /home/[your login]/boot_copy
then unmount
/boot
umount /boot
which should expose the /boot under /dev/sda6 which is the root
filesystem.
Now copy the earlier copy of boot you made into the /boot under
/dev/sda6
rsync -a -i -u -v -x -A -H -X /root/boot_copy/ /boot
or
rsync -a -i -u -v -x -A -H -X /home/[your login]/boot_copy/ /boot
Once this is done, and you confirm that all the files are there, have
proper permissions, and have proper SElinux context,
ls -nZ /boot
compared to
ls -nZ /root/boot_copy
or
ls -nZ /home/[your login]/boot_copy
and all subdirectories of /boot
e.g. ls -nZ /boot/grub2
ls -nZ /boot/loader/entries
if you have an efi partition, though I think you said legacy,
and it doesn't show in the df
ls -nZ /boot/efi/EFI/fedora
edit /etc/fstab
and comment the line for /dev/sda3, the current separate boot partition.
Put a # at the start of the line.
You should now be able to reboot, and the system will boot from the
/boot under /dev/sda6
no, it will not. Grub will just use the kernel and initrd from the old
boot partition as before. Only the booted kernel will not mount the
separate /boot any more. The system will likely continue to work as
before, but kernel updates will be broken.
You also have to reinstall grub to the MBR, so it uses its files
(including the configuration) on the new location. And you have to
update the grub configuration (likely including the individual files in
/boot/loader/entries) to use the kernel and initrd from the new location.
There is quite some potential for mistakes that will break the boot process.