This guide is for booting from UEFI.
-
Get an USB with Arch Linux ISO flash in (I use balena-etcher)
-
Boot from Arch (in UEFI mode)
-
$ fdisk -lto find out where the Arch installation partition and EFI partition are -
Try mount, e.g.,
$ mount /dev/nvme0n1p1 /mntto mount the Arch partition, "/dev/nvmeXn1pY" or "/dev/sdXY" (substitute "X" and "Y" with your disk/partition numbers), to/mnt -
Try mount, e.g.,
$ mount /dev/nvme1n1p1 /boot/efito mount the EFI partition, "/dev/nvmeXn1p1" or "/dev/sdX1" (substitute "X" with your partition number), to/boot/efiRun
$ mkdir /boot/efi, if there is no/boot/efiavailable, then mount again. -
$ arch-chroot -
$ grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader=arch_linux -
Reboot to test
If the Entry of Windows Is not in GRUB Boot Menu
-
Run the below, then reboot to test
$ sudo os-prober $ grub-mkconfig -o /boot/grub/grub.cfg -
If the entry is still not there,
$ fdisk -lto look for YOUR EFI PARTITION, "/dev/nvmeXn1p1" or "/dev/sdX1" (substitute "X" with your partition number) -
$ blkid /dev/nvme1n1p1to get theUUIDof the partition -
$ nano /etc/grub.d/40_customto manually add the entry (replaceYOUR-UUIDwith the UUID got from step 3) at the end of the filemenuentry "Windows 10" --class windows --class os { serach --no-floppy --set=root --fs-uuid YOUR-UUID chainloader ($root)/EFI/Microsoft/Boot/bootmgdw.efi } -
$ grub-mkconfig -o /boot/grub/grub.cfgagain, then reboot to test