First, try disabling Secure Boot. Although Ubuntu should work with Secure Boot enabled, there are occasional bits of flakiness that cause problems, so it's worth trying it with Secure Boot disabled.
Second, I note the following from your Boot Repair output:
efibootmgr -v
Timeout: 2 seconds
BootOrder: 0000,0001,0002
Boot0000* ubuntu Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,)
Boot0001* UEFI: IP4 Realtek PCIe FE Family Controller ACPI(a0341d0,0)PCI(2,3)PCI(0,0)MAC(f8a963c13bd7,0)IPv4(0.0.0.0:0<->0.0.0.0:0,0, 0..BO
Boot0002* UEFI: IP6 Realtek PCIe FE Family Controller ACPI(a0341d0,0)PCI(2,3)PCI(0,0)MAC(f8a963c13bd7,0)030d3c000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000..BO
That ubuntu
entry looks a bit weird. Ordinarily, it would look something like this:
Boot0000* ubuntu HD(2,c00,114000,6e49fcaf-d054-47c9-ba69-a668c5ee8192)File(\EFI\ubuntu\shimx64.efi)
Note that this includes a path to a file, starting with the hard disk (HD(...)
). Yours lacks that, which suggests some sort of problem. You might try manually adding a boot entry with efibootmgr
in Linux, as in:
efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\ubuntu\\shimx64.efi -L MyUbuntu
This command should create a new entry called MyUbuntu
. Note the doubled-up backslashes (\\
) used as directory separators in the path to shimx64.efi
. After you type this command, use efibootmgr -v
to view the results; you should see a new entry that includes the path to shimx64.efi
, and its number should be first on the BootOrder
line. If that all looks good, then reboot and hope it works.
If the boot fails at this point and efibootmgr -v
shows that the entry you created has changed, you could try creating the entry in an EFI shell program. This process is a little involved, but in brief:
- You must obtain a version 2 EFI shell. This binary works well for most recent computers.
- You must set it up so you can launch the shell. Copying it to a FAT partition on a USB flash drive as
EFI/BOOT/bootx64.efi
should enable you to boot into it. As an alternative to these first two steps, you can download a USB flash drive or CD-R version of rEFInd, prepare a boot medium, and boot it. These versions of rEFInd include an EFI shell binary that you can launch from the second row of icons.
- In the shell, type
bcfg boot dump -b
to see the existing entries. Pay attention to the numbers, since you'll need to create an entry using a number that's not already in use.
- Create a new entry by typing
bcfg boot add 4 fs0:\EFI\ubuntu\shimx64.efi "Ubuntu (shell)"
, changing 4
to a number that's not in use. Note the backslashes used as directory separators. Also note this assumes that fs0:
is your ESP. (You can double-check this by typing fs0:
and then using dir
or ls
to view its contents.) This creates an entry with a name Ubuntu (shell)
in the menu. (That name is arbitrary; change it as you see fit.)
- Type
bcfg boot mv 4 0
, changing 4
to whatever number you used in the previous step. This sets the new entry as the default.
- Type
reset
to reboot the computer.
If this procedure fails, then your firmware is very badly broken. If the computer is brand new, I recommend returning it to the store and contacting Toshiba to tell them why you returned it. Manufacturers will keep selling junk if people don't complain, and returning junk is the only way we have to complain that will get any attention at all.
If the above procedures fail and you can't return the computer, you could try copying the contents of EFI/ubuntu
on the ESP to EFI/Microsoft/Boot
(you'll need to create that directory) and rename shimx64.efi
to bootmgfw.efi
. You may then need to create a boot entry with efibootmgr
or bcfg
, as just described. As you might guess, EFI/Microsoft/Boot/bootmgfw.efi
is the usual name of the Windows boot loader. Unfortunately, some badly broken EFIs won't boot anything else. Boot Repair can also set this up, although I believe you need to select an option on the Advanced menu to do it.