Could not prepare boot variable: Function not implemented error

Hi,

I am trying to install Leap on a Fujitsu P400 that already has Windows 10 on. These are my steps :-

Create bootable with Leap ISO image
Boot PC with USB drive plugged in
Select Install

The install gets right to the end and then it errors while saving the bootloader configuration and installing the boot manager.

This is my first Linux installation - treat me gently :slight_smile:

Thanks

Lee

It might be easier to help, if you could tell us what was in the error message.

Hi,

Please sse below :-

YaST2

Execution of command “”/usr/sbin/shim-install","-config-file=/boot/grub2/grub.cfg"]]" failed.
Exit code: 5
Error output: Installing for x86_64-efi platform
Installation finished. No error reported.
Could not prepare Boot variable: Function not implemented

Another window also has progress bars active which say…

“Saving bootloader configuration…”
“Install boot manager”

The system boots and works fine when I leave the USB stick in. When I remove it, Windows boots.

Thanks
Lee

Does this mean that all of the install went to my USB stick and my one disk drive in the pc was not touched?

Thanks

Lee

It’s hard to tell with that information. My best guess is that your UEFI firmware does to fully implement the standard, and that causes the problem.

When you have the system up and running, please provide the following output (as root):


efibootmgr -v
df
ls /boot/efi/EFI

Hi nrickert,

This is the output


Lee@DESKTOP-URN4ONE:~> sudo efibootmgr -v 
BootCurrent: 0004 
Timeout: 1 seconds 
BootOrder: 0004,0001,0005,0003 
Boot0001* ST250DM000-1BD141     BBS(HD,,0x0)AMBO 
Boot0003* Realtek PXE B02 D00   BBS(Network,,0x0)AMBO 
Boot0004* UEFI: Generic Flash Disk 8.07 PciRoot(0x0)/Pci(0x1d,0x0)/USB(1,0)/USB(5,0)/HD(
1,MBR,0x14dbffdb,0x800,0x1daf800)AMBO 
Boot0005* Generic Flash Disk 8.07       BBS(HD,,0x0)AMBO 
Lee@DESKTOP-URN4ONE:~> 

Lee@DESKTOP-URN4ONE:~> sudo df 
Filesystem     1K-blocks    Used Available Use% Mounted on 
devtmpfs          906900       0    906900   0% /dev 
tmpfs             917584       0    917584   0% /dev/shm 
tmpfs             917584   17816    899768   2% /run 
tmpfs             917584       0    917584   0% /sys/fs/cgroup 
/dev/sda8      187055040 6062008 179343400   4% / 
/dev/sda8      187055040 6062008 179343400   4% /.snapshots 
/dev/sda8      187055040 6062008 179343400   4% /usr/local 
/dev/sda8      187055040 6062008 179343400   4% /srv 
/dev/sda8      187055040 6062008 179343400   4% /boot/grub2/i386-pc 
/dev/sda8      187055040 6062008 179343400   4% /opt 
/dev/sda8      187055040 6062008 179343400   4% /tmp 
/dev/sda8      187055040 6062008 179343400   4% /root 
/dev/sda8      187055040 6062008 179343400   4% /home 
/dev/sda8      187055040 6062008 179343400   4% /boot/grub2/x86_64-efi 
/dev/sda8      187055040 6062008 179343400   4% /var 
/dev/sda6         511720    7808    503912   2% /boot/efi 
tmpfs             183516      12    183504   1% /run/user/1000

Lee@DESKTOP-URN4ONE:~> sudo ls /boot/efi/EFI 
boot  opensuse 
Lee@DESKTOP-URN4ONE:~> 

Thanks

Lee

It is pretty much as I guessed. Your UEFI firmware (or BIOS) does not fully implement the UEFI specifications. That’s the cause of your problem.

The easiest way of dealing with this is what you are doing – use the install media for booting, and from there you probably select “boot from hard drive” to get to your installed system.

There are other possible ways of working around this, but none of them are perfect. If you can find out what other owners of this hardware are doing, that might give some ideas.

Thanks for solving this mystery, and you are correct -I do choose “boot from hard drive” when the USB stick is plugged in. I’ll just need to remove the USB stick if I want Windows.

Out of interest, what are the other options, as I will do some further research, as well as find other Fujistu P400 owners.

For now though, I’ll buy a little USB stick that does’t stick out so much, so it won’t get knocked.

Thanks

Lee

PS: does this forum have a “Thank You” option?

Hush-hush, the star below each post.

There are, but it takes experimenting to find out what works.

It amounts to tricking the computer into booting linux when it thinks it is booting Windows. This could involve copying the Windows boot code to elsewhere, and then copying the openSUSE boot code over the current Windows boot code.

The downside is that some Windows updates may fail, because those updates test the boot path before updating WIndows booting.

For now though, I’ll buy a little USB stick that does’t stick out so much, so it won’t get knocked.

That sounds like a plan.

Try to install and use rEFInd.