Dual Boot Manjaro With Windows 10
Disable Windows features
Do you plan on doing read/write on your Windows partition? Disable Windows options like
- Fast Startup
- Hybrid Sleep
Windows Hybrid Sleep defaults to enabled on desktop computers and disabled for laptop computers.
Why should I do that? When Windows uses the above options it leaves the file system in a dirty state. When the file system is in this state the Linux filesystem tool ntfs-3g mounts the file system read-only, effectively blocking you from making changes to your files on the Windows partition. To disable Windows Fast Startup you need to access the Windows Control Panel. You find it by clicking on Windows Start button → type control → select Control Panel desktop app.
In the Control Panel app
- Click on System and Security
- Click on Power Options
- Click on Choose what power buttons do
a. Click on Change settings that are currently unavailable
b. Uncheck the option Turn on fast startup - Click on Save Changes
If for any reason you want to turn off hibernation completely
- Open command prompt as Administrator
- Input powercfg /h off and press Enter
Clean your Windows system
If you are like most users, your system came with Windows and your system has since been upgraded to Windows 10 (which leaves the old system behind). Major version upgrades - like 1804 - also leaves the old system behind and therefore a tremendous amount of dead data on your system that needs to be cleaned.
- Open Windows Explorer File manager and select My Computer.
- Right click on you local drive C: → Properties
- Click on Disk Cleanup button → wait
- Click on the Cleanup Systemfiles → wait
- check all items in the list (including the old Windows installation) → OK
- Wait → wait until finished.
- Close all windows
Backup your documents
You can skip this but it is not recommended.
Backup any data you might want to keep to an external location of any kind.
Partition cleanup
If you have experimented a lot and/or had a failed installation and/or you have a messy partition scheme you will have to manually delete those extra partitions with the Windows Disk Manager tool. Be careful that you do not delete partitions required by Windows or by an OEM recovery tool.
Disk space
Use Windows disk tool to make room for a secondary Linux installation because Windows is the best tool to release space.
- So boot into Windows.
- Rightclick on Start → select Disk Manager
- In Disk Manager - rightclick on your Windows drive C: → select Shrink partition
- A reasonable size to release - depending on available space - would be 32768-65536 MiB (32-64GiB) or more.
- When you are ready click Shrink
When you are done you are ready for the Manjaro installation.
Manjaro Installation
This rest of the guide is only Manjaro UEFI installation using Calamares.
Some of the choices presented here can be argued and the following two points I would like to address beforehand.
Auto partitioning vs Manual partitioning
Some will argue that one should select the auto partition in the Disk preparation section of the installer.
The strategy described here ensures no messing with the Windows EFI partition and therefore no problems with Windows removing the Manjaro bootloader.
Separate root and /home
Separation of the system root and the home folder is not required but is another benefit of using manual partitioning.
The separation of your personal data from the system - using a designated partition for the system's home folder makes it a bit easier to maintain your system. It is no secure replacement for a backup strategy it is just a handy solution should you decide to reinstall your system.
One pitfall here is making the root partition too small - using the recommended minimum size requires you to do regular system maintenanceto avoid the system disk running full and thus making your system very hard to boot.
Depending on your available disk space your system root could be from 20-64GiB. The remaining is assigned to your personal data.
Swap size
Setting a swap partition is the better choice because a little swap is - in most cases - better than none.
The chosen size depends on your system, available RAM and disk type. Use the suggested size of 2 GiB or research and adjust accordingly to system, taste and need.
If you plan on using hibernation ensure the swap can hold system and graphics memory.
Manjaro installation
Now that you have partition sizes defined let start and the numbers are MB which is the unit Calamares makes use of
- Reboot your computer to the live USB media.
- Launch the graphical installer - it is named Calamares.
- Follow the guide until you reach the Disk selection/preparation
- Select Manual partitioning → Next.
- Select the correct disk selected - should be easy to see.
- EFI PARTITION
Select the unpartitioned space → Create
a. Size → input 512
b. Filesystem → select FAT32
c. Mountpoint → select /boot/efi
d. Flags → check boot → OK - SWAP PARTITION
Select the unpartitioned space → Create
a. Size → input 2048
b. Filesystem → select linuxswap → OK - ROOT PARTITION
Select the unpartitioned space → Create
a. Size → input 20480 (min. recommended size)
b. Filesystem → select ext4
c. Mountpoint → select / (root) → OK - HOME PARTITION
Select the unpartitioned space → Create
a. Size → Use remaining
b. Filesystem → select ext4
c. Mountpoint → select /home → OK - Next
- Continue with the guide and when finished do not reboot.
- Open a terminal
- Input
efibootmgr→ Enter - Verify the BootOrder - you should have a manjaro entry and the corresponding number should be first in the BootOrder
Before you reboot
The following is done at livecd terminal, after installation is completed and applies only to UEFI installation.
efibootmgr
Is there an entry for manjaro and at top of the bootorder?
If none, continue with the following commands.
Lets say the root partition (no separate boot to keep it simple here) is sda5 and the $esp is sda2
sudo mount /dev/sda5 /mnt
sudo mount /dev/sda2 /mnt/boot/efi
sudo cp /mnt/boot/grub/x86_64-efi/core.efi /mnt/boot/efi/EFI/boot/bootx64.efi
sudo efibootmgr -c -d /dev/sda -p 2 -L "manjaro" -l "\EFI\Manjaro\grubx64.efi"
Verify again with "efibootmgr" that 'manjaro' is now listed and at top of bootorder.
Oh No - It boots directly to Windows - What do I do?
Just boot to Windows.