[root tip] Dual boot Manjaro and Windows

Difficulty: ★★☆☆☆

Dual boot - Step by Step


  • Target systems
  • Firmware
    • Checklist
  • Windows preparation
  • Manjaro installation
  • Revisions

Target systems UEFI


Computers with preinstalled Windows (Windows 10) is computers using UEFI firmware. This guide is a generic guide targeted at UEFI installations.

However some of the guide does apply even if you are using a BIOS/MBR setup.

:exclamation: DO NOT mix UEFI with MBR partition scheme.

To ensure a successful dual-boot installation using Windows and Manjaro there are a few steps to be taken.

Firmware


The firmware is a crucial part of your system as it controls aspects on how the Linux kernel will interact with your the hardware. Some system firmware is setup in such a way that a Linux system does not recognize disk devices.

Checklist

  • :white_small_square: Use latest available firmware
  • :white_small_square: Disable Intel Optane memory
  • :white_small_square: Disable RAID option
  • :white_small_square: Enable AHCI
  • :white_small_square: Disable Secure Boot
  • :white_small_square: Disable Fast Boot
  • :white_small_square: Disable CSM (Legacy/MBR) boot

Some systems require the user to set a firmware password before more advanced options becomes available.

Windows preparation


Filesystem check

Linux is picky when it comes the Windows filesystem. Any inconsistencies in the filesystem and Linux will mount the filesystem read-only. The Windows command to fix the file system is

chkdsk c: /F

System clock

Configure your Windows installation to use UTC.

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

  1. Click on System and Security
  2. Click on Power Options
  3. Click on Choose what power buttons do
    a. Click on Change settings that are currently unavailable
    b. Uncheck the option Turn on fast startup
  4. 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.

  1. Open Windows Explorer File manager and select My Computer.
  2. Right click on you local drive C:Properties
  3. Click on Disk Cleanup button → wait
  4. Click on the Cleanup Systemfiles → wait
  5. check all items in the list (including the old Windows installation) → OK
  6. Wait → wait until finished.
  7. 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.

  1. So boot into Windows.
  2. Rightclick on Start → select Disk Manager
  3. In Disk Manager - rightclick on your Windows drive C: → select Shrink partition
  4. A reasonable size to release - depending on available space - would be 32768-65536 MiB (32-64GiB) or more.
  5. 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

  1. Reboot your computer to the live USB media.
  2. Launch the graphical installer - it is named Calamares.
  3. Follow the guide until you reach the Disk selection/preparation
  4. Select Manual partitioningNext.
  5. Select the correct disk selected - should be easy to see.
  6. EFI PARTITION
    Select the unpartitioned space → Create
    a. Size → input 512
    b. Filesystem → select FAT32
    c. Mountpoint → select /boot/efi
    d. Flags → check bootOK
  7. SWAP PARTITION
    Select the unpartitioned space → Create
    a. Size → input 2048
    b. Filesystem → select linuxswapOK
  8. ROOT PARTITION
    Select the unpartitioned space → Create
    a. Size → input 20480 (min. recommended size)
    b. Filesystem → select ext4
    c. Mountpoint → select / (root) → OK
  9. HOME PARTITION
    Select the unpartitioned space → Create
    a. Size → Use remaining
    b. Filesystem → select ext4
    c. Mountpoint → select /homeOK
  10. Next
  11. Continue with the guide and when finished do not reboot.
  12. Open a terminal
  13. Input efibootmgrEnter
  14. Verify the BootOrder - you should have a manjaro entry and the corresponding number should be first in the BootOrder

Before you reboot


Oh No - It boots directly to Windows - What do I do?

Just boot to Windows.

If that not do the trick then @gohlip has a goldmine of tips to get grub bootloader right.

Revisions


  • Revision for Calamares 3.2.22.r7667
  • Major revision March 13. 2020
  • Initial guide July 2018
14 Likes

This worked for me.

sudo grub-install

after that I was able to go into the bios and select manjaro as the default efi boot device.

Nice guide…

How can I use Manjaro /home partition in windows ?

I am thinking of Windows C partition, Linux / partition ,Linux /home partition which will be Windows D partition

You cannot - at least not directly.

You will have to install Windows subsystem for Linux from the Windows store and this only works on Win10 - enable developer options then install from store.

2 Likes

uff…is it complicated ( data loss or something after a while ) ?

I am thinking of switching partially to Win because I can not setup fully my sound system on laptop

No. Not complicated. I don’t think and I’m basic user. I’ve gone to Linux on both desktop and laptop but, kept a windows partition alive on both as I DJ and use Ableton and need it for compatibility. Only use windows when needed. Simple enough to do. This is a good tutorial.

You can do it the other way around though: mount the Windows D: Drive in fstab.

Here’s mine as it contains a lot of comments on which parameters to use and why:

# Fabby: 2017-11-04: Added NTFS 1TB partition, set fscheck to 0 like swap as there is no decent NTFS fsck
# Add show_sys_files to show NTFS system files
# Add allow_other to allow any user to access any files
# Fabby: 2019-12-21: Added noauto,x-systemd.automount,x-systemd.device-timeout=10 to:
#  * speed up booting 
#  * let systemd do the mount at first access
UUID=634E43D367B0A4BA                     /media/Data     ntfs-3g noauto,x-systemd.automount,x-systemd.device-timeout=10,rw,inherit,permissions,streams_interface=windows,windows_names,compression,norecover,hide_dot_files,hide_hid_files,big_writes 0 2

so in my case, the Windows D: drive is in /media/Data in Windows.

for more info, Read The Fine Manual or create a new topic instead of posting your issues in this thread…

:innocent:

A post was split to a new topic: How can I install Windows after Manjaro

Why? Because it doesn’t work on Linux?

It is not supported at all on Linux - but if enabled - at least to my knowledge it will create problems - but I have not been able to verify - so kind of - better safe than sorry.

A post was merged into an existing topic: Unable to locate Local disk D drive