GRUB Menu Does Not Load

I received a new hard drive for my notebook and first installed Windows 10… went smooth, no issues at all. Then I popped in OpenSuse and went through the installation fine. I did change some of the partitions, but here is what I did:

40GB for /
100GB for /home
7GB /Swap
50GB /VMS (Partition for my to-be virtual machines)

Installed OpenSuse, went fine, it rebooted at the end, but went to directly in my windows. What happened to the menu that allows me to select which OS to boot into? I have no way (I think) to get back in to OpenSuse. Please help with any advice possible.

When I start up my notebook and bring up the boot menu, all it brings up in the boot manager is ‘Windows Boot Manager.’ This doesn’t even look like a grub boot menu.

I don’t mind deleting all the partitions I created when installing OpenSuse but I don’t even know what I did wrong so I know what not to do or to do to make it right. Your help is much appreciated in advance.

Thank you,
AJ

Is this a UEFI box, or an older legacy box?

I’m guessing it is probably UEFI. Just about anything purchased since 2012 will be UEFI.

Is Windows installed to boot with UEFI or is it set for legacy booting?
Is openSUSE installed to boot with UEFI or is it set for legacy booting?

The thing is, either you must use UEFI booting for both, or you must use legacy booting for both. Mix and match doesn’t work and is really “mix and mismatch”. I don’t know if that is your problem. But it is the first place to look.

How to tell? Easiest will be to boot into linux. Yes, I know you can’t do that. But you can boot the installer to rescue mode and login as root. Then run:

fdisk -l /dev/sda

This assumes that your main hard drive is “/dev/sda”. Or you can just use “fdisk -l” and not specify a disk.

Then look for the line that begins “Disklabel type:”.

If it says that the disklabel type is “gpt”, then Windows is using UEFI booting. If it says that the disklabel type is “dos”, then Windows is using legacy booting.

To find out about your openSUSE install, you would need to mount the root partition somewhere. Then check “/etc/fstab” (relative to mount point) and see if there is an entry for “/boot/efi”.

Thanks, and I get most of it what to do, but I’m uncertain how to do the last part and mount (then unmount) the root partition. Can you provide some guidelines around this? Thanks.

You have to know what is the root partition. I’ll call it “/dev/sdaX” here (partition number X).


mount /dev/sdaX /mnt
grep boot /mnt/etc/fstab

Look to see if there is a “/boot/efi”. There might not be anything at all.

While you are about it:


ls /mnt/boot/grub2

If you installed using UEFI, there will be a directory “x86_64-efi”. If you installed using legacy booting, there will be a directory “i386-pc”.

If you only can boot in Windows:
From disk management, what partitions do you see?
Or from command line, with diskpart: diskpart, list disk, list partition, detail disk (partition).
Find if you format disk with gpt, what partitions you have.

When I go into my bios at system startup, it is ‘OS Mode Selection’ is set to ‘CSM and UEFI OS’ and the ‘Fast BIOS Mode’ is disabled. After seeing this I have set the OS Mode Selection to ‘UEFI’ only to avoid any confusion.

As mentioned, I have 1 hard drive with ~500GB. Here is what Windows Disk Management shows:
https://paste.opensuse.org/64249081

Based on this image above, the partitions I created in Linux were the following:
Partition 10: SWAP
Partition 9: VMS (for my virtual machines)
Partition 8: 100GB (/home directory)
Partition 7: 40GB (/ root)
Storage D: 146GB is a storage I created to share between windows and linux
Partition 1, 2 and 6 I did not create but were created by the system automatically.
C: Windows

When I hook up my external DVD drive to boot from opensuse disk and then press F10 to get into the boot menu, I will get this: http://paste.opensuse.org/58439671
Interesting thing to notice in this image is why is it listing my dvd drive multiple times?? I have no clue.

Here is what I see when I run fdisk -l → http://paste.opensuse.org/74407110
As you will see here the disk label type is gpt.

Here is the output of : http://paste.opensuse.org/50528080
mount /dev/sdaX /mnt
grep boot /mnt/etc/fstab
ls /mnt/boot/grub2

I am providing all these images to help explain the issue as well as since I’m still new, providing as much information helps me as well. Hope this helps and I can get this working sooner than later. I have installed opensuse a few times before, but never ran into this issue before.

Thanks in advance again.

  • AJ

Those images give what we need.

Yes, Windows is installed for UEFI booting. And openSUSE is installed for legacy booting. And that mismatch is why you are having problems.

This can be repaired. However, in all honesty, it will be easier to just reinstall openSUSE. Now that you have set your system to UEFI mode only, this should work without problems.

