You are not logged in.
Hi,
I know there exist many posts on how to dual boot with WIndows 10 on UEFI, but none of the suggested solutions worked for me so far. I followed the german beginner's guide and the german UEFI boot guide where I chose to use systemd-boot.
After finishing the guide I was not able to boot into Arch, because no boot menu was displayed. I figured this was an issue with the Acer laptop resetting the efi boot order on every reboot. So after researching a lot, I finally managed to boot into Arch by replacing the windows efi file (/boot/EFI/Microsoft/Boot/bootmgf4.efi) by the systemd-created file (after backing up the Windows file).
Now I can boot into Arch (the boot menu shows the configured Arch and Arch Fallback entries), but not into Windows. Of course I can replace the efi files again and boot into Windows, but I don't get the option to choose between them during boot time.
[EDIT] I also tried bcdedit on Windows, with no success.
I tried to add a new loader entry for Windows, but it is completely ignored (does not show up anywhere)
Output of fdisk -l:
Gerät Anfang Ende Sektoren Größe Typ
/dev/sdb1 2048 923647 921600 450M Windows-Wiederherstellungsumgebung
/dev/sdb2 923648 1128447 204800 100M EFI-System
/dev/sdb3 1128448 1161215 32768 16M Microsoft reserviert
/dev/sdb4 1161216 131074047 129912832 62G Microsoft Basisdaten
/dev/sdb5 131074048 244320255 113246208 54G Linux-Dateisystem
/dev/sdb6 244320256 250069646 5749391 2,8G Linux Swap
Output of efibootmgr:
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,2001,2002,2003
Boot0000* Windows Boot Manager
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot2003* EFI Network
I would be very thankful for any advices or ideas on how to fix it!
Roberto
Last edited by robeeeert (2017-04-09 08:52:29)
Offline
I finally managed to boot into Arch by replacing the windows efi file (/boot/EFI/Microsoft/Boot/bootmgf4.efi) by the systemd-created file (after backing up the Windows file).
Don't do that — copy bootmgfw.efi back so that Windows can boot (and update) properly.
[EDIT] I also tried bcdedit on Windows, with no success.
What was the *exact* `bcdedit` command that you used?
That method is the correct solution for your problem.
Jin, Jîyan, Azadî
Offline
Thanks for your quick reply!
Don't do that — copy bootmgfw.efi back so that Windows can boot (and update) properly.
Aye sir, I know it's a very hacky workaround, but currently it is the only way I get Arch to boot.
What was the *exact* `bcdedit` command that you used?
That method is the correct solution for your problem.
https://wiki.archlinux.org/index.php/Un … boot_order
I tried several different approaches, I also followed the linked guide.
I tried it again now, double checking the paths and entered the following instruction on windows in a CMD with admin priviledges:
bcdedit /set "{bootmgr}" path "\EFI\systemd\systemd-bootx64.efi"
bcdedit /set "{bootmgr}" description "Arch Linux"
When I run /enum firmware the output is as follows:
C:\Windows\system32>bcdedit.exe /enum firmware
Start-Manager für Firmware
--------------------------
Bezeichner {fwbootmgr}
displayorder {eb9c988c-1c32-11e7-82a3-806e6f6e6963}
{c2f405ca-1966-11e7-8b0c-d20a6150b018}
{c2f405cb-1966-11e7-8b0c-d20a6150b018}
{c2f405cc-1966-11e7-8b0c-d20a6150b018}
timeout 0
Windows-Start-Manager
---------------------
Bezeichner {bootmgr}
device partition=\Device\HarddiskVolume3
path \EFI\systemd\systemd-bootx64.efi
description Arch Linux
locale de-DE
inherit {globalsettings}
default {current}
resumeobject {c2f405ce-1966-11e7-8b0c-d20a6150b018}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 60
Firmwareanwendung (101fffff)
----------------------------
Bezeichner {c2f405ca-1966-11e7-8b0c-d20a6150b018}
description EFI USB Device
Firmwareanwendung (101fffff)
----------------------------
Bezeichner {c2f405cb-1966-11e7-8b0c-d20a6150b018}
description EFI DVD/CDROM
Firmwareanwendung (101fffff)
----------------------------
Bezeichner {c2f405cc-1966-11e7-8b0c-d20a6150b018}
description EFI Network
Firmwareanwendung (101fffff)
----------------------------
Bezeichner {eb9c988c-1c32-11e7-82a3-806e6f6e6963}
device partition=\Device\HarddiskVolume3
path \EFI\Microsoft\Boot\bootmgfw.efi
description Windows Boot Manager
The "Firmwareanwendung" entries exactly represent my boot menu entries when I hit F12 at startup[EDIT]my boot order in the BIOS settings (don't know how to call it without causing confusion), except for the last one which I'm not sure about. I may have added that one in one of my previous attempts. I didn't want to delete though, since it could be something important.
I rebooted into Arch right now and executed `efibootmgr` which gives me the following output:
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,2001,2002,2003
Boot0000* Windows Boot Manager
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot2003* EFI Network
So from the description, it seems to use that one last "Firmwareanwendung" entry (which would make totally sense, since I replaced `bootmgfw.efi` with the systemd file again).
Do you have any idea what could be wrong or where to look next?
Last edited by robeeeert (2017-04-08 13:43:18)
Offline
Have you tried copying $ESP/EFI/systemd/systemd-bootx64.efi to $ESP/EFI/BOOT/BOOTX64.EFI?
Unless your firmware is broken or buggy, the presence of that file should generate an "EFI HD Device" (or so) entry.
Unfortunately, it looks to me like your UEFI firmware is not honouring the UEFI specification; this is not uncommon
Jin, Jîyan, Azadî
Offline
Sorry for the late reply. The file has already been there and I think it was created by `bootctl install`. However, it was not complete uppercased, but capitalized only (EFI/Boot/Bootx64.efi), so I renamed it to eactly match the name - it still does not work
I fear I can't make the dual boot work due to the shitty UEFI firmware. Is there any other method to force a manual entry in the loader for Windows, the way I created the two entries for Linux (in /boot/loader/entries)? I'm really desperate right now, this is the third day in a row I am spending for this issue.
Thanks a lot for your replies!
[EDIT]
Okay so I found new hope in a Ubuntu posting: https://ubuntuforums.org/showthread.php?t=2176273
Recapped:
1. During start-up, press F2 to enter the BIOS Settings menu
2. Go to the Boot tab, make sure "Secure Boot" is enabled
3. Got to the Security tab
3.1 Set a Supervisor Password (and remember it!)
3.2 Select Allow a file for secure boot (or similar, can't recall the exact wording)
3.3 Navigate to the file in the systemd Folder
3.4 Give it a descriptive Name and confirm with yes
4. Go back to the Boot tab
5. Disable secure boot again
6. Change the boot order and pull the new entry with the descriptive name above the Windows entry by navigating to it with the arrow keys and hitting F6
7. Go to the Exit tab and select "Save changes and Exit"
8. Press F12 to enter the boot loader menu
If you're still booting directly to Windows, let it happen, login and do the following:
1. Open the energy Settings
2. On the left select "Define what happens when the power button is pressed" (or similar, I have the German Version only)
3. In the first text Paragraph, click the link with the admin Icon to enable more Settings on the bottom
4. In the newly enabled Settings on the bottom, uncheck "Fast boot"
5. Save the Settings
6. Reboot
7. Press F12 to enter the boot loader menu
[EDIT2]
Okay, back on track with official Arch documentation again, I focused more on the secure boot topic: https://wiki.archlinux.org/index.php/Secure_Boot
It reads as if I had to reinstall Arch in secure mode (even booting the USB flash drive containing the archiso in secure mode) and signing some stuff with Microsoft stuff - WTF?
I guess I will continue tomorrow and keep this post updated.
Now I can select the systemd efi file and it tries to boot, but I'm still stuck, since it gives me an error concerning the vmlinuz file or similar. I'm investigating an dwill update the post if I find more! In the meantime, I really appreciate your suggestions!
[EDIT3] Solved it and updated the steps above
Last edited by robeeeert (2017-04-09 08:54:06)
Offline
Now I can select the systemd efi file and it tries to boot, but I'm still stuck, since it gives me an error concerning the vmlinuz file or similar.
Can you post the exact error message?
Also, I don't think that Secure Boot has anything to do with your problem.
Jin, Jîyan, Azadî
Offline
robeeeert wrote:Now I can select the systemd efi file and it tries to boot, but I'm still stuck, since it gives me an error concerning the vmlinuz file or similar.
Can you post the exact error message?
Also, I don't think that Secure Boot has anything to do with your problem.
The error message was
Error loading vmlinuz-linux - security policy violation
and then I got a full screen iconized error that said
Secure boot fail
But anyway, I solved it!
The steps I described in my previous post were all correct, but I missed two tiny things: After marking the efi file as trusted in the BIOS boot settings menu, simply disable Secure boot entry in the `Boot` tab again and change the boot order. The new entries are added to the bottom of the list, so you have to move them above the Windows entry. Then save the settings and reboot, hit F12 and you'll be able to select Arch or Windows. If you select Arch, it will lead you to the systemd menu where you will be able to select Arch again and then it will boot Arch!
Whoohoo!
Thank you a ton, Head_on_a_stick! You rock!
P.S. I'll update the previous post with the two final steps now, so it's one complete recipe for anyone with an Acer laptop who comes here for a solution.
Last edited by robeeeert (2017-04-09 08:53:07)
Offline