# \[root\] Linux dual-boot Windows

**URL:** <https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770>\
**Category:** Community contributions\
**Created:** [September 6, 2020, 11:09am UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770 "2020-09-06T11:09:10Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon95074228](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/edb3f5/32.png) [@anon95074228](https://forum.endeavouros.com/u/anon95074228)\
**Post date:** [September 6, 2020, 11:09am UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/1 "2020-09-06T11:09:10Z")

</div>

## Calamares dual-boot installation

* * *

- Firmware
  - Checklist

- Boot mode
- Windows preparation
- **Linux** Installation
- Revisions

## 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

- Use latest available firmware (check your vendor’s support section)
- Disable Intel Optane memory (incompatible with Linux)
- Disable Fake RAID option (or check [archlinux wiki](https://wiki.archlinux.org/index.php/Install_Arch_Linux_with_Fake_RAID))
- Enable AHCI
- Disable Secure Boot (or check [archlinux wiki](https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface/Secure_Boot))
- Disable Windows Fast Boot, Windows hibernation and/or Windows hybrid sleep.
- System boot method (BIOS or UEFI)

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

## Boot mode UEFI vs BIOS

* * *

Computers with preinstalled Windows (Windows 10) is computers using UEFI firmware.

However your system may be configured to allow BIOS boot also labeled as **Legacy** , **CSM** (Compatibility Mode) or **BIOS/MBR**.

The main difference is partition layout schema used.

### Partition schema

This is the original schema which has limitations on modern systems. The most notable limitation is the number of partitions which is 4 primary partitions compared to GPT which allows for 128 partitions.

- **UEFI** does not work with MBR partition schema

An EFI based system uses GPT partition schema and using GRUB boot loader it is also possible to use GPT while still using the older BIOS boot method.

It is very important to choose the correct combination - otherwise Calamares installer will fail in the end when reaching the boot loader stage of the installation.

### Installing in EFI mode

This requires a separate partition flagged as **boot** and is the default installation mode for EndeavourOS. The partition is formatted using **FAT32** and usually mounted to **/boot/efi**.

### Installing in BIOS mode

If you choose to install a system using BIOS boot mechanism you must boot the system in BIOS mode you must select manual partitioning in Calamares. Besides the usual root and possibly home you must create 32MB unformatted partition - which must be flagged as **bios-boot** - do not format the partition. When asked for the boot loader location - select this unformatted partition as target for the bootloader.

## Windows preparation

* * *

The next parts of this section is all executed inside your current Windows installation.

### 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

```auto
chkdsk c: /F

```

### System clock

Configure your Windows installation to use UTC. This is done best with a registry import file.

Create a new file using Notepad with this content (e.g. `utc.txt`)

```txt
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
"Enabled"=dword:00000000

```

Open a command prompt and navigate to your desktop folder and rename the file to `utc.reg`

```txt
C:\Users\ **username** > cd Desktop
C:\Users\ **username** \Desktop> move utc.txt utc.reg

```

You can now import the file into the registry by double clicking the filename - accept the disclaimer to import the keys.

### 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 the filesystem is tainted which causes the system to mount 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

This should be an obvious step. **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 installation.

## Installation

* * *

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 rewriting the $esp.

### 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 maintenance to avoid the system disk running full and thus making your system very hard to boot.

Other considerations is application distribution methods such as snap and flatpak both of which requires a considerable amounts a disk estate.

Depending on your available disk space your system root could be from 32-64GB. The remaining is assigned to your personal data.

The number mentioned is just examples - they will work if you are just getting your fet wet and needs a gentle hand holding.

### 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 both system and graphics memory.

## 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 partitioning** → **Next**.
5. Select the correct disk selected - should be easy to see.
6. **BOOT PARTITION** either or - not both
  - **EFI**  
a. Select the unpartitioned space → **Create**  
b. **Size** → input **512**  
c. **Filesystem** → select **FAT32**  
d. **Mountpoint** → select **/boot/efi**  
e. **Flags** → check **boot** → **OK**
  - **BIOS**  
a. Select unpartitioned space → **Create**  
b. **Size** → input **32**  
c. **Filesystem** → select **unformatted**  
d. **Flags** → check **bios-boot** → **OK**

7. **SWAP PARTITION**  
a. Select the unpartitioned space → **Create**  
b. **Size** → input **2048** or the number you decided to use  
c.. **Filesystem** → select **linuxswap** → **OK**
8. **ROOT PARTITION**  
a. Select the unpartitioned space → **Create**  
b. **Size** → input **32768** (32G) or the number you decided to use  
d.. **Filesystem** → select **ext4**  
d. **Mountpoint** → select **/** (root) → **OK**
9. **HOME PARTITION**  
a. Select the unpartitioned space → **Create**  
b. **Size** → Use remaining  
b. **Filesystem** → select **ext4**  
d. **Mountpoint** → select **/home** → **OK**
10. **Next**
11. **Reboot**

## That’s it

Enjoy …

A rewrite of my old guide for dual-booting Manjaro and Windows. The original guide can be found following [this link](https://root.nix.dk/manjaro/dual-boot-manjaro-and-windows)

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [September 6, 2020, 12:42pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/2 "2020-09-06T12:42:52Z")

</div>

As a proud Linux only user i officially disavow! 😆

> [@anon95074228](#):
>
> Manjaro installation

Endeavour OS installation 😉

---

<div class="post-metadata">

**Author:** ![anon95074228](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/edb3f5/32.png) [@anon95074228](https://forum.endeavouros.com/u/anon95074228)\
**Post date:** [September 6, 2020, 1:00pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/3 "2020-09-06T13:00:02Z")

</div>

Sorry - I did mention it was a rewrite?

---

<div class="post-metadata">

**Author:** ![keybreak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/keybreak/32/9257_2.png) [@keybreak](https://forum.endeavouros.com/u/keybreak)\
**Post date:** [September 6, 2020, 1:09pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/4 "2020-09-06T13:09:25Z")

</div>

Yep, we’re all humans 🙂

Wait…actually…100101010101 🤖

---

<div class="post-metadata">

**Author:** ![anon95074228](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/edb3f5/32.png) [@anon95074228](https://forum.endeavouros.com/u/anon95074228)\
**Post date:** [September 6, 2020, 1:16pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/5 "2020-09-06T13:16:04Z")

</div>

> [@keybreak](#):
>
> 100101010101

DEADBEEF

---

<div class="post-metadata">

**Author:** ![Daumer](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/d/ba9def/32.png) [@Daumer](https://forum.endeavouros.com/u/Daumer)\
**Post date:** [February 23, 2021, 2:23pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/6 "2021-02-23T14:23:57Z")

</div>

If I understand this correctly, by choosing manual partitioning I will end up with two EFI partitions: one for Windows 10 (which remains unchanged) and one for EndeavourOS. Will this generate any conflicts? I’ve heard that Windows officially supports only 1 EFI partition, but maybe that’s not the case anymore.

---

<div class="post-metadata">

**Author:** ![OdiousImp](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/odiousimp/32/17275_2.png) [@OdiousImp](https://forum.endeavouros.com/u/OdiousImp)\
**Post date:** [February 23, 2021, 2:31pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/7 "2021-02-23T14:31:10Z")

</div>

If you follow this guide that is what it does. Windows should boot fine -

> [@Daumer](#):
>
> I’ve heard that Windows officially supports only 1 EFI partition,

Never heard this before…But anyway I used to have two EFI’s and it was fine.

EDIT : You do not need to EFI partitions. As long you don’t format the one before they can work in harmoy. 🤭

BTW ; Welcome (soon) to EOS! 🙃

EDIT: BACKUP! Please don’t hurt me if it goes wrong! 🤒

---

<div class="post-metadata">

**Author:** ![manuel](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/manuel/32/396_2.png) [@manuel](https://forum.endeavouros.com/u/manuel)\
**Post date:** [February 23, 2021, 3:28pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/8 "2021-02-23T15:28:18Z")

</div>

Basically you can use only one EFI partition for all systems, provided it has enough space for the files.

Manual partitioning does _not_ mean you have to create a second EFI partition. In manual partitioning you can _choose_ either to use the existing EFI partition, or create a new one.

And as @OdiousImp said, if you use the existing EFI partition, do _not_ format it, only set mount point to it.

---

<div class="post-metadata">

**Author:** ![Daumer](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/d/ba9def/32.png) [@Daumer](https://forum.endeavouros.com/u/Daumer)\
**Post date:** [February 23, 2021, 5:07pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/9 "2021-02-23T17:07:15Z")

</div>

Thanks for clarifying. What is the default behaviour of Auto partitioning? Would it use the existing Windows EFI partition or create a new one in the unallocated space?

---

<div class="post-metadata">

**Author:** ![OdiousImp](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/odiousimp/32/17275_2.png) [@OdiousImp](https://forum.endeavouros.com/u/OdiousImp)\
**Post date:** [February 23, 2021, 5:09pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/10 "2021-02-23T17:09:44Z")

</div>

Use existing EFI partition. But don’t be scared of Manual Partition! It helps you understand

---

<div class="post-metadata">

**Author:** ![anon74621442](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/7993a0/32.png) [@anon74621442](https://forum.endeavouros.com/u/anon74621442)\
**Post date:** [June 12, 2022, 6:03pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/11 "2022-06-12T18:03:13Z")

</div>

Maybe a dumb question, but how to revert registry changes made by this section:

> System clock  
> Configure your Windows installation to use UTC. This is done best with a registry import file.
> 
> Create a new file using Notepad with this content (e.g. utc.txt)

```auto
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
"Enabled"=dword:00000000

```

> Open a command prompt and navigate to your desktop folder and rename the file to utc.reg

```auto
C:\Users\ **username** > cd Desktop
C:\Users\ **username** \Desktop> move utc.txt utc.reg

```

> You can now import the file into the registry by double clicking the filename - accept the disclaimer to import the keys.

I did that as the guide suggested, but now my time goes 2 hours forward on Windows, and “time sync” option fails every time:

 ![image](https://forum.endeavouros.com/uploads/default/original/3X/5/0/5049ec1b1a439cbc21f34ba069db854b701ee72c.png)

---

<div class="post-metadata">

**Author:** ![anon11595408](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/f1d935/32.png) [@anon11595408](https://forum.endeavouros.com/u/anon11595408)\
**Post date:** [June 12, 2022, 7:11pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/12 "2022-06-12T19:11:52Z")

</div>

> [@anon91611908](#):
>
> > System clock  
> > Configure your Windows installation to use UTC. This is done best with a registry import file.
> > 
> > Create a new file using Notepad with this content (e.g. utc.txt)
> 
> ```auto
> Windows Registry Editor Version 5.00
> 
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
> "RealTimeIsUniversal"=dword:00000001
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient]
> "Enabled"=dword:00000000
> 
> ```

If you want to revert this, you can [do it in the Windows Registry Editor](https://support.microsoft.com/en-us/windows/how-to-open-registry-editor-in-windows-10-deab38e6-91d6-e0aa-4b7c-8878d9e07b11) by manually deleting those exact two keys from the Windows Registry and reboot.

---

<div class="post-metadata">

**Author:** ![anon74621442](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/7993a0/32.png) [@anon74621442](https://forum.endeavouros.com/u/anon74621442)\
**Post date:** [June 12, 2022, 7:13pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/13 "2022-06-12T19:13:09Z")

</div>

That was my idea as well, but I thought that those keys had to exist. I simply thought that this utc.reg file modified those values, not created them. Will try it out now, thanks!

---

<div class="post-metadata">

**Author:** ![anon11595408](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/f1d935/32.png) [@anon11595408](https://forum.endeavouros.com/u/anon11595408)\
**Post date:** [June 12, 2022, 7:15pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/14 "2022-06-12T19:15:55Z")

</div>

I think it could be important to keep UTC settings if you work on both systems in parallel, but off hand I’m not aware, why your Windows should need to be set to UTC.

Maybe someone else can shed some light on the matter…??

---

<div class="post-metadata">

**Author:** ![anon74621442](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/7993a0/32.png) [@anon74621442](https://forum.endeavouros.com/u/anon74621442)\
**Post date:** [June 12, 2022, 7:18pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/15 "2022-06-12T19:18:57Z")

</div>

After deleting those two keys and rebooting, my Time looks correct now:  
 ![image](https://forum.endeavouros.com/uploads/default/original/3X/6/9/69d6e989ce27a9e135d333a0c0f746c272f795df.png)

Since the time zone selected is already UTC +1, I think that it should be compatible with linux. Therefore that registry script wasn’t necessary for me (I may be wrong, I am complete beginner when it comes to linux).  
Thanks ivanhoe!

---

<div class="post-metadata">

**Author:** ![anon11595408](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/f1d935/32.png) [@anon11595408](https://forum.endeavouros.com/u/anon11595408)\
**Post date:** [June 12, 2022, 7:21pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/16 "2022-06-12T19:21:38Z")

</div>

You are welcome.

---

<div class="post-metadata">

**Author:** ![anon74621442](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/7993a0/32.png) [@anon74621442](https://forum.endeavouros.com/u/anon74621442)\
**Post date:** [June 12, 2022, 8:30pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/17 "2022-06-12T20:30:09Z")

</div>

I am a bit confused about the partitioning part of the guide.  
I have only one NVME 2TB drive, and I have Windows 11 installed on it right now.  
My Disk Management looks like this (ignore external HDD):  
 ![image](https://forum.endeavouros.com/uploads/default/original/3X/c/8/c8859358dd3c2dacc0c133b01ddae630eb6c93f7.png)

Can’t I just select “Install alongside” option in EndeavorOS’s installer?  
I wish to have 1.5TB for Linux, and remaining 500GB for Windows 11 because of specific online games that don’t work yet on Linux.

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [June 12, 2022, 8:34pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/18 "2022-06-12T20:34:11Z")

</div>

Hi @anon91611908 and welcome to EnOS community!

Since this is not exactly a support thread, you might want to open a new one at #arch-based-related-questions:installation for example to get proper assistance for your issue.

---

<div class="post-metadata">

**Author:** ![anon74621442](https://forum.endeavouros.com/letter_avatar_proxy/v4/letter/a/7993a0/32.png) [@anon74621442](https://forum.endeavouros.com/u/anon74621442)\
**Post date:** [June 12, 2022, 8:36pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/19 "2022-06-12T20:36:31Z")

</div>

Alright, I am sorry. Will do that.

---

<div class="post-metadata">

**Author:** ![pebcak](https://forum.endeavouros.com/user_avatar/forum.endeavouros.com/pebcak/32/100472_2.png) [@pebcak](https://forum.endeavouros.com/u/pebcak)\
**Post date:** [June 12, 2022, 8:37pm UTC](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770/20 "2022-06-12T20:37:25Z")

</div>

No problem!  
Good luck with the install!

:enos: 🤝🏾

[Next page](https://forum.endeavouros.com/t/root-linux-dual-boot-windows/7770.md?page=2)
