Leap 15.1 to 15.2 upgrade on Dual boot system removes Windows 10 from GRUB boot menu

I have a laptop on which I have Windows 10 and openSuSE 15.1 installed. GRUB is the boot loader, and with the Leap 15.1 installation, Windows 10 appears in the boot loader menu - as I want it to.

It is tempting for me to just get rid of Windows 10 on this laptop, however, I need it for now.

Anyway, I attempted to do an “upgrade” installation of Leap 15.2 over the weekend with my source being a DVD burned from the 15.2 iso. When the update was done, Windows 10 no longer appeared in the GRUB boot menu. Seems to me that this is a bug.

I checked that all the partitions on the drive still existed, and they appear to be fine. I did an image backup of this failed installation and restored an image backup of the system with Leap 15.1/Windows 10. After restoring this image, Windows 10 was in the GRUB boot menu again.

I think that the obvious thing to do, though I did not have time after the update and this is why I made an image of the failed 15.2 system, would be to run the GRUB install process with a command-line switch telling it to look for other operating systems - i.e., my Windows 10 installation.

Is this the correct approach or is there another approach that I would have to take? Restoring the image backup of the failed installation is a relatively trivial task for me, and it seemed the best thing to do so that I would not have to run the upgrade installation again.

Thanks in advance for any help.

Hi
So what boot method, Legacy or UEFI?

All that was probably needed was to fire up YaST Bootloader and ensure the check box was active for ‘probe foreign os’ on the last tab…

As soon as you have restored 15.2 you could try to run (as “root” in a console)

**#** grub2-mkconfig -o /boot/grub2/grub.cfg

However without knowing your boot method (UEFI or CSM) it is hard to give any further advice.

Regards

susejunky

Yes, this may be the point. If you change which boot method betwen 15.1 and 15.2, you would end up with what you describe. Updating with the DVD installer will usually set your system to booting the way that you booted the DVD installer.

IIRC I read somewhere that Windows will reappear in Grub as a result of any activity that rewrites /boot/grub2/grub.cfg, such as changing anything in YaST2 Bootloader, installing a new kernel, removing a kernel, running grub2-mkconfig, or causing rebuild of an initrd. To be sure, check /etc/default/grub to ensure it does not contain GRUB_DISABLE_OS_PROBER=“true”.

Legacy. The laptop does not have a UEFI bios.

If I had known this, I would not have come here. :wink:

Thanks. I will check this.

Thanks for the replies.

Hi
The installer is pretty intelligent, so I expect it would have not touched the mbr, so likely just needs to chainload the windows side.

Thanks. Unfortunately, I will not have time to get back to this until this weekend. I will test out the suggestions and post my results.

Honestly, I would be surprised if the mbr was altered. Overall, I think the most recent versions of openSuSE are solid especially in terms of updating.

Honestly, I was not expecting this to happen. I do not know, from a software standpoint, if it is possible to check the existing configuration of the boot loader, however, I was hoping that the boot loader configuration would have been checked during the upgrade, and Windows would simply have been there in the GRUB menu.

After I first installed 15.1 along side Windows, I had to do some research on how to get GRUB to stop showing a Windows 7 Menu item that was essentially dead as I had upgraded that to Windows 10. So, I had already customized GRUB to some extent. From my perspective, it would have been nice to just see things as they were - aside from the 15.1 to 15.2 upgrade. However, I am not what I would call a GRUB expert. Like others, I have to look things up. It seemed to me that this particular issue was worth posting about just in case no one had seen it before.

I am going to look back at my previous post explaining how to hide Windows 7 from the GRUB menu to see if it required an entry in the config file. Before I restore the updated drive image, I might copy the existing config file to a USB drive - just in case it might be useful.

I finally had a chance to look at this. It does appear that the config file in the upgraded 15.2 is the config file from my 15.1 installation as it had the partition ID in it that I had told it to skip - an old and invalid Windows 7 installation that I had upgraded to Windows 10. However, as I had noted, the Windows 10 entry was not available on boot in the Grub menu.

What I had to do was to run

**#** grub2-mkconfig -o /boot/grub2/grub.cfg

as susejunky suggested, and the Windows 10 entry again appears in the Grub boot menu.

To me, anyway, it seems like the upgrade from 15.1 to 15.2 should have run this by default.

Anyway, if this happens on the next upgrade, I will remember I had this experience and look for this thread.

Thanks again for all the help.

Hi
That may only be part of the issue, need to check that os-prober is active, either in /etc/default/grub and run that command, else the openSUSE way, fire up YaST Bootloader and check the last tab on the right to ensure there is a check in the checkbox to probe foreign os.

It can also be checked in the final summary screen under the ‘bootloader’ section if it is needed or not…

It does run that by default. However, it seems that it sometimes doesn’t function properly when run from the install environment. So running again after first boot can fix the problem.

I know this is an old thread, however, the same thing happened when upgrading from 15.2 to 15.3. The solution was the same, fortunately. :slight_smile: