DualBoot Win10 & Manjaro - Launching Grub & adding Windows to the List

Hello all together, first of all i want to Thank everyone who's going to try to help me. Thanks

My plan was to completely reinstall Windows10 on my Laptop, which was successful, sadly i can't ditch Windows because of the ever lacking MSOffice and Catia Problem...but gotta live with it. After that was done I utilized the Manual from within the Forum and installed Manjaro XFCE.

I have a ACER Aspire E 15 (E5-553G-15FM)

To visualize who I installed the whole thing here is the lsblk output of my 250GB SDD on sdb:

sdb1   ntfs        Recovery  2E68169B681661BF                                    
sdb2   vfat                  081B-A4CC                                           
sdb3                                                                                                                
sdb4   ntfs                  641C2CB91C2C87DE                                    
sdb5   vfat                  4BE7-4EB0                             510,6M     0% /boot/efi
sdb6   swap                  73ddc2a7-e6b4-412a-9c85-f682f73a2fe0                [SWAP]
sdb7   crypto_LUKS       

So the first 4 Partitions were created via the Windows Installer. Where as:

  • sdb1 = Recovery
  • sdb2 = EFI Windows
  • sdb3 = Microsoft Reserved
  • sdb4 = the Install Device of the Windows Filesystem

Then the other three i created alike the upper mentioned Manual:

  • sdb5 = EFI Manjaro
  • sdb6 = swap Manjaro
  • sdb7 = / (root) + /home via LUKS
    and here's the only minor change i did to the Manual, i choose to include my /home within the / (root) Filesystem an not to create a separate /home partition. As well to choose to encrypt my / (root) directory via LUKS.

I was quite aware of the possibility that i probably run into some issues with Booting Process. Bevore switching to Manjaro i had a more or less working Ubuntu/Win10 Dual Boot. But sadly Ubuntu messed up quite something after i tried upgrading it in the EFI-Windows Partition.

So now low me describe what happen. First after Installing but before rebooting I did as mentioned run efibootmgr in the live-Environment of the Manjaro Installer. And did have to Add a separate Entry to the EFI Menu ans also i had to change the boot order via efibootmgr -o. I thought (actually hoped) it would be "done" and tried to reboot an hoped to see GRUB2 with a choice between Windows10 and Manjaro - but it straight booted to Windows.
In Windows utilizing bcdedit /set {bootmgr} path \EFI\manjaro\grubx64.efi didn't changed the whole subject.

Then i started booting again into the live System in order to solve the Problem and while browsing the internet i stumbled across a forum post (someone on a red hat distribution) mentioning some Intel chipset's have a weird tendency to always boot the \EFI\Microsoft\Boot\bootmgfw.efi from the first EFI Partition if available and just ignore everything else. There was also mentioned that it probably ignores everything written into efibootmgr and always resets the Boot-Order within. I checked that and Boot-Order was back to Windows only with dropped Manjaro entry. So i did what the form post mentioned as a solution, sadly i didn't wrote down the forums web address and i seem to be unable to find it again.
There was mentioned to mount e.g. sdb2 (EFI Windows) and move the \EFI\Microsoft\Boot\bootmgfw.efi to a newly created path \EFI\1Microsoft\Boot\bootmgfw.efi so the Chipset isn't able to find the "Standard" fallback location of that evil bootmgfw.efi anymore and then will respect the again newly enter EFI entry's and the correct boot order via efibootmgr.

So i rebooted and YES i was promted to enter my LUKS key but sadly went directly to the Manjaro LDM to be promted a Login. Manjaro itself works flawless and I'm quite happy with the Manjaro+XFCE experience in total. But i really needed to fix the GRUB2 and Boot-Select stuff.

I found this page https://ihaveabackup.net/article/grub2-entry-for-windows-10-uefi offering to create a new entry to the 40_custom GRUB file

 menuentry ’Windoooof 10’ --class windows --class os {
    insmod ntfs
    search --no-floppy --set=root --fs-uuid 081B-A4CC
    chainloader (${root})/EFI/1Microsoft/Boot/bootmgfw.efi
}

afterwards i ran update-grub and tryed restarting, entered my LUKS key hitting numerously the SHIFT Key to force GRUB to reveal itself but i always end directly on the LDM and Manjaro.

I guessed maybe "only" the bootmgfw.efi isn't enough to run the Windows Bootloader, and so i copied the entire folder \EFI\Microsoft to \EFI\1Microsoft while i was in the live-Environment but it didn't changed a thing.

