How to switch to EFI booting & Booting off USB stick

I have a Dell Precision D11S workstation running OpenSUSE 42.3. The Dell BIOS is set to Legacy boot, and all goes well. But in the boot menu, OpenSuse is listed under UEFI Boot. However, if I turn on UEFI Boot, the system fails to boot with a “no bootable drives” message. I looked at https://en.opensuse.org/openSUSE:UEFI, but cannot figure out how to change my system without destroying it.

I have an EFI partition mounted on /boot/efi, and inside it is an EFI directory with what look like the correct files.
How can I redo my system to boot successfully in UEFI mode?

This issue arises because I need to update my BIOS to fix the INTEL Management bug. Dell only provides a .exe file to do this, and so I must boot into either Windows or DOS via a USB stick. I made two of them: 1) A Windows 1o Recovery drive that boots successfully on a windows machine, and 2) A freeDOS stick made using Rufus. In the Dell Boot Menu, i do not have a choice of which USB drive to boot from, and it always comes back with a “can’t boot from USB drive” message. So how can I get my BIOS updated?
Thanks for any help,
Jim

So you can start your openSUSE 42.3 system when your UEFI is set to Legacy boot?

Which boot menu?

Please do

> ls -la /boot/efi

and post the result here.

I’m not quite sure what your problem here is. I guess you need to to setup an bootable USB stick. Which bootloader is going to be used on that stick? Should that stick boot in UEFI or MBR mode (= Legacy boot = CSM)? What file system is on that stick?

Dell user forums might be a better place to ask for help on how to do an BIOS/UEFI-update.

Regards

susejunky

Yes!

Which boot menu?

The Boot menu on the Dell when you hit F12 while booting

Please do

> ls -la /boot/efi

and post the result here.

ls -la /boot/efi
total 12
drwxr-xr-x 4 root root 4096 Dec 31  1969 .
drwxr-xr-x 1 root root 1122 Oct 27 18:20 ..
drwxr-xr-x 7 root root 4096 Jul 18  2016 EFI
drwxr-xr-x 2 root root 4096 Mar  4  2016 en-us


Also, there is no /sys/firmware/efi directory

od -An -t u1 /sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data gives no output.

I’m not quite sure what your problem here is. I guess you need to to setup an bootable USB stick. Which bootloader is going to be used on that stick? Should that stick boot in UEFI or MBR mode (= Legacy boot = CSM)? What file system is on that stick?

Dell user forums might be a better place to ask for help on how to do an BIOS/UEFI-update.

Regards

susejunky

So, i’m not sure what you want to achieve. Would you like to enable your openSUSE installation to be booted in UEFI mode?

If so, do just the following:

  1. Start your openSUSE installation (by booting in Legacy mode as you always did up to now)
  2. Check that you really have an EFI partition and that it is mounted. In “/etc/fstab” there should be a line like this
UUID=1234-ABCD  /boot/efi  vfat  umask=0002,utf8=true  0  0

and

# blkid
/dev/sda1: LABEL="BOOT" UUID="1234-ABCD" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6"

should show the device.

  1. Open a terminal and become “root” by
> su
  1. Issue the following commands
# grub2-install --target=x86_64-efi /dev/sdX

where “/dev/sdX” is the device that carries the EFI system partition.

# grub2-mkconfig -o /boot/grub2/grub.cfg
  1. Reboot your system into your UEFI setup
  2. Switch your UEFI from Legacy boot to UEFI boot
  3. Reboot

Regards

susejunky

It will fail to execute efibootmgr (we are still in legacy mode) so it also won’t add EFI boot menu entry,

Nor is there any need to add /dev/sdX parameter, it is ignored for x86_64-efi target anyway.

Ah, yes that is true!

OP will have to switch his UEFI to UEFI boot first and then use a separat boot media and a chroot environment.

I guess you can help him on that.

Regards

susejunky