NTFS-3G Mount Error on Linux: Quick Fixes
Getting an error when trying to mount a Windows NTFS partition on Linux? This fix covers fast checks, driver reinstall, and manual mount options.
First: Check If Fast Startup Is On (30 Seconds)
If you have Windows 8, 10, or 11 installed on the same machine, this is the #1 cause of the mount error. Windows's Fast Startup (a hybrid shutdown) leaves the NTFS partition in a partial hibernation state. Linux can't mount it read-write because it looks like it's still in use.
Quick test: Unplug your external NTFS drive, or if it's an internal partition, reboot into Windows once, then do a full shutdown (Shift + Shut Down in the Start menu). Then boot back into Linux. Try mounting again.
If that fixes it, you found the culprit. To stop it permanently, disable Fast Startup in Windows:
- Open Control Panel > Power Options > Choose what the power buttons do.
- Click "Change settings that are currently unavailable."
- Uncheck "Turn on fast startup."
- Save changes.
This is your fix 90% of the time. Don't bother with anything else until you try this.
Second: Force a Read-Only Mount (2 Minutes)
If you can't disable fast startup (shared workstation, no admin rights), force the mount to read-only. Modern NTFS-3G supports this with the ro flag. You'll see the partition, but can't write to it. This is fine for file recovery or copying data out.
sudo mount -t ntfs-3g -o ro /dev/sdXY /mnt/windows
Replace /dev/sdXY with your actual partition (like /dev/sda2). If that works, you're good. If it still fails, the driver might be broken or missing.
Third: Reinstall NTFS-3G and Check Dependencies (5 Minutes)
Sometimes the ntfs-3g package gets corrupted or an update breaks it. This is rare but I've seen it after system upgrades. On Debian/Ubuntu:
sudo apt update
sudo apt install --reinstall ntfs-3g
On Fedora/RHEL:
sudo dnf reinstall ntfs-3g
Also check that the fuse module is loaded. The ntfs-3g driver runs on top of FUSE. If it's missing, you'll get cryptic errors.
lsmod | grep fuse
If you see nothing, load it:
sudo modprobe fuse
Make it permanent by adding fuse to /etc/modules.
Fourth: Manual Mount with Force (10 Minutes)
If the partition is truly dirty (crashed Windows, bad shutdown), you can force mount with the force or recover options. Use force only if you're okay with potential data loss. It skips the journal check.
sudo mount -t ntfs-3g -o force /dev/sdXY /mnt/windows
Or use recover to attempt journal replay:
sudo mount -t ntfs-3g -o recover /dev/sdXY /mnt/windows
If the drive has hardware issues (bad sectors), ntfs-3g will fail with "Input/output error." In that case, try ntfsfix (part of ntfs-3g suite) to clear the dirty flag:
sudo ntfsfix /dev/sdXY
This does NOT fix file system corruption. It just resets the "dirty" bit so Linux can mount it. Run a chkdsk from Windows later to really fix things.
Last Resort: Check dmesg and Kernel Support (15+ Minutes)
If nothing above works, dig into kernel messages. Run this right after the failed mount attempt:
dmesg | tail -20 | grep -i ntfs
You might see NTFS-fs error (device sdXY): load_system_files: $LogFile is not clean — that's the fast startup issue again. Or you might see FUSE: mount is blocked if SELinux or AppArmor is blocking it. Check your security logs:
sudo journalctl -u systemd-mount | tail -20
If you're on a very old Linux kernel (before 5.15), the built-in NTFS driver (not ntfs-3g) is read-only and buggy. Install ntfs-3g and use it explicitly with mount -t ntfs-3g. The newer kernels (5.15+) have a better ntfs3 driver, but it can conflict with ntfs-3g. If you installed both, remove one.
Finally, check your disk's health. Run:
sudo smartctl -a /dev/sdX | grep -i reallocated
If you see reallocated sectors over 100, the drive is dying. Nothing will mount it reliably. Replace the drive.
Quick Reference Table
| Error Message | Likely Cause | Fix |
|---|---|---|
Operation not supported |
Fast startup or dirty disk | Disable fast startup or use force |
Input/output error |
Hardware failure or bad cable | Run ntfsfix, then check SMART |
Device or resource busy |
Already mounted elsewhere | Run sudo lsof +D /mnt |
No such device |
Wrong partition path | Check lsblk for correct path |
Most people stop at step one. Try that before you waste an hour on driver reinstallation. If you're still stuck, post the exact error message and your distro version. I'll tell you what's broken.
Was this solution helpful?