The first boot screen for the installer should look like a grub menu. If there are notations for function keys F1, F2 etc on the bottom of the screen, then you booted the DVD in legacy mode. If there are no such notations, then you should be in UEFI mode. You should be able to use all of the same partitions as before.

When you see a screen with proposed partitions, click “Create partitioning”. On the next screen, click “Expert Partitioner”. At the bottom of that screen, there should be an option “Import Mount Points” (or similar wording). Use that, and you will get back the exact partition setup that you had before.

Now you will need to make one change. Look for the line showing “/dev/sda2”. That should be your 100M EFI partition. Right click on that, and select “Edit”. Then set to mount at “/boot/efi”. (DO NOT FORMAT – it should already be set to not format, so leave that as it is).

Quickly check if everything else looks good. If it does, accept the partitioning and proceed to the reinstall.

So I think i got this correct, I am going to just format the partitions anyway since there really isn’t anything on them. I do have a question is that the installer is saying that the /boot/efi needs to be 256 mb. I can ignore this message and move forward, but want to be sure it will be okay.

Here is the updated partition listing in the installer. . http://paste.opensuse.org/53325362Thanks again for your help.

-AJ

/dev/sda2 is an UEFI partition.
/dev/sda6 is a bios_boot partition.
Windows is installed in uefi/gpt and oS in bios/gpt
You need to install oS in uefi/gpt like nrickerd said.
You need to boot from your DVD in uefi mode and do what nrickerd said.
What is strange to me: your boot is windows boot and a lot of uefi. In this case how you installed in bios/gpt? Or this is the boot menu after you change the bios only in Uefi mode?
PS. You don’t need the bios_boot partition.

Hi, so I’m following (I think) exactly what nrickert suggested.

  1. Should I delete the ‘Bio Boot Partition?’ I didn’t touch it because I wasn’t sure if that was created by windows or what.
  2. I have booted the installation by DVD in UEFI Mode. See previous post image to show that I am in UEFI mode of the installer.

Am I missing something here?

What should I do about this → http://paste.opensuse.org/53325362

Sorry if I missed something, kinda new here and still learning this stuff.

Thanks,
AJ

No, you did not miss anything.
You don’t need bios_boot.
MS said that 100 Mb for efi partition are minimum.
I think is enough for a dual boot with oS.
The recommend size is 256 MiB.

okay… sio i’ll delete the sda6 i have.

When I try to resize the /boot/efi which has a file type of FAT, why does it say

‘This filesystem type cannot be resized?’

I’m trying to increase that partition size from 100 to 256 like it is suggesting.

Should i change the file system type for /boot/efi/

Check this → http://paste.opensuse.org/50853662

Thanks,
AJ

Do not change the file system. For Efi is only fat.
Keep the Efi partition like nrickert said, only mount it on /boot/efi.
I think that if you will stay only with MS and oS, 100 MiB is enough.

Don’t resize. Just use it as it is, mounted at “/boot/efi”. Ignore the message about being too small. The 100M should be adequate.

DO NOT delete / reformat the EFI boot partition. Just mount is as /efi/boot which should be default if you booted the installer in EFI mode. It contains files need to boot ALL EFI booting os’s installed. Removing it will break ALL EFI booting OS’s!!! :open_mouth:

Note the reason you could not increase the size is that you can only increase a partition by adding to the end. You can’t do that if there is another partition in the way. Partitions must be a continues block of sectors.

Could I just delete all the partitions related to Linux and start from scratch leaving my windows partitions as is?

Yes, that would work. And it might even be easier that way.

Okay, so now after doing all this, the situation has been reversed. I can get into OpenSuse, but NOT Windows now. :slight_smile: Go figure…

I used Gparted to delete the Linux partitions, just so I could start from a clean slate. Popped in the OpenSuse DVD and ran the install. Here’s what the partitions looked like when I configured them

http://paste.opensuse.org/93069674

When my system rebooted, all I got was this

http://paste.opensuse.org/69355445

Where did I go wrong this time? This is getting so annoying now…

  • AJ

What happened to your original “/dev/sda2”? That was the EFI partition used by Windows. It seems you deleted that.

Okay, it looks as if some partitions have been moved around. That much should be okay.

It looks as if you have lost the Windows boot code that was in the previous “/dev/sda2”.

I’m not a Windows expert. But if you still have install media for Windows 10, then I think you can boot that and have it repair booting on your system.

See this, 2.3.2.
https://wiki.archlinux.org/index.php/Dual_boot_with_Windows#Restoring_a_Windows_boot_record

It appears that you delete the Windows Efi who was sda2.
Now you have it on sda8.
Normally one install Win first then Linux.
Now with Windows install disk, restore the Windows boot record.
Sorry, it is not annoying, just listen what others said.