14

I'm experiencing something weird today. I've been searching all over the internet, but I can't seem to find anybody who has the same problem.

I have Kubuntu 21.04 and Windows 11 installed in dual-boot.

Yesterday, i did a "cumulative update" for Windows 11, then i shut the computer down.

Today, I can't get GRUB to load. I tried entering the following command in windows command line but it didn't help

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

Some file name seems to have been corrupted or something. Here is a picture of the error message:

Error message

Can someone tell me how to fix this?

EDIT: So I managed to get grub back by using boot-repair BUT As soon as I booted in Windows 11 again, the problem reappeared (no windows update, just plain booting).

So I boot-repaired again, and as boot-repair basically reinstalls Grub, I had to reconfigure it for iommu (gpu isolation for VMs).

So for now, I can get to Kubuntu and work with my VMs but I am kind of nervous to try Windows 11 again, as configuring iommu takes time and I have a lot of work to do.

System specs:

  • I9-10900K
  • 64GB Corsair DDR4
  • 1TB Sambung EVO+ NVME SSD
  • AMD Radeon Pro W5700
  • Msi Z490-A Pro

Output of sudo efibootmgr -v (after fix)

BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0001
Boot0001* Windows Boot Manager  HD(1,GPT,41013caf-e980-464c-b214-4c6885f2bac7,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)..BO
Boot0003* ubuntu        HD(1,GPT,41013caf-e980-464c-b214-4c6885f2bac7,0x800,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI)

PS sorry for the poor quality of my English, as it is not may native language.

Thanks

