I have a fed29 system where the root fs is too small , only a couple of GB free. I have cloned the fs to a new partition with twice as much space but I can’t get grub to make it the default root fs at boot time.
This is a particular problem since this laptop has a dead screen and I use a separate VGA monitor plugged into the VGA adapter. This works fine, except that it seems that grub boot menu goes to some memory mapped to the built-in screen and this is not visible on the external VGA screen.
In short I’m blind at the time of the grub menu.
I originally cloned ( via dd ) to a lower partition number expecting grub to boot as before and allow me to resize and then move the root fs via /etc/fstab. It seems dd meant that both partitions have the same label and UUID. This maybe the reason that grub used the first one it found with that UUID. Sadly this one needs the fs stretching to fill the partition, which cannot be done when it is running as the root fs !
I made third copy with cp -a to an even lower partition , it still boots to second one ( which now has a unique UUID since I changed original partition’s UUID ).
I also now ran grub2-mkconfig which presumably created 3 entries (?) but I will never know because I cannot see grub at boot time and the stupid arcane scripting of grub2 means that there is not grub.conf where the boot menu can be inspected to changed. It’s “virtual”.
Now all three of these partitions should be bootable if only I can point to them. Ideally at this stage I would like to boot to the last copy since it was reordered by cp -a and will have minimal fragmentation and has ample free space.
BTW /etc/fstab specifies / but seems to be totally ignored. I do not have a separate /boot partition.
I’m sure this must be flexible enough to boot to whatever I want by default ( ie without the need to see the grub menu at boot time ) but I can’t find the trick.