Windows Not Showing in GRUB on Arch Linux? Fix Dual Boot Properly
archlinux grub LinuxIf you installed Arch Linux alongside Windows and expected a clean dual boot menu, chances are you ran into a frustrating surprise. You boot your system, GRUB shows up, but Windows is missing. No option to boot into Windows, no clear error, and no explanation of what went wrong.
This is a very common issue on Arch Linux. Unlike many other distributions, Arch does not automatically detect Windows during GRUB setup. Features like os-prober are disabled by default, and if your Windows partition is not readable or mounted correctly, GRUB simply ignores it. Running grub-mkconfig alone is often not enough.
Welcome back to MusaBase!
In this guide, I will show you the proper and reliable way to fix GRUB dual boot on Arch Linux, step by step. No random commands, no risky workarounds, and no guessing. This guide focuses on making GRUB correctly detect your existing Windows installation and keeping it stable after updates.
Here is exactly what we are going to do in this guide:
- Install and enable os-prober on Arch Linux
- Regenerate grub.cfg correctly for dual boot
- Fix cases where Windows is still not detected after running grub-mkconfig
- Install ntfs-3g to ensure the Windows partition is readable
- Manually mount the Windows partition and re-detect it in GRUB
- Confirm that GRUB successfully finds and adds the Windows boot entry
This article is focused on real-world dual boot problems that Arch Linux users actually face. By the end of this guide, your GRUB menu will correctly show Windows, and your dual boot setup will work the way it should. If you are stuck at a missing Windows entry, let’s fix it properly.
Prerequisites
Before attempting to fix GRUB dual boot issues, ensure you have a basic setup ready. You should have Arch Linux installed and booting, alongside an existing Windows installation. You will also need sudo privileges to run system-level commands, as we will be editing GRUB configuration files and mounting partitions.
Fix Missing Windows Entry in GRUB on Arch Linux
Sometimes, even after installing Arch Linux alongside Windows, GRUB fails to show your Windows installation. This section will walk you through the exact steps to detect and add Windows to GRUB, making your dual boot setup fully functional. We will cover installing required package, configuring GRUB, and verifying that Windows appears in the boot menu, no guesswork, no broken entries.
- First things first, run:
sudo pacman -Syu
Install OS-Prober & Nano
To allow GRUB to detect other operating systems like Windows, we need to install os-prober. This tool scans all available disks and partitions to find existing OS installations that GRUB can add to its boot menu. We will also install nano, a simple text editor, which we will use to safely edit GRUB’s configuration file in the next step.
- Run:
sudo pacman -S os-prober nano
Configure /etc/default/grub for OS-Prober
By default, GRUB does not automatically scan and add other operating systems for security reasons. To allow GRUB to detect an existing Windows installation, we need to explicitly enable os-prober by updating the /etc/default/grub configuration file. This ensures that Windows boot entries are properly detected during GRUB configuration.
- Open the terminal and run:
sudo nano /etc/default/grub
- In the opened file, navigate down using your (Down ) arrow key and locate the following commented line (usually near the bottom of the file):
#GRUB_DISABLE_OS_PROBER=false
- Remove the # from the beginning of the line to uncomment it.
- Next, press Ctrl + O to save the file, then press Enter to confirm. To exit the editor, press Ctrl + X.
Update GRUB
- Run:
sudo grub-mkconfig -o /boot/grub/grub.cfg
- If the output generated by GRUB on your terminal does not include a line similar to this:
Found Windows Boot Manager on /dev/sdX@/efi/Microsoft/Boot/bootmgfw.efi
- That’s fine, we are going to fix this in the next step.
Install ntfs-3g
To ensure GRUB can properly read and detect the Windows installation, we need support for NTFS file systems. Windows partitions are formatted as NTFS, and without the required drivers, GRUB may fail to recognize them during detection. Installing ntfs-3g allows Linux to access Windows partitions reliably, which is essential for successful dual boot detection.
- Open termninal and run:
sudo pacman -S ntfs-3g
Detect Windows Boot Partition
If GRUB still fails to detect Windows automatically, the next step is to manually locate and mount the
- Run:
lsblk -f
- Below, you can see all connected storage devices along with their filesystem information:
- Here, on my system, the hard drive where Windows is installed is sda.
- This hard drive has four partitions, but only two are relevant for dual boot:
- sda1: Windows Boot (EFI) Partition
- sda3: Windows OS (NTFS) Partition
Temporarily Mount Windows Partition
Even though the Windows boot partition is a small EFI System Partition (FAT32), the actual Windows operating system resides on a separate NTFS partition. When we run os-prober and sudo grub-mkconfig -o /boot/grub/grub.cfg, GRUB may fail to detect Windows if it cannot read the NTFS OS partition. Installing ntfs-3g ensures Linux can access NTFS partitions properly, allowing os-prober to reliably detect Windows and add it to GRUB.
- First, create a directory inside /mnt to temporarily mount the Windows OS partition.
- You can name the mount point anything you want. In my case, the Windows OS partition is sda3, so I am using the same name:
sudo mkdir -p /mnt/sda3
- Next, temporarily mount the Windows OS partition (it will automatically unmount after reboot):
sudo mount -t ntfs-3g /dev/sda3 /mnt/sda3
Update GRUB Again
- Now, re-run grub-mkconfig:
sudo grub-mkconfig -o /boot/grub/grub.cfg
Windows Boot partition detected and added successfully!
Auto-Mount Windows Drive at Boot on Arch Linux
This step is optional. If you want to access your Windows drives (such as D:, E:, or F:) directly from Arch Linux, you can add them to /etc/fstab. This ensures the drives are automatically mounted at boot every time you start Arch Linux. Personally, I keep my Windows drives auto-mounted because I frequently need access to my data stored on those partitions while working in Arch Linux.
Detect Windows Partitions
- Run:
lsblk -f
- From the lsblk -f output, copy the UUID for each Windows partition.
- Please view the image below for clarification:
Create Mountpoints for Windows Partitions
- I have three Windows partitions that I want to add to /etc/fstab, which are:
- sda3: My C: drive on Windows, which is the Windows OS partition.
- sdb2: My D: drive on Windows, which I mostly use for installing games.
- sdc1: My F: drive on Windows, which I use for coding applications and other stuff.
- I will create each mountpoint with a name similar to each Windows drive; you can choose any name you want.
- Run:
sudo mkdir -p /mnt/sda3 \
sudo mkdir -p /mnt/sdb2 \
sudo mkdir -p /mnt/sdc1
Edit /etc/fstab
- Next, we need to edit the fstab file to add an entry for each Windows drive with its corresponding UUID and mountpoint that we just created.
- Run:
sudo nano /etc/fstab
- In /etc/fstab, add the following entries:
# Windows Drive Sda3
UUID=CAA4EFF6A4EFE2C5 /mnt/sda3 ntfs-3g ro,uid=1000,gid=1000,umask=022,nofail 0 0
# Windows Drive Sdb2
UUID=01DB59E2DC8F6E70 /mnt/sdb2 ntfs-3g rw,uid=1000,gid=1000,umask=022,nofail 0 0
# Windows Drive Sdc1
UUID=AEC0EFDDC0EFAA33 /mnt/sdc1 ntfs-3g rw,uid=1000,gid=1000,umask=022,nofail 0 0
Verify
- To verify that Windows partitions are mounted correctly at their defined mountpoints, run:
sudo mount -a
- Or simply reboot your PC, and Windows drives should be mounted automatically at boot.
It's done!
Explore More
With your Windows drives now accessible directly in Arch Linux, your system has become not just a workstation but a multi-OS productivity hub. From gaming libraries to coding projects and media files, you can seamlessly work across Windows and Linux without switching devices or USBs. Auto-mounting these partitions brings both convenience and speed to your daily workflow.
That’s it for auto-mounting Windows drives on Arch Linux. Your workflow is now faster, more integrated, and ready for any project that spans both operating systems. If you run into mounting issues or need help with permissions, drop a comment below and we’ll troubleshoot it together.
101 out, see you in the next guide.





