I’m trying to install a dual boot to openSUSE 15.1 on a XPS-13 7390 running Ubuntu 20.04. This is the first time I’ve done this, and I cannot get it to work. Using a variety of approaches to create the bootable ISO (dd, Etcher, 7-zip), I always get the same error:
• error: unknown file system
• error: you need to load the kernel first
This is my latest attempt:
I’ve downloaded the ISO: openSUSE-Leap-15.1-DVD-x86_64.iso onto my hard drive.
I’ve created the boot USB in several ways, this is the latest…
using the Disks utility I formatted the USB to a FAT partition (I’ve tried: dos, EFI(FAT-12/16/32), gpt, Linux filesystem, gpt, Microsoft basic data)
using 7-zip I created the UEFI ISO image: 7z x Downloads/openSUSE-Leap-15.1-DVD-x86_64.iso -o/media/greg/SUSE_UEFI
The above created the following:Disk /dev/sda: 28.66 GiB, 30752636928 bytes, 60063744 sectors
Disk model: Ultra
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: ED06D777-60B4-4554-8B8E-50A69183AF76
Device Start End Sectors Size Type
/dev/sda1 2048 60061695 60059648 28.7G Microsoft basic data
using GRUB Customizer I added the USB ISO to the boot menu. This created the following boot sequence:set root=’(hd1,1)’
search --no-floppy --fs-uuid --set=root 283C-D46A
loopback loop /EFI/BOOT/bootx64.efi
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/EFI/BOOT/bootx64.efi quiet splash locale=en_US bootkbd=us console-setup/layoutcode=us noeject –
initrd (loop)/casper/initrd.lz
The above shows that I selected the /EFI/BOOT/bootx64.efi file. This may be the problem, but I have not found any other direction on this.
When booting, the menu allows selection of the SUSE_UEFI boot option, but using that option always produces the the errors noted above.
Best would be to create the boot USB using “dd” or similar, so that the USB contains the exact image of the downloaded iso.
As best I can tell, you are trying to use the Ubuntu bootloader to boot the iso. And this can run into secure-boot problems, because the Ubuntu bootloader wants a loaded kernel to be signed with the canonical key instead of with the openSUSE key.
Yes, I am attempting to install openSUSE onto my hard drive, so that I can dual boot to openSUSE or to Ubuntu. My current approach for this install is, during boot up, to select the openSUSE USB that I created from openSUSE ISO download. This may be a wrong approach for an install. I’m very much in the learning phase here…
You should be able to select the install USB from the BIOS boot menu. That way, it does not go through the Ubuntu secure-boot checking.
The message “error: you need to load the kernel first” is typically what happens when secure-boot verification fails. Maybe there’s some other cause for that message, but it seems most likely to be a secure-boot issue.
If you use “dd” to create the USB, it should be bootable from the BIOS in UEFI mode. The way that you describe for creating it might produce a USB that is only bootable via another grub (such as the Ubuntu grub), but that can’t work with secure-boot.
Alternatively, you could try disabling secure-boot in your BIOS, and then retest the way you have been attempting to boot.
Yes, in creating the boot entry, I selected /EFI/BOOT/bootx64.efi as the “ISO image” in GRUB Customizer. In looking at the USB file structure created by dd/Etcher/7-zip, I do not find an *.iso to point to. My selection is obviously not working, but I don’t know of other option(s).
I’ve created the USB ISO by various means (dd, Etcher, 7-zip). While I can see differences in the partition formatting, none of these have been recognized as a install or boot option on restart. The only way I’ve found to create a USB boot option is to create a boot entry in GRUB Customizer. But as noted, my selection of the /EFI/BOOT/bootx86.efi as the “ISO image” is not valid.
I think Secure Boot is OFF…
sudo mokutil --sb-state
[sudo] password for greg:
SecureBoot disabled
When I do F12 on restart, the GRUB boot menu is preceded by a System Performance Check, then boot starts with the boot menu:
*Ubuntu
openSUSE_UEFI <<< this is my menu entry as indicated above
Advanced options for Ubuntu
UEFI Firmware Settings
Restore OS to factory state
There’s never any USB option before the boot menu appears. This USB stick was generated using 7-zip. I can rewrite it using dd and try again…
I created to USB again, using dd: sudo dd bs=4M if=/home/greg/Downloads/openSUSE-Leap-15.1-DVD-x86_64.iso of=/dev/sda status=progress oflag=sync
which produced the following: Disk /dev/sda: 28.66 GiB, 30752636928 bytes, 60063744 sectors
Disk model: Ultra
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x26ce2674
Device Boot Start End Sectors Size Id Type
/dev/sda1 2760 10571 7812 3.8M ef EFI (FAT-12/16/32)…
/dev/sda2 * 10572 7923711 7913140 3.8G 17 Hidden HPFS/NTFS
I’m still not clear on different boot options. I have edited the GRUB boot menu using GRUB Customizer, and this have given me a USB boot option, but my selection ISO Image: …/EFI/BOOT/bootx64.efi is not correct and I cannot find any other options. None of my key selections (Esc, F2, F12, Shift) have given be a “boot from USB” option on this machine (XPS-13 7300 Ubuntu 20.04)
I’ll update upon restart… NOPE, no USB boot option given on startup.
On all of my system, I can hit F12 while booting. And that brings up a BIOS boot menu.
To be sure, I repeatedly hit the F12 key during boot, until I see that menu. On some computers, I don’t get the BIOS boot menu if I am too slow in getting to the F12 key – this is why I repeatedly hit it.
On my main desktop (a Dell), the boot menu gives me a choice of booting the USB in UEFI mode or in CSM mode (assuming that I have disabled secure-boot). With secure-boot enabled, the boot menu only gives UEFI choices.
When I use the F12 key on restart, it goes to System Performance mode to check display, memory, etc. performance. After ending that, it goes to the usual boot menu (below).
My boot loader is: grub-install –versiongrub-install (GRUB) 2.04-1ubuntu26.7
I have enabled the boot menu to show every time I restart, but there is no USB option. The only options are:
Ubuntu
Advanced options for Ubuntu
UEFI Firmware Settings
Restore OS to factory State
Note: In the UEFI Firmware Settings there is a setting, Enable USB Boot Support. This setting has always been enabled in this process.
Has Ubuntu put the GRUB2 (Ubuntu version) into the hard disc so that IT DISPLACES the F12 option to select a DVD/USB/Hard disc .?
*
Have you the USB inserted when you select F12, if so it should show up on GRUB (It may need two tries or ‘update GRUB’ with your USB inserteed .*
The startup hot keys are often displayed on the computer splash screen. If not or it goes buy too fast consult the hardware docs. Not all computers use the same keys to display the different UEFI functions.
1: Copy the kernel and “initrd” from the install USB into a directory on the EFI partition. That’s the EFI partition on your hard drive, not the one on the USB.
Relative to where you mounted the USB (the iso9660 partition), the kernel will be at:
boot/x86_64/loader/linux
and the initrd will be at
boot/x86_64/loader/initrd
2: You then need to tell grub to load that kernel and initrd.
I am using (in “/etc/grub.d/40_custom”)
menuentry "install" {
search --fs-uuid --set=root 9E16-E212
linux somedir/linux
initrd somedir/initrd
}
where "somedir" is the name of the directory in the EFI partition where you copied those. And you will need to change that "9E16-E212" to the UUID of your EFI partition.
Your USB will need to be plugged in when you try that menu entry. It should get you into the installer. Or, at least, that works for me when I am dealing with a non-standard setup (in my case, with 32bit UEFI on a 64bit system).
For this to work, secure-boot needs to be disabled. That's because the kernel is signed with the opensuse secure-boot key, but your Ubuntu system is checking for signatures made with the Ubuntu key (canonical key).
OK, I found the issue. The F12 key serves two purposes…
Holding F12 (Fn+F12) during restart - puts the system in Performance Test Mode
Repeatedly pressing F12 during restart (just the Insert/F12 key, so this is really Insert in my keyboard) - this puts the system into One Time Boot Options, and here the boot from USB can be selected. This does not work if pressing Insert just once, or holding Insert, but the Insert key must be pressed repeatedly until the One Time Boot Options starts up.
So using #2 above starts up the openSUSE Leap 15.1 installer. Now I just need to figure out how to partition my SSD for the dual boot.
This is the solution, as you note, repeatedly pressing the F12 key during restart opens the One-Time Boot Options. As noted in the previous reply, this did give the option for the USB, and that started up the openSUSE installer.
Thanks much for your help. I just need to work through a good solution for the partitioning for dual boot.