I just tried this as an experiment – details below.
First, I cloned my MicroOS vm, and worked with that clone for testing.
(1) I made sure I had a way of booting the system that did not depend on grub working. In this case, I had Tumbleweed on an external USB drive, so I booted that drive in my cloned VM. I then updated grub2 there, so that the boot menu for the external drive included an entry to boot MicroOS.
(2) I tested this alternative way of booting (it worked)
(3) I booted into the cloned VM the usual way. I then ran (as root)
transactional-update pkg remove grub2
That removed several packages. (I should have written down what they were, but I didn’t)
(4) I rebooted. And, as expected, I got a grub failure on boot.
(5) I rebooted using my alternative way of booting. And then I ran:
transactional-update pkg install grub2-x86_64-efi
which pulled in several other grub packages.
(6) I now rebooted the normal way. And this worked. However, I noticed that booting from a snapshot was no longer in the boot menu.
I later checked my original (not the clone) MicroOS VM, and found that “patterns-base-bootloader” was one of the other packages removed. So I installed that again. And I restored the original “/etc/default/grub” (from “/etc/default/grub.rpmsave”). In a transaction-update shell, I then ran “update-bootloader” but I still do not have a menu item to boot a read-only snapshot.
You can maybe try something similar. It should get you back to a working grub. But I’m unsure how to restore the boot entry to boot a snapshot.