Please verify the name of the GRUB packages you currently have installed. If they include something like
grub2-i386-pc (or directory
/boot/grub2/i386-pc exists), you've accidentally booted the SuSE installer in legacy BIOS mode, and so it has installed a legacy BIOS version of GRUB bootloader, which naturally cannot boot any operating system that uses the newer UEFI boot scheme.
To fix this:
First, find out how to boot your system to Linux in UEFI mode and gain access to your OpenSUSE installation. A openSUSE installation media in Rescue System mode, or a LiveCD/USB could be suitable from this. Here's a link to the relevant instructions from openSUSE documentation
Verify that you're in fact in UEFI mode by running
efibootmgr -v. If it responds with
EFI variables are not supported on this system you are not managed to boot in UEFI mode, but in legacy BIOS mode. (Booting in legacy BIOS mode disables the UEFI runtime services, which is the mechanism used to access the EFI NVRAM variables.)
You may need to change your UEFI BIOS settings to prefer UEFI boot over legacy BIOS, or to outright disable the legacy compatibility (often known as CSM = Compatibility Support Module). The actual procedure at this point is specific to your hardware and UEFI BIOS. Consult your hardware documentation.
Once you've managed to boot the system in UEFI mode and are accessing your openSUSE installation, remove any current GRUB bootloader packages. Then mount your EFI system partition as
/boot/efi and fully reinstall GRUB2. If the package management requires you to pick the actual version of GRUB2 hardware-dependent package, pick
grub2-x86_64-efi instead of
Usually, the full reinstallation of GRUB includes a script that will automatically update the EFI NVRAM variables using the
efibootmgr tool. With
efibootmgr -v, you should see a list of boot options, similar to what is available in UEFI BIOS settings. After the (re)installation of an UEFI version of GRUB, the list should include a new entry for OpenSUSE, specifying the location of the
grubx64.efi bootloader file within the EFI system partition. If that does not happen for some reason, you can use a command like the following to create it manually:
efibootmgr -c -d /dev/sda -L "openSUSE" -l '\EFI\opensuse\grubx64.efi'
Note that the
efibootmgr -d option specifies the whole-disk device that contains the EFI system partition, not the partition itself.
The EFI system partition is not exclusive to Windows: in UEFI systems, all the installed operating systems are supposed to put their primary bootloaders in there. There is even a standardized directory schema for avoiding conflicts between bootloaders: each vendor is supposed to put their bootloader in
\EFI\<vendor name>\ directory, and both openSUSE and Microsoft comply with this.