If you dual-boot Linux and Windows, you expect to move between the two without much fuss. But I’ve had moments when I booted into Linux and suddenly couldn’t see my Windows partitions. It’s frustrating when you just need to grab a file quickly. Thankfully, this is usually something you can fix without too much effort.

Why Linux Sometimes Doesn’t Recognize Windows Drives

Most of the time, Linux won’t touch your Windows partitions because Windows didn’t shut down cleanly. Fast Startup and hibernation can leave the file system in an “unsafe” state. I’ve seen this firsthand after reinstalling Windows and forgetting to disable Fast Startup.

Other times, Linux might be missing NTFS support entirely, or the drive might be flagged as needing repair. Less commonly, BIOS or UEFI settings can interfere with how Linux sees the disk. If BitLocker is enabled, Linux won’t be able to access the encrypted volume until it’s decrypted from within Windows.

Screenshot of a Ubuntu terminal displaying the output of the lsblk command, shwing sda disk partitions.

Start by Checking If Linux Sees the Drive

Before anything else, I always check whether Linux detects the drive. Runninglsblkin the terminal gives a quick overview

If the Windows partitions show up but aren’t mounted, then it’s probably a file system or shutdown issue. If they don’t appear at all, I dig deeper withsudo fdisk -lto check for any signs of the drive. When nothing shows up in either command, it usually points to a hardware issue, a loose connection, or a BIOS configuration problem.

Screenshot of Windows 11 Power Options showing the “Turn on fast startup” setting unchecked, with the option highlighted in red and a red arrow pointing to it.

Windows Fast Startup Often Gets in the Way

One of the biggest issues I’ve run into is Fast Startup. It’s meant to speed up Windows boot times by hibernating the system instead of shutting it down fully. But Linux sees this as a partially open file system and refuses to mount it.

To disable Fast Startup, head into Windows, open the Control Panel, and go to System Security > Power Options. From there, click “Choose what the power buttons do,” then “Change settings that are currently unavailable.” You’ll find an option to turn off Fast Startup. Uncheck it and save your changes

Be sure to restart Windows afterward, don’t just shut it down. That restart clears out the hibernation flag. If that still doesn’t solve the problem, you may need to open a terminal as Administrator in Windows and runpowercfg /hoff to disable hibernation system-wide.

You May Be Missing NTFS Support in Linux

Some Linux distros include NTFS support out of the box, but I’ve used a few minimal installs that didn’t. If Linux throws an error when you try to mount a Windows partition, missing NTFS support could be the reason. To fix it, install the ntfs-3g package using your distro’s package manager. On Ubuntu or Debian-based systems, the command issudo apt install ntfs-3g. Fedora users can runsudo dnf install ntfs-3g, and Arch Linux users can usesudo pacman -S ntfs-3g. Once that’s installed, try mounting the partition again.

If you’re on a newer kernel (5.15 or later), your system might be using the newer ntfs3 driver instead. It offers better performance but can be stricter about refusing to mount dirty or hibernated partitions. If you’re getting unexpected errors, this may be why.

Fix the “Unsafe Shutdown” or “Dirty Bit” Error

I’ve run into this error plenty of times: “The NTFS partition is in an unsafe state. Please resume and shutdown Windows fully.” It usually shows up when Windows didn’t shut down properly or the volume is marked as “dirty.”

The best fix is to boot back into Windows, restart it, and then shut it down cleanly. That usually clears the problem. But if you’re stuck in Linux and just need access, you can use ntfsfix carefully as a temporary workaround. Runningsudo ntfsfix /dev/sdXN(replacing sdXN with the actual partition name) can clear the dirty bit and allow Linux to mount the drive.

That said, ntfsfix doesn’t actually repair the file system, it just resets the flag. Using it can prevent Windows from automatically running chkdsk on next boot, potentially masking more serious issues. I only use it when I have no other choice.

If you just need to grab files off theWindows partitionand don’t need to write anything to it, mounting the drive in read-only mode is a safer option. This avoids touching any metadata or writing to a filesystem that may be in an unsafe state. In Linux, use a command like this:

Replace /dev/sdXN with the actual name of your Windows partition. This lets you access files without risking corruption. If you’re not sure about the state of the partition, this is a safer first step than trying ntfsfix.

Avoid Forcing Mounts Unless You Know the Risks

There’s an ntfs-3g option called “remove_hiberfile” that some guides recommend if you’re dealing with a hibernated Windows partition. I’ve tried it before, and while it works, it comes with a big warning: itdeletes the Windows hibernation file. That could cause data loss, especially if you had unsaved work.

If you’re not in an emergency, I strongly recommend booting into Windows and shutting it down properly instead of using this method. Manipulating a hibernated filesystem from Linux is always a high-risk move.

If the Drive Still Doesn’t Show Up, Look Deeper

When none of the above works, it’s time to look a bit deeper. I’ve seen systems where the BIOS storage mode was set to RAID instead of AHCI, and that confused Linux to the point it couldn’t see the drive at all.

Switching to AHCI (carefully) in theBIOSsolved it. Also, I always double-check physical connections or try a different USB port if it’s an external drive. If you’re still stuck, running aSMART diagnosticcan help rule out drive failure. And if you’re using Windows 11, check whether BitLocker is turned on by searching for “Manage BitLocker” in the Start menu. If it’s enabled, you’ll need to turn it off or decrypt the drive before Linux can read it.

Linux and Windows Can Get Along

These partition issues used to trip me up all the time. But once I understood how Windows and Linux treat file systems differently, things got a lot smoother. Now, I just make sure to disable Fast Startup, keep NTFS support installed, and always shut Windows down fully before switching.

In fact, I’ve started usingvirtual machinesmore for lightweight Windows tasks. Running Windows in a VM from Linux skips these issues entirely since you’re working with virtual disks instead of raw partitions. It’s not ideal for gaming or anything GPU-heavy, but for testing software or handling basic workflows, it’s a clean alternative. With a bit of setup, Linux and Windows can get along just fine and switching between them doesn’t have to feel like a tech support nightmare every time.