I think that the file explains your behavior, especially in contrast with grub2-install /dev/sda you mentioned above. My assumption as that after installation, MBR was occupied with the generic code, which loads boot sector of the partition with the active flag, and this boot sector contained GRUB. Then, from some reason, you ran grub2-install /dev/sda for the first time, which replaced the generic code in MBR with GRUB, however, you did not change the configuration file. Then, when GRUB got upgraded, it updated itself in the boot sector (according to the configuration file), but since there is no update of the generic MBR code, there was no need to update it. However, since you ran grub2-install /dev/sda, the code in MBR pointed to stuff which belonged to GRUB version you just removed. Detecting this is not really possible - even if there is GRUB code in MBR, it may belong to other instance of GRUB on the same machine, which chainloads your system, and therefore reinstalling it would break such set-ups. I think that you should either adjust GRUB configuration file to install to MBR on next update, or restore the generic booting code in your MBR. Then, I believe, GRUB updates should work for you. Michael, did I miss anything?