You can also do this by adding
GRUB_DEFAULT=saved
to your grub.cfg. Then you can create 2 different GRUB entries for the bootloader (for example, "RedHat" and "RedHat RO"). To do this, enter the default entry, as it is in your terminal
grub-set-default "RedHat"
To run another grub entry only for the next reboot problem in your terminal
grub-reboot "RedHat RO"
This works essentially by adding a flag to the grub (grubenv) configuration and removing it after a reboot. So basically your / boot / partition should be writable. You can also reload the boot partition if necessary. In any case, you need the / boot / directory on a separate partition.
Another alternative would be to put a bootable partition on a USB stick and load "RedHat RO" there every time you need it.
Otherwise: As sarnold already said: Changes made to the GRUB command line or editing GRUB are temporary.
source share