If true, it would be highly unusual. Booting UEFI is started by the UEFI BIOS loading a file from some directory in /EFI/ on the ESP filesystem. The name of the directory there for any GNU/Linux installation either comes from the GRUB_DISTRIBUTOR= value in the installed system’s file /etc/default/grub, or a default string when that value is absent. In openSUSE, nothing is the default, so the string used is “opensuse”. This means that on a running default openSUSE installation, /boot/efi/EFI/opensuse/ is the location the UEFI BIOS finds openSUSE’s boot file(s).
Understanding this is one of the keys to understanding multibooting in UEFI. Each installation of openSUSE uses this same /boot/efi/EFI/opensuse/ location, which means the second openSUSE installation usurps boot control from the first. Initially this is usually OK, as the new installation is what one wishes to boot, and, when “Probe Foreign OS” has been checked during installation, Grub’s menu will include selections for all previously installed operating systems that it knows how to identify.
As long as GRUB_DISTRIBUTOR= is left at its null default on every installation, every transaction on every openSUSE installation that causes /boot/efi/EFI/opensuse/ to be written, such as new kernel installation or update to Grub, may be wresting control from the other. This can be perfectly OK if your mind understands what is happening.
I don’t like this musical chairs version of boot control. Ways to avoid it include:
- only have Grub installed on one installation. Only one bootloader per GNU/Linux PC is necessary.
- do not mount ESP filesystem on /boot/efi/ except on the installation you wish to retain control.
- use a different ESP filesystem for each operating system installation. This one requires making use of the BIOS BBS menu whenever booting a different OS from last time is desired.
- give GRUB_DISTRIBUTOR= a unique value before installing an additional operating system, preferably having it applied to /EFI/ via a kernel update or other activity that writes to the ESP before beginning the new installation. e.g. use YaST Bootloader to change the Grub timeout value.
I employ a combination of 1, 2 and 4. I have an active bootloader only in TW. I also have GRUB_DISTRIBUTOR=“opensusetw” in /etc/default/grub, which means boot is initiated by the UEFI BIOS by loading from /EFI/opensusetw/ on the ESP, and /boot/efi/EFI/opensusetw/ exists on the running TW system. When booted to anything other than TW, the ESP filesystem is not mounted on /boot/efi/. The actual boot stanzas most often used live in /boot/grub2/custom.cfg on the TW / filesystem. The automatically generated /boot/grub2/grub.cfg incorporates its content automatically.
The filesystem for UEFI booting is on the EFI System Partition - ESP. Multibooting is complicated enough without employing imprecise technical terms.
I’m surprised you managed to create an ESP so tiny, and get the installer to actually use it.
Whether CSM or EFI is offered is entirely dependent on whether the installation was initiated in CSM mode or in EFI mode. Typically a boot will default to CSM mode if CSM is enabled, while when it is not, only EFI is possible. With CSM enabled and you with boot in EFI mode, it’s typically necessary to employ the BBS menu directly, or indirectly via UEFI BIOS setup.
MBR is a term with multiple uses. Every disk has a first sector. That sector is called the MBR. When it only contains traditional content, you have an MBR-partitioned disk that can only be booted in legacy/BIOS mode. The content of the MBR usually is of multiple types. It starts with code. It ends with partition table. In between is commonly disk identification.
The MBR sector on a GPT disk needs no boot code. Instead, it contains a partition table in the same location as a legacy disk, but usually with a special “protective” table entry that identifies it as a GPT disk, where the actual partition table utilized begins on the next sector, uses several sectors following, and is duplicated at the end of the disk.
The BIOS boot partition is a substitute for the space in the boot track on a legacy/BIOS/MBR disk that normally holds Grub code. That space, since it’s used for GPT table, is not available for Grub’s use on a GPT disk.
Multibooting has always been complicated to set up, art as much as science, and I can’t imagine it not remaining so indefinitely. Some people have better luck than others, apparently including you. UEFI presents an environment that has multibooting in mind, in design, not as an addon of competing bootloaders. It’s not perfect, but IMO clearly better overall.
Rsync would certainly be an option. Adjusting bootloader and fstab for different UUIDs and LABELs is certainly going to be required whether you rsync or most anything else. If it was me, and sda has room of adequate size to hold the complete / from NVME, I would most like to clone the / filesystem to sda. But as long as sda remains legacy/MBR/BIOS partitioned, the process would likely be constrained by the usual primary/logical partition scheme limitations. A clone from GPT would need to be on a primary, something I’ve never had need to try.
You might want to consider getting sda’s 15.5 to be an up-to-date near twin to that on NVME, so that you can continue running it just as well as now. Once that’s done, you’d be free to start from scratch on NVME for 15.6.
Multibooting is complicated to set up. Did I already say that? Multibooting is complicated to set up. It helps immensely to understand what’s going on and how it works. Once enough of that happens, it seems simpler.