Introduction / Why This Is Needed
The NTFS-3G driver is an open-source implementation of the NTFS file system for Linux, providing full read/write access to disks formatted for Windows. Without it, you can only read data from NTFS partitions (thanks to built-in kernel support), but you won't be able to modify files or create new ones.
By installing NTFS-3G, you will be able to:
- Work with external NTFS USB drives.
- Use Windows partitions in multi-boot systems.
- Reliably exchange data between Linux and Windows.
This guide is suitable for most popular distributions (Ubuntu, Debian, Fedora, Arch).
Prerequisites / Preparation
Before you begin, ensure that:
- You have terminal access (Ctrl+Alt+T or via the applications menu).
- You have administrator privileges (ability to use
sudo). - You have an internet connection to download packages.
- You know the name of the NTFS partition you want to mount (e.g.,
/dev/sdb1). You can find it using thelsblkcommand.
Step-by-Step Instructions
Step 1: Check if NTFS-3G is Already Installed
First, check whether the driver is already installed.
ntfs-3g --version
If you see a version number (e.g., ntfs-3g 2022.10.3), the driver is installed. If the command is not found (command not found), proceed to the next step.
Step 2: Install the Package
Choose the command corresponding to your distribution.
For Ubuntu/Debian and derivatives:
sudo apt update
sudo apt install ntfs-3g
For Fedora/RHEL/CentOS:
sudo dnf install ntfs-3g
For Arch Linux/Manjaro:
sudo pacman -S ntfs-3g
After installing the package, the driver is usually ready to use. The ntfs kernel module will load automatically the first time you mount an NTFS partition.
Step 3: Manual Partition Mount (Verification)
To ensure everything works, try mounting your NTFS partition manually.
- Create a mount point (the folder where the disk will be "connected"):
sudo mkdir -p /mnt/ntfs - Identify the partition name using
lsblk. Look for a partition with typentfs. For example,/dev/sdb1. - Mount the partition:
sudo mount -t ntfs-3g /dev/sdb1 /mnt/ntfs
Replace/dev/sdb1with your device. - Check the contents:
ls /mnt/ntfs
You should see files from the disk. - Unmount after checking:
sudo umount /mnt/ntfs
Step 4: Configure Automatic Mounting (Optional)
If you want the disk to mount automatically upon connection or system boot:
Method A: Via Graphical Utility (Recommended for Beginners)
- Install
gnome-disksif not present:sudo apt install gnome-disk-utility. - Launch Disks from the applications menu.
- Select your NTFS disk in the left panel.
- Click the gear icon ⚙️ → Edit Mount Options.
- Disable User Session Mount Options.
- Enable Mount at system startup.
- Click OK and enter your password.
Method B: Via fstab (Manual Configuration)
- Find the partition's UUID:
sudo blkid /dev/sdb1
The output will containUUID="XXXX-XXXX". - Edit
/etc/fstab:sudo nano /etc/fstab - Add a line (replace UUID and mount point):
UUID=XXXX-XXXX /mnt/ntfs ntfs-3g defaults,windows_names,locale=ru_RU.UTF-8 0 0 - Check for correctness:
sudo mount -a
If there are no errors — the configuration is correct.
Verification
- Connect the NTFS disk (if external) or reboot your computer (if you configured fstab).
- Ensure the disk appears in your file manager (e.g., Nautilus) in the left panel.
- Try to create a file on the disk and modify an existing one. If operations complete without errors — the driver is working correctly.
- Check permissions:
ls -l /mnt/ntfs(if mounted manually) or at the mount point from fstab.
Potential Issues
Error: "Permission denied" or "Отказано в доступе"
- Cause: The disk is mounted read-only or you are running the command without
sudo. - Solution: Ensure you use
mount -t ntfs-3g(not justntfs). For automatic mounting via fstab, add theuid=1000option (replace 1000 with your UID, find it withid -u), for example:UUID=XXXX-XXXX /mnt/ntfs ntfs-3g uid=1000,gid=1000,umask=022 0 0
Disk does not appear in lsblk or the file manager
- Cause: The partition has a different file system (e.g., exFAT) or is not physically connected.
- Solution: Check with
sudo fdisk -lorlsblk -f. Ensure theFSTYPEcolumn showsntfs. If not — the disk is formatted in a different format.
Mount error: "Invalid argument"
- Cause: The file system on the disk is corrupted (e.g., after an improper ejection in Windows).
- Solution: Run a disk check in Windows:
chkdsk X: /f(where X is the drive letter). After fixing errors, try mounting again.
Slow performance with many files
- Cause: NTFS-3G uses safe but not the fastest settings by default.
- Solution: To improve performance, you can add the
big_writesandnoatimeoptions to fstab. Note: This may reduce reliability if the disk is suddenly disconnected. Example:UUID=XXXX-XXXX /mnt/ntfs ntfs-3g defaults,big_writes,noatime 0 0
The ntfs module fails to load
- Cause: The kernel does not include the module (rare in modern distributions) or the module is corrupted.
- Solution: Try reinstalling the package:
sudo apt reinstall ntfs-3g(for Debian/Ubuntu). If that doesn't help, check if the module is available:modprobe -l | grep ntfs. If the list is empty — update your kernel.