I'm also still not able to "force" Grub to reveal itself on Boot, i think noting with the grub-configuration file is prohibiting it.

GRUB_DEFAULT=saved
GRUB_HIDDEN_TIMEOUT=
GRUB_TIMEOUT=20
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR='Manjaro'
GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=639f1ab2-79b1-417c-9f92-a2be01606678:luks-639f1ab2-79b1-417c-9f92-a2be01606678 root=/dev/mapper/luks-639f1ab2-79b1-417c-9f92-a2be01606678 resume=/dev/mapper/luks-639f1ab2-79b1-417c-9f92-a2be01606678 resume=UUID=73ddc2a7-e6b4-412a-9c85-f682f73a2fe0"
GRUB_CMDLINE_LINUX=""

# If you want to enable the save default function, uncomment the following
# line, and set GRUB_DEFAULT to saved.
GRUB_SAVEDEFAULT=true

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command 'videoinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
GRUB_COLOR_NORMAL="light-gray/black"
GRUB_COLOR_HIGHLIGHT="green/black"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/usr/share/grub/background.png"
GRUB_THEME="/usr/share/grub/themes/manjaro/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
GRUB_ENABLE_CRYPTODISK=y

Now I'm done.....lol I'm very happy if someone reads my entire essay about my journey and is also able to support me with some feedback. I'm dangling with the idea of reinstalling grub, but I must say, I'm not quite sure that I'm able not to break everything in that try.

Thanks beforehand to everyone
Thomas

//edit:
I probably should post the efibootmgr -v output as well:

BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,2001,2002,2003
Boot0000* HDD0: HFS256G39TND-N210A	PciRoot(0x0)/Pci(0x2,0x4)/Pci(0x0,0x0)/Sata(0,0,0)/HD(2,GPT,58143a7c-89ad-4049-ad65-388510aa8db1,0x109000,0x32000)RC
Boot0001* Unknown Device: 	MemoryMapped(11,0xb7e78000,0xb870bfff)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)RCkK..
Boot0002* Unknown Device: 	MemoryMapped(11,0xb7e78000,0xb870bfff)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)RCkK..
Boot0003* Unknown Device: 	MemoryMapped(11,0xb7e78000,0xb870bfff)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)RCkK..
Boot0004* Unknown Device: 	MemoryMapped(11,0xb7e78000,0xb870bfff)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)RCkK..
Boot0005* Unknown Device: 	MemoryMapped(11,0xb7e78000,0xb870bfff)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)RCkK..
Boot0013* Windoof10	HD(2,GPT,58143a7c-89ad-4049-ad65-388510aa8db1,0x109000,0x32000)/File(\EFI\1Microsoft\Boot\bootmgfw.efi)
Boot0014* Manjaro	HD(5,GPT,36cce07a-4cd7-456b-958d-8f3f1722e5eb,0x9088800,0x100000)/File(\EFI\Manjaro\grubx64.efi)
Boot2001* EFI USB Device	RC
Boot2002* EFI DVD/CDROM	RC
Boot2003* EFI Network	RC

and if i manuall change the boot order via efibootmgr -o 0013,0014 it doesn't effect it either, efibootmgr just forgets it till the next reboot.

1 Like

if you check with

sudo parted -l

there is only one partition /boot/efi with esp & boot flag

yes you are right @stephane

Number  Start   End     Size    File system     Name                          Flags
 1      1049kB  556MB   555MB   ntfs            Basic data partition          hidden, diag
 2      556MB   661MB   105MB   fat32           EFI system partition          boot, esp
 3      661MB   677MB   16,8MB                  Microsoft reserved partition  msftres
 4      677MB   77,6GB  76,9GB  ntfs            Basic data partition          msftdata
 5      77,6GB  78,1GB  537MB   fat32                                         msftdata
 6      78,1GB  86,7GB  8590MB  linux-swap(v1)
 7      86,7GB  256GB   169GB

But in my case, still sdb2 the Windows EFI Partition is flagged. But it doesn't recognize the "moved" EFI/1Microsoft/Boot/bootmgfw.efi but just moves on to the not as esp flagged sdb5 which i created whilst installing Manjaro.
And directly boots into Manjaro instead of just showing me at least the grub screen, i think that could maybe be to separate problems.
e.g. Not beeing shown the grub screen AND an other I'm not quite sure off till now.

i tried the UEFI-Safe Boot trick, adding the bootmgfw.efi (from Mircrosoft) and the grubx64.efi (from Manjaro) but i still end up without booting into Grub nor having a choice in the Boot-Order Menu of the Bios.

