I have a Dell G3 17 3779 laptop.
It has sata HDD as hd0 and m.2 ssd as hd1. Both in GPT.
I deleted everything in the ssd and installed Windows 10.
I used 4 partitions:
- Windows recovery environment (499M) |
/dev/sdb1
- EFI System (100M) |
/dev/sdb2
- Microsoft reserved (MSR) (16M) |
/dev/sdb3
- Main Windows NTFS partition (70G) |
/dev/sdb4
Also I added for Arch Linux 2 partitions:
- For
/
(47.7G) |/dev/sdb5
- For swap (980.3M) |
/dev/sdb6
HDD disk has 2 partitions:
- Microsoft reserved (MSR) (16M) |
/dev/sda1
- Some NTFS (900G) |
/dev/sda2
After Windows I installed arch linux from UEFI following the wiki manual.
GRUB was installed with the usual grub-install
without keys
I tried to configure GRUB with manual config:
/boot/grub/grub.cfg
. $prefix/menu.cfg
/boot/grub/menu.cfg
set default=0
set timeout=10
menuentry "ArchLinux" {
linux /boot/vmlinuz-linux root=/dev/sdb4 rw
initrd /boot/initramfs-linux.img
}
menuentry "Windows" {
regexp -s root '\((.+)\)' "$cmdpath"
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
After rebooting just started Windows 10 without any boot menus.
I installed os-prober
and tried grub-mkconfig
and get some warning like:
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
or
WARNING: Device /dev/loop0 not initialized in udev database even after waiting 10000000 microseconds.
Instead /dev/loop0
was in all partitions.
And still booting only Windows.
May be it because my HDD is first in BIOS unlike SSD (hd0 vs hd1)?
How to fix this problem?
update: this answer https://askubuntu.com/a/816347/879272 allows me to open grub.
But why BIOS started EFI/Microsoft/Boot/bootmgfw.efi ignoring another boot loaders.
Can I disable this behavior?
efibootmgr -v
andlsblk -o +PARTUUID
would be important in troubleshooting a problem like this. The former will tell you what boot options the firmware knows about, and together with the latter, you will be able to find out exactly which disk and which.efi
bootloader file is used by the firmware with each boot option.