So you have a dual boot? Let's say you need that Win10 running close by because of the work (although MS Office apps get slower by the minute). Then you also have Manjaro, Ubuntu or something like that because WSL doesn't do the trick. And of course you need to update your Win10. What a great idea.
Removing your GRUB or others from UEFI loader list
Aside from people reporting day by day more and more bugs with new updated/upgrades gotten through Update manager it comes with one more surprise: IT ALWAYS! ALWAYS! REMOVES YOUR BOOTLOADER and sets it's own as default one. So no now you can't boot to GNU/Linux. Aside from seriously thinking about going against all my principles(cheapness) and asking employer for a MacBook Pro and even buying two (for my UX/designer wife and myself), I really hate MS so much these days that I will probably at some point buy PS for games and use GNU/Linux exclusively + host everything either on DigitalOcean, AWS, GCP or anything other than Azure. Have you noticed maybe: they really p***ed me off with Azure bugs, slowness and it's support + now this! Ugh!
But let's try to fix some things
CMD not PowerShell
Why? Well because MS doesn't care so if you run Powershell in Admin mode you might as well remember to type in cmd first, as PowerShell won't work with BCD for some reason (some PCs I think, not all of them, but please do inform me why is this if you know). If you get this
The set command specified is not valid.
Run "bcdedit /?" for command line assistance.
The parameter is incorrect
then you know you have this issue with CMD over PS so you need either, as previously stated, type in cmd in powershell to switch or just rum CMD as admin in the first place
BCD commands
Thanks to this post there's a bunch of nice commands like
bcdedit /enum firmware
that I learned and this one is to check where is your GRUB efi
You can check list of loaders with bcdedit
and it should look something like this
Goal is to replace that manager so first copy the record
bcdedit /set {bootmgr} path \EFI\Manjaro\grubx64.efi
Set it as first boot
bcdedit /set {fwbootmgr} displayorder {223530be-53f4-11e9-a11b-b6bc71c9efcb} /addfirst
where {223530be-53f4-11e9-a11b-b6bc71c9efcb} should be the link to your linux firmware entry from the /enum frimware list
Watch out that partition for {bootmgr}
should be something like partition=\Device\HarddiskVolume1 and not the C: drive
Check again with
bcdedit /enum firmware
If the first entry in list is Windows boot loader pointing to actual Windows remove it with
bcdedit /delete {id}
bcdedit should now return something like this
You can see that I don't bother changing name but the frimware needs to list something like this
where {bc076f50-4923-11ea-b280-806e6f6e6963}
is my Frimware application for Manjaro and {bootmgr}
is edited to point to Manjaro instead of Windows.
Now I'm not sure can you make this work without removing Windows one in firmware listings but my PC took listing Firmware app + changing bootmgr to Manjaro + removing Windows extra one at the top when using
to fix it
bcdedit /enum firmware
That's it and good luck!
Latest comments (0)