@SGS I still have to read the entire manual at least once or twice more before I'll try my luck with it.

1 Like

you have to
suppress this fat partition sdb5 , then
restore Grub ,

launch USB manjaro install
open a terminal

efibootmgr ( check EFI is ok )
manjaro-chroot -a ( select 1 if one line )
lsblk -fs ( UUID /dev/db2 )
cat /etc/fstab ( check /boot/efi with UUID /dev/sdb2 and update UUID if it's false ) 
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck --verbose
update-grub 
exit( leave chroot )

now in the /etc/fstab there is mounted sdb5 as /boot/efi => i should change the UUID to sdb2 - did i got that right? So sdb2 (the Windows EFI) gets mounted instead of sdb5 (Manjaro's EFI)?

# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=4BE7-4EB0                            /boot/efi      vfat    defaults,noatime 0 2

and then I'm installing via

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck --verbose

the "new" grub into the then as /boot/efi mounted sdb2 (Windows EFI) partition?

everything of course within the Live-Environment

Go to your bios and use this method for your Aspire E15.
It's in the link of the link that SGS posted above.

And if you further mess up (and cannot boot now) by doing chroot (selecting the wrong $esp or root partition), boot using that SGS link to boot into manjaro instead of chroot again.

1 Like

Sadly that Manual doesn't work for me. I'm able to do step 1,2,and 3 BUT in step 4 were the new EFI file should appear as an entry in the Boot-Order Tab within the BIOS, yeah it just doesn't. I already tried clearing SecureBoot. Doesn't do it either.

@stephane
could you read my previous post and confirm what i recapped, I'm still kinda hesitating....

Okay, I don't have an Acer. But in that link, the OP first step is to enable secure boot so that he can get to select the manjaro file in the security section of the second step.

You may want to ping the user @Eldrik to ask further, but he is not too frequent in our forum and not sure if can respond. But good luck.

I did enable SecureBoot, I'd guess I would say I understand what @Eldrik did try in his Thread. Sadly it (the BIOS) just seems to ignore that I'm trying to add an other .efi file.

But I also know that especially this ACER Notebook has at least one other BIOS flaw, it was able to to virtualization via AMD Hyper-V but there was just no Option to activate it. But after a long search in the interwebs, there came along a Manual how to modify the BIOS.

So maybe, there's even an other flaw, just to "force" people staying at Windows. Or at least trying to scare them of.

1 Like

https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#Windows_changes_boot_order
It seems to be this. If your notebook can use kvm, I recommend you use Windows with qemu-kvm virtual machine. In fact, as the wiki says, this problem can be solved, and his solution will be very ugly.

Sorry for quoting my own post, but did i understood that right? Mounting the fstab in the live Environment of my installed Manjaro, but then i have to unlock the LUKS container of my / (root) partition sdb7
Unlocking it wouldn't be no problem, but sounds odd.

and reinstalling grub onto sdb2 ( Windows EFI) partition?

@stephane would you have a look at my post and check if i got something wrong or missunderstood something. Thanks

And NOW the off-topic is going to start:

How much performance do i gain if i use qemu-kvm compared to virtualbox? I only tried virtualbox and I'm serioulsy starting to rise a point to give it all a f*** (Windows)
BUT for example i never got Catia to render anything properly within virtualbox. And the sad thing is i NEED a working Catia Environment, ain't need to be Windows native. Does qemu-kvm have those "limitations" of the display driver capacity because i don't even know were to begin if i had to install a qemu-kvm system lol

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF
It seems that you need better 3D graphics, and your notebook seems to have a separate graphics card, you can assign a discrete graphics card to the virtual machine through pci pass-through.
In fact, the performance loss of the kvm virtual machine CPU is very low, usually around 5%.
I have played a 3D game for a year with a GPU pass-through KVM virtual machine.

soo...I started to read the Arch GRUB article and slowly starting to think it could have been a smart idea to create at Install not only a unencrypted EFI partition for Manjaro mounted as /boot/efi but to do as well a unencrypted /boot or would it have been possible, to just create a /boot whilst installation and flagging it with boot, esp

Sadly a lot of the hourlong trail&error methods are adjourned till the weekend. Including possible re-Installation, but I first kind-of want to know what actually not working now, to more or less understand what I probably f*d up so far.

Yeah I definitely diving down the ginormous rabbithole of direct virtualization via qemu-kvm.... but that an entire new story go to and I probably starting a Thread once I knew at least a bit about what I actually want/need/should do....

Have you encrypted the /boot partition? This sounds terrible. Finally, have you confirmed that your laptop BIOS can enable IOMMU?:thinking:

On Install I only excluded the /boot/efi suggested from the Tutorial so NOW it's obvious to me that therefore grub is "not visible" to my UEFI bootloader of my Notebook, as long as my system is starting to boot, because it's still encrypted. => FAIL

Maybe that's the background to @stephane 's idea of additionally installing grub onto sdb2 (EFI Partition of Windows) till it's still unencrypted.

Yeah, nah.... I know by recapping the knowledge I gained it's capable of AMD-V so it should be able to handle IOMMU - but as the actual "Activation" of that Function was a more or less dirty hack (https://www.youtube.com/watch?v=SVK943_upho) and as an Acer E5-553G Owner you weren't supposed to activate AMD-V it definitely could be possible some other sub-functions were f***ed up by Acer, just to annoy the customer.

I'm still trying to find myself some good Tutorial/Manual or alike to get into qemu but it's either very specific tailored to certain system configs or just way of my league.....

In fact, if you only need to use GPU pass-through, the support provided by ArchLinuxWiki is enough. It's very simple. I even use a graphical interface to configure the QEMU/KVM virtual machine. He is very easy to use.
Compared to this, I hope that you have actually used the following command to confirm that your computer can use IOMMU.:thinking:
sudo dmesg | grep -i -e DMAR -e IOMMU
In fact, as long as IOMMU is enabled, IOMMU can be detected in manjaro even without any configuration of manjaro.

@Dark_iaji Thanks, those links are very useful.

and thanks to your command, I again learned something and it seems to be available on my System:

[    0.805322] AMD-Vi: IOMMU performance counters supported
[    0.805747] iommu: Adding device 0000:00:01.0 to group 0
[    0.805809] iommu: Using direct mapping for device 0000:00:01.0
[    0.805839] iommu: Adding device 0000:00:01.1 to group 0
[    0.805894] iommu: Adding device 0000:00:02.0 to group 1
[    0.805910] iommu: Adding device 0000:00:02.2 to group 1
[    0.805926] iommu: Adding device 0000:00:02.3 to group 1
[    0.805944] iommu: Adding device 0000:00:02.4 to group 1
[    0.806013] iommu: Adding device 0000:00:03.0 to group 2
[    0.806030] iommu: Adding device 0000:00:03.1 to group 2
[    0.806086] iommu: Adding device 0000:00:08.0 to group 3
[    0.806154] iommu: Adding device 0000:00:09.0 to group 4
[    0.806169] iommu: Adding device 0000:00:09.2 to group 4
[    0.806224] iommu: Adding device 0000:00:10.0 to group 5
[    0.806284] iommu: Adding device 0000:00:11.0 to group 6
[    0.806340] iommu: Adding device 0000:00:12.0 to group 7
[    0.806410] iommu: Adding device 0000:00:14.0 to group 8
[    0.806428] iommu: Adding device 0000:00:14.3 to group 8
[    0.806513] iommu: Adding device 0000:00:18.0 to group 9
[    0.806529] iommu: Adding device 0000:00:18.1 to group 9
[    0.806545] iommu: Adding device 0000:00:18.2 to group 9
[    0.806565] iommu: Adding device 0000:00:18.3 to group 9
[    0.806580] iommu: Adding device 0000:00:18.4 to group 9
[    0.806598] iommu: Adding device 0000:00:18.5 to group 9
[    0.806615] iommu: Adding device 0000:01:00.0 to group 1
[    0.806717] iommu: Adding device 0000:01:00.1 to group 1
[    0.806795] iommu: Adding device 0000:02:00.0 to group 1
[    0.806808] iommu: Adding device 0000:03:00.0 to group 1
[    0.806847] iommu: Adding device 0000:07:00.0 to group 2
[    0.807375] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[    0.809508] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[    7.052585] vboxpci: IOMMU found
[    8.808006] AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
[ 7934.814295] vboxpci: created IOMMU domain 000000009799d535
[10478.894035] vboxpci: freeing IOMMU domain 000000009799d535

It looks great, good luck.
I always thought that notebooks can't use Intel VT-d and AMD-Vi.
:stuck_out_tongue_winking_eye:
The A12-9700P of the excavator architecture does not look very good, but it only makes the work efficiency lower and does not make the work impossible.
:thinking:

1 Like

Forum kindly sponsored by Bytemark