Mounting NTFS in Dolphin - volume is dirty error and ntfsfix repair
I click an NTFS drive in Dolphin and, instead of mounting, I get an error about a „wrong file system" or „bad superblock". Running sudo mount -t ntfs-3g by hand works, but that's not the point — clicking in the file manager used to just work. This article explains where this comes from on Ubuntu/Kubuntu 24.04, how to fix the drive with a single command, and how to prevent it from happening again.
Symptom
Clicking an NTFS drive in Dolphin ends with a message like:
An error occurred while accessing 'My Book', the system responded: The requested operation has failed: Error mounting /dev/sda1 at /media/sarniak/My Book: wrong fs type, bad option, bad superblock on /dev/sda1, missing codepage or helper program, or other error.
The message is misleading — it suggests missing software, while the actual problem is something else entirely.
The real cause
Checking the kernel logs reveals the true reason:
journalctl -b | grep -iE "ntfs|sda1"
# or: sudo dmesg | grep -i ntfs
ntfs3(sda1): It is recommened to use chkdsk.
ntfs3(sda1): volume is dirty and "force" flag is not set!
The NTFS partition has the „dirty" flag set — meaning the file system was not cleanly unmounted. Common causes:
- the drive was disconnected without „safely remove" / „unmount",
- Windows was shut down with Fast Startup enabled, or put into hibernation — this leaves NTFS in a dirty state.
Why „it used to work"
Ubuntu/Kubuntu 24.04 mounts NTFS through udisks2 using, by default, the ntfs3 kernel driver. This driver refuses to mount a dirty partition until the force flag is set. Previously the ntfs-3g (FUSE) driver was used, which was more forgiving and mounted despite the dirty flag. That's why:
- running
sudo mount -t ntfs-3g /dev/sda1 /mntby hand still works (it bypassesntfs3), - but clicking in Dolphin (which goes through
udisks2→ntfs3) fails.
This is not a drive failure or a missing package — udisks2, ntfs-3g and polkit can all be fully functional.
The fix (one-time)
You just need to clear the „dirty" flag once. This is a one-time sudo, not mounting via sudo every time — after this, clicking in Dolphin works normally again.
First make sure the drive is not mounted (if ntfs3 rejected it, it isn't anyway). Then:
sudo ntfsfix -d /dev/sda1
The -d flag (--clear-dirty) clears the dirty flag if the volume can be safely mounted.
Example output
sarniak@nyarlathotep:~$ sudo ntfsfix -d /dev/sda1
[sudo] hasło użytkownika sarniak:
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sda1 was processed successfully.
After that, just click the drive in Dolphin — it will mount without any issue.
How to find the partition name (
/dev/sda1, etc.):lsblk -f. TheFSTYPEcolumn will showntfs, andLABEL/UUIDwill help you identify the right drive.
Alternative: forcing the mount via ntfs3
Instead of clearing the flag, you can mount with the force option (mounts despite dirty, read-write, but without a consistency check — less safe):
sudo mount -t ntfs3 -o force /dev/sda1 /mnt/drive
In practice ntfsfix -d is cleaner, because it repairs the state once and restores normal click-to-mount in Dolphin.
How to prevent recurrences
- In Dolphin, always use „Unmount" / „Safely remove" before disconnecting the drive.
- If you also use the same drive under Windows: disable Fast Startup
(Control Panel → Power Options → „Choose what the power buttons do" → uncheck „Turn on fast startup"). Fast Startup leaves NTFS in a dirty/hibernation state on every „shutdown". - Don't yank out a USB drive while it's writing or right after copying files — wait for the unmount to finish.
Quick cheat sheet
| Step | Command |
|---|---|
| Identify the partition | lsblk -f |
| Check the cause in the logs | journalctl -b \| grep -i ntfs |
| Clear the dirty flag | sudo ntfsfix -d /dev/sdX# |
| Mount | click in Dolphin (or udisksctl mount -b /dev/sdX#) |
| Deeper repair (Windows) | chkdsk X: /f |