Skip to content

NTFS-3G Utility

ntfs-3g enables read/write access to Windows NTFS filesystems on Linux via FUSE, supporting mounting, permissions, and compression.

This guide will go over the numerous tools this software suite has to offer, basic and advanced filesystem and recovery options.

Information

ntfs-3g is one of the preinstalled packages for our r/Techsupport Rescue Media. If you are using this live image, you may skip the installation section.

How to install ntfs-3g

Refer below for installation instructions if you are not using our live image or want to install it on your own system.

Installing ntfs-3g

Refer below for installation instructions if you are not using our live image or want to install it on your own system.

Debian / Ubuntu / Linux Mint:

Terminal window
sudo apt update && sudo apt install ntfs-3g

Fedora / RHEL / CentOS / AlmaLinux:

Terminal window
sudo dnf install ntfs-3g fuse

Arch / Manjaro / CachyOS:

Terminal window
sudo pacman -Syu ntfs-3g

The rest of the guide will be going over the different methods and tools available. Note, it is best to have a basic understanding of what stuff like /dev/sdb and /dev/sdb1 represent. A guide to understanding it can be found here.

Quick fix (mount issues):

Terminal window
# Unmount if mounted
sudo umount /dev/sdb1
# Quick repair (fixes common issues)
sudo ntfsfix /dev/sdb1
# Clear "dirty" flag
sudo ntfsfix -d /dev/sdb1
Information

ntfsfix is LIMITED - it only fixes basic issues. For serious NTFS corruption, use Windows chkdsk, which will require the Windows installation media or a WinPE media.

Safe read-only mount:

Terminal window
# Mount read-only to prevent further damage
sudo mount -t ntfs-3g -o ro /dev/sdb1 /mnt/windows

Force mount with recovery:

Terminal window
# Ignore errors and mount anyway
sudo mount -t ntfs-3g -o recover,remove_hiberfile /dev/sdb1 /mnt/windows
# Remove Windows hibernation file if blocking
sudo mount -t ntfs-3g -o remove_hiberfile /dev/sdb1 /mnt/windows

Create compressed image:

Terminal window
# Clone to image file (sparse, compressed)
sudo ntfsclone --save-image -o windows_backup.img /dev/sdb1
# With progress bar
sudo ntfsclone --save-image -o windows_backup.img /dev/sdb1 --force

Restore from image:

Terminal window
# Restore image to partition
sudo ntfsclone --restore-image -i windows_backup.img /dev/sdb1

Clone to another drive:

Terminal window
# Direct partition-to-partition clone
sudo ntfsclone -O /dev/sdc1 /dev/sdb1

Check if resize is safe:

Terminal window
# Dry-run (no changes made)
sudo ntfsresize -n -s 50G /dev/sdb1

Shrink NTFS:

Terminal window
# Unmount first
sudo umount /dev/sdb1
# Resize to 50GB
sudo ntfsresize -s 50G /dev/sdb1
# Then resize partition with gparted

Expand NTFS:

Terminal window
# First expand partition with gparted
# Then expand filesystem to fill partition
sudo ntfsresize /dev/sdb1

Copy files without mounting:

Terminal window
# List files
sudo ntfsls /dev/sdb1
# List recursively
sudo ntfsls -R /dev/sdb1 /Users
# Copy specific file
sudo ntfscat /dev/sdb1 /Users/Documents/important.doc > recovered.doc