Because there isn't any guide on either the wiki/forums about how to dual boot Manjaro and Windows on an UEFI enabled system, I decided to write a quick how-to myself, explaining how I got it to work on my own system (using GRUB). With the emphasis on how I got it to work, this does not guarantee that it will work on your system as well. Every computer is different.Step 1: Preparation
Boot into Windows. First you'll have to disable Fast Startup
. Then you have to reboot into the UEFI setup
. Things you must do here are:
- Disable secure boot (you might have to set a password to do this first)
- Keep UEFI enabled
- Make sure your CD/DVD/USB/... is listed above your hard disk so it can boot from it
Then you're ready to save these settings and boot the live CD/DVD/USB/... It's a good idea to use GParted now to shrink your Windows partition already. It might be even a better idea to already create the partitions for your to-be-installed Manjaro system. Make a note of the /dev/sdXY and what you want it to be (E.g. /dev/sda4 will be root, /dev/sda5 will be home, etc.), you'll need to remember it during the installation. (Note: You don't need to create a second EFI partition).Step 2: Installation
In the live CD/DVD/USB/... open up a terminal and enter:
. This will launch the CLI installer (as far as I know, the GUI doesn't support UEFI). Choose the testing installer which offers EFI support.Step 2.1: Set date and time
Windows uses localtime by default, Linux uses UTC by default. So you either choose localtime here, or you go with UTC and apply a registry fix
in order to make Windows use UTC by default.Step 2.2: Disk(s) preparationStep 2.2.1: Partition hard drives
It'll be necessary to manually partition your hard drives, because the auto-prepare will erase your whole disk. So choose #2 Partition Hard Drives. The installer will ask you if you want to use GPT, the answer should be "Yes". After you have selected the correct disk, cgdisk will pop up. First you should find the EFI System Partition (ESP), and write down its /dev/sdXY. Now if you have already partitioned your system, that's all there is to do. If not, then it's time to creat your partitions now (Note: you don't have to create a second EFI partition):
- Select "New"
- The first sector should be correct (just press return)
- Then it asks for size in sectors, but you can use megabytes and gigabytes as well if you precede the number with a +sign and end with M or G. It's easier then it sounds, examples: to have a 200MB partition you should enter this: +200M | to have a 50GB partition you should enter this: +50G
- The hex code or gui should be correct (just press return)
- Enter a partition name, give names that make it easy to identify the partition, such as "Manjaro Root Partition" etc. Note that you can't use the same partition name twice.
Repeat this procedure for all your partitions. When you're finished, select write to apply the changes, then quit.Step 2.2.2: Set filesystem Mount points
Now you'll need to grab your list with your /dev/sdXY stuff (or access your memory). First you'll have to select the partition to use as swap. Then root (/).
- Select a filesystem: Ext4 is considered most stable right now, but this is completely up to you
- Then it asks if you want to create it, better would be: do you want to format this partition. Choose "yes" (unless you know what you're doing)
- Now you'll have to enter a partition label. Similarly to the partition name in cgdisk, choose something that makes sense and makes it easy to identify it.
- Additional options: It's okay to leave this empty.
Then mount the other partitions just as you did with root. The only extra thing you'll have to do is entering a mount point (e.g. /home). Last but not least you'll have to select the EFI system partition. These are 3 simple but important steps:
- Mount point: /boot/efi
- Filesystem: VFAT
- Would you like to create a filesystem: NO
Now you're done, so press done. You'll get a last a time to review your partition scheme. Then it will ask for the device name scheme: PARTUUID is recommended.Step 2.3: Install System
Wait...Step 2.4: Configure System
Set root password, setup user, configure other things as you like.Step 2.5: Install Bootloader
Go with UEFI x86_64, then GRUB(2) x86_64 UEFI. When it asks you to copy grubx64.efi to bootx64.efi, say yes. Now the installation is finished, but don't shutdown the live CD/DVD/USB/... yet.Step 3: Post installation
The installer, for some reason, does not install grub correctly. To do this you will have to chroot into your newly installed sytem
. Note: only follow the instructions under the subtitle "Identify and Prepare the Installed Partition(s)" except for the installation of mtools which is most likely not needed, the next subtitle "restore grub" is not relevant for this guide.
So now that you have successfully chrooted into your system, you'll have to install grub once again, correctly this time:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck --debug
Now that the last step of the installation is finished, we can exit the chrooted environment, unmount, and reboot.
umount -R /mnt
If everything works all right, then you'll see GRUB after rebooting.
If you have any questions, notes, remarks, more helpful tips towards other people: please post them!