4
  • Generally better to use /EFI/ubuntu/shimx64.efi. Post this from Ubuntu live installer or your system, if you can directly boot Ubuntu from UEFI boot menu. sudo efibootmgr -v What brand/model system?
    – oldfred
    Aug 1, 2021 at 18:26
  • Tthanks for the reply. As mentioned in my edit, the issue is now partially solved (as long as I don't boot in Windows again). Here's the output of efibootmgr -v BootCurrent: 0003 Timeout: 0 seconds BootOrder: 0003,0001 Boot0001* Windows Boot Manager HD(1,GPT,41013caf-e980-464c-b214-4c6885f2bac7,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)..BO Boot0003* ubuntu HD(1,GPT,41013caf-e980-464c-b214-4c6885f2bac7,0x800,0x32000)/File(\EFI\UBUNTU\SHIMX64.EFI) Here are the system specs I9-10900K 64GB Corsair DDR4 1TB Sambung EVO+ NVME SSD AMD Radeon Pro W5700 Msi Z490-A Pro Aug 1, 2021 at 20:03
  • Better to post in question, so you can maintain formatting. Hard to read in comments. Older Windows with updates reset some things. Is this new Windows 11 always resetting things or is it updating a lot? Both Windows & Ubuntu/grub reset to be default boot on major updates. Have you updated UEFI? You may have to redo settings if you do or if Windows does that. I have to keep a list for my Asus motherboard settings.
    – oldfred
    Aug 1, 2021 at 20:26
  • Can you not select Ubuntu from the system firmware options instead of first going through BCD? This will avoid the Windows bootloader altogether.
    – galexite
    Aug 2, 2021 at 19:45

9 Answers 9

4

I've investigated how to repair the grub boot. Finally, I found the solution with the following commands:

  1. sudo add-apt-repository -y ppa:yannubuntu/boot-repair

  2. sudo apt install -y boot-repair

  3. boot-repair

But, when I subsequently boot into Windows, and then I restart to login to Ubuntu, the same problem occurs.

I have BIOS version:

  • Windows 10 Pro Version 1909
  • Ubuntu 20.04.20 LTS
1
  • Someone suggested an edit with advice for you on how to solve the second half of the problem - boot into windows and run this command bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi (see askubuntu.com/questions/342365/…) If this helps you, we can approve the edit suggestion (please let me know)
    – Zanna
    Sep 30, 2021 at 3:22
2

In terminal, try running:

sudo update-grub
sudo apt update && sudo apt upgrade

I've been having this issue as well and have had to use boot-repair off a live usb. I've tried this after seeing that in the standard repo there seems to be an updated grub version I guess (grub2? Is this old or am I just dumb?). After updating and restarting, I still get the same error screen as you, but on the very last line, it now reads:

start_image() returned Invalid Parameter, falling back to default loader

With that, it now shows the general grub menu I'm used to, allowing me to select Windows 10 or Ubuntu again. This has been the closed I've gotten to a solution so without having to run boot-repair every time I'm down with Windows and need to get to Ubuntu. I hope this helps!

1
  • Really helpful answer - I wasn't able to use boot-repair directly from ubuntu as well as live-usb - this helped me get to the grub menu finally
    – aspiring1
    Oct 6, 2022 at 5:17
1

I've had the same issue after upgrading to Ubuntu 21.04 dual-booting with W10 but entering the command that you tried in an admin command line in windows seems to have solved it.

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
1
  • Have the same issue as posted by author but not worked by applying your command Aug 16, 2021 at 5:16
1

What worked for me was to name the FAT32 partition and then from windows terminal locate the ubuntu folder and just adding grubx64.efi.gbr

Naming your FAT32 partition (If you have already done this then ignore this part) :

Open Windows terminal as admin

  1. Chose Diskpart :

    C:\WINDOWS\system32> diskpart       
    
  2. Find out the Disk number of your FAT32 partition

    DISKPART> list vol                    `
    
  3. Select Volume (Here 2 is an example volume number)

    DISKPART> sel vol 2                    `
    
  4. Naming the volume :

    DISKPART> assign letter=E:              `
    
  5. Exit Diskpart :

    DISKPART> exit                          `
    

Fixing the Grub :

  1. First

     C:\WINDOWS\system32> cd /d E:     
    
  2. Then

     E:\> ls EFI
    
  3. Next

     E:\>cd EFI
    
  4. Next

     E:\EFI>cd ubuntu
    
  5. Next

     E:\EFI\ubuntu> touch grubx64.efi.gbr
    
  6. Now revert back to C Drive and set path to grub as default :

    E:\EFI\ubuntu> cd /d C:
    
    C:\WINDOWS\system32> bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
    
  7. Reboot Your Computer and it should work.

1
  • I tried this solution, but after doing it my computer will not boot into either Ubuntu or Windows 11. Earlier it would only boot into win11. On startup it says it fails to open grubx64, and then it goes in an infinate loop like this. Any suggestions? Seems I can not do much at this time
    – Bergkamp10
    Sep 19, 2023 at 10:50
1

I am also suffering from this issue running Windows 10 dual-booting with Ubuntu 20.04.3 LTS. Following the advice in this thread and others I've got things to the same point as FirDouglas. That is, grub fails to load initially, it then 'falls back to default loader' and I can select Ubuntu. This would be bearable if Ubuntu loaded up correctly. For whatever reason, it doesn't load the NVIDIA graphics driver (and possibly others but I haven't tested enough to find out) and the resolution is all kinds of messed up. Running boot-repair and restarting fixes everything. Loading into Windows breaks it again, sadly.

I don't have enough technical knowledge to fix it myself but, hopefully, this bit of information helps point to what the problem may be.

EDIT: I have managed to find a solution (that works for me, at least). That is, switching from shimx64.efi to grubx64.efi, which sounds like what FirDouglas has done except that I did it via the boot-repair package. Here's what I did: rather than choosing the recommended repair, I went into advanced options and, under "GRUB options", unchecked the "SecureBoot" option (it's checked by default despite Secure Boot being disabled in BIOS). I also checked "Purge GRUB before reinstalling it" to clear out what was there because I've been messing about with it - not sure if it's necessary in all cases. That's it, boot-repair now installs grubx64.efi and grub works just like it used to. You cannot run Secure Boot with this, obviously, but I will take that over having to run boot-repair every day.

1

I've got the same issue after upgrading Kubuntu to 21.04.

Booted from live USB, tried boot-repair with different options, it did not help.

It turned that my Acer PC:

  • Does not support booting via shimx64.efi, but supports grubx64.efi and refind_x64.efi.
  • Supports only boot record named "Windows Boot Manager" and ignores others.

The solution that worked for me:

  1. Boot from a suitable Linux live USB, for example Kubuntu installer USB. Open a terminal.

  2. Become root and install efibootmgr if needed:

     sudo -i
     apt install efibootmgr
    
  3. Check that the active boot record named "Windows Boot Manager" contains unwanted bootloader:

     efibootmgr --verbose
    
  4. Note the number of the active boot record. Its output format will be BootNNNN, where NNNN is the number that you will need to use in the subsequent efibootmgr commands for the --bootnum switch. In my case, the output was Boot0000, thus, the number used for the --bootnum switch was 0000.

  5. Remove the active boot record:

     efibootmgr --delete-bootnum --bootnum 0000
    
  6. Create a boot record with wanted bootloader at the place of just-removed boot record:

     efibootmgr --create --bootnum 0000 \
                --label 'Windows Boot Manager' \
                --loader '\EFI\ubuntu\grubx64.efi'
    

    or

     efibootmgr --create --bootnum 0000 \
                --label 'Windows Boot Manager' \
                --loader '\EFI\refind\refind_x64.efi'
    
  7. Check that the boot record table looks good now:

     efibootmgr --verbose
    
  8. Reboot.

0

I had the same problem and I found another question related to this.

I found out that my problem was probably some kind of Windows malfunctioning that was causing errors in GRUB loading. What actually worked for me was reinstalling GRUB for UEFI boot (and not for the Legacy one), following the arch wiki, and changing my BIOS settings from "Legacy+UEFI" to "UEFI".

Hope this will help!

0

I believe this has something to do with Microsoft trying to enforce secure boot. If I load the EFI shell from bios, and navigate to EFI\ubuntu, I was able to copy grubx64.efi over shimx64.efi. I'm assuming shimx64.efi isn't getting the correct parameters hence the error so just trick things by putting grubx65.efi there instead.This assumes you are not running secure boot, and I'm running windows 10 instead of 11.

0

I've been having the same error message. This is a dual-boot machine and it starts happening after I boot into Windows 11. Booting still works so it's not a blocker but just annoying. It can be mitigated by re-running grub-install, but subsequent booting into Windows will bring it back.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .