You need your Windows files, and the partition is missing
You dual-booted Fedora and Windows. You rebooted into Fedora to grab a document, but the file manager shows no Windows drive. You open the terminal and try to mount the partition, only to see The disk contains an unclean file system or Permission denied. You don't want to reboot into Windows just to copy a PDF. You need access now, and you want the partition to appear automatically next time you boot.
Fedora does not mount NTFS partitions automatically by default. This is a safety measure. Windows Fast Startup can leave the filesystem in a hibernated state. Mounting a hibernated NTFS volume from Linux can corrupt data. Fedora waits for you to explicitly mount the drive so you can verify the state. Once you configure the mount correctly and handle Windows power settings, the partition becomes a reliable part of your Fedora workflow.
What's actually happening
NTFS is a proprietary filesystem owned by Microsoft. Linux does not have the source code for the original driver. The Linux community maintains reverse-engineered drivers to read and write NTFS volumes. Fedora ships with ntfs-3g, a driver that runs in user space using FUSE (Filesystem in Userspace). FUSE allows filesystem code to run outside the kernel, which improves stability. If the driver crashes, the kernel stays safe. The trade-off is performance. FUSE adds overhead compared to a native kernel driver.
Modern kernels include ntfs3, a kernel-space NTFS driver. It is faster than ntfs-3g because it runs inside the kernel. Fedora provides ntfs-3g as the default because it has a longer track record of handling edge cases and complex NTFS features without data loss. You can use ntfs3 if you need maximum throughput, but ntfs-3g is the recommended choice for general dual-boot use.
Mounting a partition involves three steps. The kernel identifies the block device. You create a directory in the filesystem tree to serve as the attachment point. The kernel attaches the partition to that directory. Permissions on NTFS volumes do not map directly to Linux user IDs. By default, the mount makes all files owned by root. You must pass mount options to assign ownership to your user account and set readable permissions.
Identify and mount the partition
Run lsblk -f to list all block devices and their filesystem types. Look for the partition with ntfs in the FSTYPE column. Note the device name, such as /dev/nvme0n1p3 or /dev/sda2. Device names can change between reboots or if you add new hardware. Use the UUID for permanent configuration.
Here's how to list your partitions and find the NTFS volume.
# List all block devices with filesystem details
# Look for the row where FSTYPE is 'ntfs'
lsblk -f
Create a mount point directory. This directory acts as the handle for the partition. You can name it anything, but /mnt/windows is a standard convention. Mount the partition temporarily to verify access before making permanent changes.
Here's how to create the mount point and attach the partition for testing.
# Create the mount point directory
# -p prevents errors if the directory already exists
sudo mkdir -p /mnt/windows
# Mount the partition using the ntfs-3g driver
# Replace /dev/nvme0n1p3 with your actual partition identifier
sudo mount -t ntfs-3g /dev/nvme0n1p3 /mnt/windows
Check the mount output. If the command returns silently, the mount succeeded. Run ls /mnt/windows to see the files. If you see Permission denied, the mount worked but the permissions are wrong. If you see The disk contains an unclean file system, Windows Fast Startup is locking the volume. Address the error before proceeding.
Run ls /mnt/windows to verify the files are visible. If the directory is empty but you know files exist, check the permissions. A bad mount option can hide files from your user account.
Configure automatic mounting with fstab
Temporary mounts disappear when you reboot. Add an entry to /etc/fstab to mount the partition automatically at boot. Always use the UUID instead of the device name. Device names like /dev/sda1 can shift if you change cable order or add drives. The UUID is a unique identifier burned into the filesystem metadata. It never changes unless you reformat the partition.
Here's how to retrieve the UUID for your NTFS partition.
# Print the UUID and filesystem type for the partition
# The UUID is a stable identifier that persists across hardware changes
sudo blkid /dev/nvme0n1p3
Edit /etc/fstab with a text editor. Add a new line at the end of the file. Use the UUID from blkid. Set uid=1000 and gid=1000 to assign ownership to your standard user account. Fedora assigns ID 1000 to the first user created during installation. Add windows_names to support long filenames and special characters. Set umask=022 to allow your user to write and others to read.
Here's the fstab entry to add for automatic mounting with correct permissions.
# /etc/fstab entry for NTFS partition
# Replace UUID with the output from blkid
# uid and gid map files to your user account (usually 1000)
# windows_names enables long filenames and special characters
# umask=022 sets permissions: owner can write, others can read
UUID=YOUR-UUID-HERE /mnt/windows ntfs-3g uid=1000,gid=1000,windows_names,umask=022 0 0
Save the file. Run sudo mount -a to test the configuration. This command reads /etc/fstab and mounts any filesystems that are not currently mounted. If the command returns silently, the entry is valid. If you see an error, fix the typo in /etc/fstab before rebooting. A bad fstab entry can drop the system into emergency mode on boot.
Run sudo mount -a before you reboot. A syntax error in fstab prevents the system from starting.
Handle Windows Fast Startup errors
The most common error when mounting NTFS is The disk contains an unclean file system. This happens when Windows Fast Startup is enabled. Fast Startup is a hybrid shutdown mode. It writes the kernel state to the disk and hibernates the system instead of shutting down completely. Linux sees the hibernation flag and refuses to mount the volume to prevent data corruption.
You have two options. Disable Fast Startup in Windows, or use ntfsfix to clear the dirty flag. Disabling Fast Startup is the correct long-term solution. ntfsfix is a workaround that clears the lock but does not repair deep filesystem corruption. Use ntfsfix only when you cannot boot Windows immediately.
Here's how to clear the dirty flag using ntfsfix.
# Clear the unclean flag on the NTFS partition
# This allows Linux to mount the volume despite Fast Startup
# This command does not repair filesystem corruption
sudo ntfsfix /dev/nvme0n1p3
To disable Fast Startup, boot into Windows. Open Control Panel. Go to Power Options. Choose what the power buttons do. Click Change settings that are currently unavailable. Uncheck Turn on fast startup. Save changes. Shut down Windows completely. Boot Fedora. The partition will mount cleanly.
Disable Fast Startup in Windows. The mount error is Windows' fault, not Linux'.
Troubleshoot permissions and SELinux
If the partition mounts but you cannot write files, check the uid and gid in /etc/fstab. The values must match your user ID. Run id to check your IDs. If you see uid=0 in the mount options, root owns the files. Change uid=0 to uid=1000. Remount the partition.
If you cannot read files, check the umask. umask=022 allows the owner to read and write, and others to read. umask=077 restricts access to the owner only. Adjust the mask based on your needs.
SELinux does not block NTFS mounts by default. The ntfs-3g driver runs in user space, and SELinux policies allow FUSE mounts for user directories. If you see Permission denied errors despite correct fstab settings, check the journal for SELinux denials.
Here's how to check for SELinux denials related to the mount.
# Search the audit log for recent SELinux access vector cache denials
# Look for lines mentioning ntfs-3g or the mount point
sudo ausearch -m avc -ts recent
If ausearch shows denials, do not disable SELinux. Restore the default context or add a policy exception. Most NTFS permission issues are caused by fstab options, not SELinux. Fix the fstab entry first.
Run journalctl -xe first. Read the actual error before guessing.
Decision matrix
Use ntfs-3g when you need maximum compatibility with complex NTFS features and stability. Use ntfs3 when you need higher performance for large file transfers and accept occasional edge-case bugs. Use a temporary mount when you only need access once and don't want to modify system configuration. Use /etc/fstab when you need the partition available every time you boot Fedora. Use ntfsfix when Windows crashed or Fast Startup left the filesystem dirty and you cannot boot Windows immediately. Disable Fast Startup in Windows when you dual-boot frequently and want to avoid mount errors on the Linux side. Edit /etc/fstab when you need to change mount behavior. Never edit files in /usr/lib/.