I’m not able to boot into a fresh installation of openSUSE Tumbleweed (20190219, 64-bit ISO), thru GRUB2 which was installed earlier by Ubuntu Mate 18.10
I’m getting following error with quite a few options I’ve tried so far. I’ve installed Grub Customizer too in Ubuntu Mate.
Error: File `/boot/vmlinuz-4.20.7-1-default' not found.
Error: You need to load the kernel first.
While installing Tumbleweed from 64-bit DVD ISO, I’ve selected to (attaching a picture of this screen):
Install boot code into a partition with /boot
Boot Loader Type: GRUB2
Status location: /dev/sdb3 (/boot)
Few options I’ve tried so far by editing sudo pluma “/etc/grub.d/40_custom” in Ubuntu Mate:
AFAIK the GRUB version installed with Ubuntu cannot read the disk layout of the btrfs partition formatted by openSUSE.
You may try to boot your fresh Tumbleweed one way or another, for instance using the Tumbleweed install media and choosing “Boot Linux System” instead of “Install” etc.
Then, once logged in Tumbleweed, run YaST2-Bootloader (just type “boot…” in the application menu and choose “Bootloader”), make sure that the “probe foreign OS” flag is ticked so that you will be able to boot Ubuntu (and others if installed), save and reboot.
The openSUSE GRUB should be able to recognize whatever you have installed on your disk. If not so, ask again here, we are glad to help.
Updated to Ubuntu 18.04.2 LTS (Bionic Beaver) a few minutes ago. The following entry was created for Tumbleweed:
menuentry 'openSUSE Tumbleweed (auf /dev/sda3)' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-dbc33c75-0fbb-4619-add6-d204ecf63a43' {
insmod part_gpt
insmod ext2
set root='hd0,gpt3'
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 dbc33c75-0fbb-4619-add6-d204ecf63a43
else
search --no-floppy --fs-uuid --set=root dbc33c75-0fbb-4619-add6-d204ecf63a43
fi
linux /boot/vmlinuz-4.14.5-1-default root=UUID=dbc33c75-0fbb-4619-add6-d204ecf63a43 resume=/dev/nvme0n1p1 splash=silent quiet showopts
initrd /boot/initrd-4.14.5-1-default
}
Booted from Ubuntu into Tumbleweed successfully. When installing multiple OSs EFI is highly recommended. For minimum hassle use ext4 for Tumbleweed. As an alternative you may use chain loading:
erlangen:~ # cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry 'Tumbleweed /dev/sdb3' {
search --fs-uuid --no-floppy --set=root 4A24-B10D
chainloader /EFI/opensuse/grubx64.efi
}
menuentry 'Xubuntu 18.04 /dev/sdb2' {
search --fs-uuid --no-floppy --set=root 6DEC-64F9
chainloader /EFI/ubuntu/grubx64.efi
}
menuentry 'Fedora 29 /dev/nvme0n1p1' {
search --fs-uuid --no-floppy --set=root 6DEC-64F9
chainloader /EFI/fedora/grubx64.efi
}
erlangen:~ #
(1) First I tried “Boot Linux System” from openSUSE Tumbleweed live USB flash drive. As you can see in the pictures attached below, it was coming to a stop at:
Started Locale Service\CODE]
Left it there for 20 minutes, two times, same results.
https://i.imgur.com/f6M8DZn.jpg
https://i.imgur.com/dUYrVY6.jpg
https://i.imgur.com/FHodAKI.jpg
(2) If I understand correctly, your openSUSE installation is on EXT4, right?
And yes, this HP PC is little old with legacy BIOS, and do not have UEFI.
Also yes, (in "/etc/grub.d/40_custom") I have tried setting root=UUID; HD0, HD1 with all possible combination of partition numbers too.
Now I have not tried this yet: "/boot/grub2/grub.cfg". So gonna try it and will report back.
Thanks again all of you :)
Alright I tried: “configfile /boot/grub/grub.conf” but the same results.
Also the way I quickly try all combinations of (hd0,msdos3) or (hd1,msdos3) and so on… on the GRUB2 (Ubuntu Mate) screen, I select my custom entry of “openSUSE Tumbleweed”, hit “e” to edit.
Then change hd or partition numbers and hit F10, and most of the times that screens just refreshes, I do not even get any error, if i use
configfile /boot/grub/grub.conf
I get error only if i use:
linux /boot/vmlinuz-4.20.7-1-default root=UUID=c5e369e1-d46a-48ad-b08e-6dd2a9b4d248 ${extra_cmdline} splash=silent resume=/dev/disk/by-uuid/e9e79445-7a21-46a9-a77f-61efcecc7e2d quiet
initrd /boot/initrd-4.20.7-1-default
Thanks alot for the reply. So I followed this to the letter (screens are attached). After the reboot it was still GRUB2 from Ubuntu Mate 18.10.
So I downloaded new Tumbleweed ISO, 20190226. Prepared the flash drive again via Etcher in Ubuntu Mate. Formatted Tumbleweed partition again to BtrFs.
And this time I selected to install boot code into MBR.
But installation settings screen was still showing that it’s gonna install MBR into /dev/sdb. So I changed the “Disk Order Settings” and made /dev/sda first entry.
Installation went thru just fine but after the reboot, guess what… it was GRUB2 from Ubuntu Mate.
Though I was able to boot into openSUSE Tumbleweed by changing boot order of SSDs from BIOS.
So is there any way (for my next installation), I could install GRUB2 from openSUSE onto MBR of hd0 ? I know this would overwrite GRUB2 from Ubuntu Mate.
Thank you so much everyone
I think I can’t insert more than five images, so here are the Imgur links for few more screens.
You have check the box for “Custom Boot Partition”. And then you have to enter the device (such as “/dev/sda”). Note that this will be the device names as known to the installer.
During an install, when the summary page is showing click on “Booting” to get to the detailed settings.
Never to my knowledge has openSUSE provided a /boot/grub/grub.conf file. With Grub Legacy it’s always been /boot/grub/menu.lst, same as upstream Grub (because of the FAT 8.3 filename limitation involving Grub4DOS), and which Debian and its derivatives (including *ubuntu) used before they switched to Grub “v2” a decade ago. Grub2 for MBR booting openSUSE (or any other distro) I’ve never used, but since with UEFI booting it uses /boot/grub2/grub.cfg, and *ubuntu uses /boot/grub/grub.cfg, I’d expect /boot/grub2/grub.cfg to be used by Grub2 in openSUSE, and what your Ubuntu configfile line for TW would need.
Uploads while booted to *buntu can be made without using a web browser, directly using cmdline utility “pastebinit”. Booted to openSUSE substitute the “susepaste” command.
Thank you but apart from configfile, the bigger issue I had was, GRUB2 being written in hd1 instead of hd0. And thanks to @nrickert, I now know, to use custom boot partition option at the beginning of installation.
There was only one option to login with OpenID, which I even spent 5+ min on how to get one, only to find out that it’s paid service.
So I’ve uploaded all the screens from this thread onto OneDrive:
Login is not needed to create a paste at paste.opensuse.org and it is the preferred way to attach stuff to an openSUSE forum post; with a login you may be able to edit or erase your paste, but this is not needed generally, just set a low expiration term if you prefer so.