Skip to content

Commit 93eed28

Browse files
committed
Installation: Reworked Dual Boot guide
1 parent 0f768d7 commit 93eed28

File tree

1 file changed

+95
-77
lines changed

1 file changed

+95
-77
lines changed

src/content/docs/installation/installation_on_root.mdx

Lines changed: 95 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -225,88 +225,106 @@ The partition table for each boot manager varies. Please follow the correct inst
225225

226226
</Tabs>
227227

228-
## Dual Booting
228+
## Dual Booting Windows and CachyOS
229229

230-
:::note[This guide assumes that Windows is already installed on the system and you decided to install CachyOS alongside it. ]
230+
:::note[This guide assumes that Windows is already installed on the system and you decided to install CachyOS alongside it sharing the same drive.]
231231
:::
232232

233233
:::caution
234-
Make sure that Windows Fast Startup is disabled.
234+
Dual booting Windows and Linux is not 100% reliable. Windows updates can break the bootloader by overwriting the EFI partition.
235+
In some cases issues might never occur, but for some users it can be a recurring problem.
236+
237+
One way to avoid this issue is to install each operating system on separate drives.
238+
:::
239+
240+
:::note[systemd-boot and rEFInd should automatically detect Windows and add it to the boot menu.]
235241
:::
236242

243+
### Prerequisites
244+
245+
- Disable Windows Fast Startup and Hibernation
246+
- Open Windows Powershell as Administrator and execute the following command:
247+
```ps
248+
powercfg /H off
249+
```
250+
Reboot the system to make sure the changes take effect.
251+
- Windows BitLocker must be disabled
252+
- Checking if BitLocker is enabled:
253+
```ps title='Open a Command Prompt as administrator and execute the following command'
254+
manage-bde -status
255+
```
256+
If Encryption Method shows as `None`, then BitLocker is disabled.
257+
- Secure Boot must be disabled.
258+
- A +30GB empty partition
259+
- Guide on how to shrink a Windows partition:
260+
- Press `Win + R`, type `diskmgmt.msc`, and press Enter to open Disk Management.
261+
- Identify your main Windows partition (usually C:) and right-click on it.
262+
- Click on `Shrink Volume...` and specify at least **30720MB** (30GB) and click on `Shrink`.
263+
- Booteable USB with CachyOS
264+
- Refer to the [Creating a Bootable CachyOS USB Drive](/installation/installation_prepare#creating-a-bootable-cachyos-usb-drive) section.
265+
266+
### Installing CachyOS
267+
268+
<Steps>
269+
1. Boot into the CachyOS ISO and click on **Launch Installer**.
270+
2. Select your preferred Boot Manager. Check the [Boot Managers](/installation/boot_managers) section for more information.
271+
3. Choose your Language, Timezone and Keyboard Layout.
272+
4. Make sure your Windows drive is selected on the **Select storage device** field.
273+
5. Select `Replace a partition` with `btrfs` as the filesystem.
274+
6. Highlight your empty partition below **Select a partition to install on**
275+
:::note[Usually it shows as a dark gray color and the size should match the one you created in Windows.]
276+
:::
277+
7. Choose your [Desktop Environment](/installation/desktop_environments) and select the packages you want to install.
278+
8. Create a user and set a password for the root account.
279+
9. Carefully review the installation summary on the Overview Page. If everything looks correct, click on **Install Now** to proceed with the installation. If you need to make any changes, go back and adjust the settings as necessary.
280+
10. After the installation is complete, reboot the system.
281+
:::note
282+
If after rebooting, the system boots directly into Windows. Reboot again and enter the BIOS/UEFI settings. Look for the Boot Menu order and ensure that `CachyOS` or the boot manager you selected during installation is set as the first boot option.
283+
:::
284+
</Steps>
285+
286+
### Adding Windows entry to GRUB or Limine
287+
237288
<Tabs>
238-
<TabItem label='systemd-boot'>
239-
**We need to copy the Windows EFI binaries to the Linux EFI partition so that the boot manager can recognize them.**
240-
241-
<Steps>
242-
1. Locate the **Windows EFI partition** with `lsblk`
243-
244-
```sh title='Execute this command in the terminal'
245-
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT
246-
```
247-
```sh title='Example output'
248-
NAME FSTYPE SIZE MOUNTPOINT
249-
zram0 15.3G [SWAP]
250-
nvme0n1 476.9G
251-
├─nvme0n1p1 vfat 100M
252-
├─nvme0n1p2 16M
253-
├─nvme0n1p3 ntfs 234.4G
254-
├─nvme0n1p4 ntfs 830M
255-
├─nvme0n1p5 vfat 2G /boot
256-
└─nvme0n1p6 btrfs 239.6G /var/tmp
257-
```
258-
EFI partitions are almost always formatted as `FAT32/vfat`. Since `nvme0n1p1` does not have a Linux mount point, we can assume that this partition is the Windows EFI partition.
259-
260-
2. Temporarily mount the Windows EFI partition
261-
262-
```sh
263-
sudo mkdir /mnt/WinBoot
264-
sudo mount /dev/nvme0n1p1 /mnt/WinBoot # Replace `nvme0n1p1` with the name of the Windows EFI partition.
265-
```
266-
267-
3. Copy the EFI binaries from the **Windows EFI partition** to the **Linux EFI partition**:
268-
269-
```sh
270-
sudo cp -r /mnt/WinBoot/EFI/* /boot/EFI
271-
```
272-
273-
4. Unmount the previously mounted partition, and Windows should appear in the boot menu on the next startup.
274-
275-
```sh
276-
sudo umount /mnt/WinBoot
277-
sudo rm -r /mnt/WinBoot
278-
```
279-
280-
</Steps>
281-
</TabItem>
282-
283-
<TabItem label='GRUB'>
284-
**GRUB uses os-prober to automatically detect the Windows EFI partition and add it to the boot menu.**
285-
286-
<Steps>
287-
1. Install and execute **os-prober**
288-
289-
```sh
290-
sudo pacman -S os-prober
291-
sudo os-prober
292-
```
293-
294-
2. Enable **os-prober** in the GRUB configuration file
295-
296-
```sh title='Press CTRL+S to save and CTRL+Q to exit from Micro'
297-
sudo micro /etc/default/grub
298-
# /etc/default/grub
299-
# Probing for other operating systems is disabled for security reasons. Read
300-
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
301-
# functionality install os-prober and uncomment to detect and include other
302-
# operating systems.
303-
GRUB_DISABLE_OS_PROBER=false
304-
305-
sudo grub-mkconfig -o /boot/grub/grub.cfg
306-
```
307-
308-
**Windows should now be added to the boot menu.**
309-
310-
</Steps>
311-
</TabItem>
289+
290+
<TabItem label='GRUB'>
291+
292+
<Steps>
293+
1. Open a terminal and enter the following command:
294+
```bash
295+
sudo micro /etc/default/grub
296+
```
297+
2. Find the line that says `GRUB_DISABLE_OS_PROBER=false` and remove the `#` at the beginning of the line to uncomment it.
298+
3. Save the file by pressing `CTRL + S` and quit the editor by pressing `CTRL + Q`
299+
4. Regenerate the GRUB configuration file by executing:
300+
```bash
301+
sudo grub-mkconfig -o /boot/grub/grub.cfg
302+
```
303+
If in the output you see a line similar to:
304+
```bash title='Example'
305+
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
306+
```
307+
Then Windows has been successfully added to the GRUB boot menu.
308+
5. Reboot the system, and Windows should now appear in the GRUB boot
309+
</Steps>
310+
311+
</TabItem>
312+
313+
<TabItem label='Limine'>
314+
315+
Limine provides a script that can be used to add Windows to the boot menu.
316+
317+
Open a terminal and execute the following command:
318+
```bash
319+
sudo limine-scan
320+
```
321+
322+
Reboot and Windows should now appear in the Limine boot menu.
323+
324+
</TabItem>
325+
312326
</Tabs>
327+
328+
### [Video Tutorial](https://www.youtube.com/watch?v=mVXONaHZvFU)
329+
330+
Credits go to [Ksk Royal](https://www.youtube.com/@kskroyaltech) for creating this video tutorial and being the inspiration for this section.

0 commit comments

Comments
 (0)