This is my first post here. I've solved the issue. Since other people may experience the same situation and the answer is not straightforward or easy to find I decided to post a message here.
Situation:
OpenSuse 42.3 installed. Using GPT partitioning. Three partitions exist: /dev/nvme0n1p1 (EFI, fat), /dev/nvme0n1p2 (/, ext4) and /dev/nvme0n1p3 (/home, ext4). An upgrade to 15.0 was performed using zypper (
https://en.opensuse.org/SDB:System_upgrade). After the successful upgrade and a reboot the message "Welcome to grub" was shown on the screen permanently and nothing happens.
What turned out to be wrong:
For some reason OpenSuse 15.0 requires an extra (tiny) partition of type "BIOS boot".
This was how I did it (note that you may have to adjust device names for your situation):
Using a rescue DVD (actually I used a memory stick built using Rufus) I was able to shrink a partition. I have the feeling I did it in a complicated way (resize2fs to shrink an existing ext4 partition, then fdisk to resize the partition and add a new one with type "BIOS boot" (fdisk partition type 4, 21686148-6449-6E6F-744E-656564454649). The size of the new partition was 8M (yes, it is small). I won't give the exact commands since others have described partition shrinking better than I could. It is scary though and I'd recommend doing this only when you are pretty confident using Linux and when you are fully awake.
After creating a new "BIOS boot" partition I used the following commands to fill it (still using the rescue memory stick):
mount /dev/nvme0n1p2 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
grub2-mkconfig -o /boot/grub2/grub.cfg
...
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
done
grub2-install /dev/nvme0n1
Installing for i386-pc platform.
Installation finished. No error reported.
exit
umount /mnt/sys
umount /mnt/proc
umount /mnt/dev
umount /mnt
After that OpenSuse Leap 15.0 booted!
Notes:
If you get an error "grub2-install: error: will not proceed with blocklists." then there is something wrong with the "BIOS boot" partition you just created. Check eg its partition type.
Note that the tiny "BIOS boot" partition is not to be mounted.
I hope it helps somebody. Note that I wanted to post at Suse first but for some reason this failed.
Though I hope this is useful information for someone it is unlikely that I'll respond to questions. Due my angriness I already forgot my LinuxQuestions password.