NTFS-3G for Mac adds drivers to your OS X installation that allow you to read and write to NTFS-formatted thumb and external hard drives as if you're using a Windows machine. Do everything with Windows drives on your Mac. Microsoft NTFS for Mac by Tuxera gives you reliable read-write compatibility for all NTFS-formatted USB drives. Download it now! NTFS-3G and Ntfsprogs NTFS-3G is a stable, full-featured, read/write NTFS driver for Linux, Android, macOS, Mac OS X, FreeBSD, NetBSD, OpenSolaris, QNX, Haiku, and other operating systems. It provides safe handling of the Windows XP, Windows Server 2003, Windows 2000, Windows Vista, Windows Server 2008, Windows 7, Windows 8 and Windows 10 NTFS. Page 3-MacFUSE: FUSE for the Mac! Third-Party Products.
By default you can’t write to Windows NTFS hard disk and USB drives as they appear as read only on the Desktop’s of OS X 10.9 users workstations – which is a bit of a pain in the ass!
You can write to these disks with a few installs and tweaks in the Terminal, which will make all NTFS drives writeable – there are also some commercial point and click apps that can get the job done if you don’t fancy wading into the Terminal.
This has been tested in OSX 10.9.2 Mavericks. OSX 10.8 guide here. OSX 10.11 here.
This guide is updated April 2014, the previous package used; fuse4x, is no longer required as osxfuse will work without it. Also the package ntfs-3g is updated and you have to sym link the mount_ntfs file to the ntfs-3g one, so if you have set up before and have updated your brew you need to remove fuse4x. This is all taken into consideration below.
Also on completion when a ntfs disk is mounted a new error maybe displayed but the NTFS disk still mounts and is read/writable.
If you previously had this working it may well be faster to remove all brew related packages and start again.
Get Xcode and Brewed Up
To start with you are going to need Xcode and some Unix style application packages – and what makes this easy on OSX is Homebrew, a package manager for OSX, follow this guide if you haven’t already got it, it will get you up to speed on both Xcode and Homebrew first, after that come back here and tackle the rest below which involves installing a couple of apps and tweaking a couple of files.
Once you have Xcode and Homebrew the following will allow you to write to NTFS disks. Launch Terminal:
Optional – Remove Previous installs of fuse4x
Install ntfs-3g
At this point you need to change the mount_ntfs file, the new file will allow the writes to NTFS disks, these commands will back up the original and then link to the modified mount_ntfs file as supplied by Brew/ntfs-3g
Back up the original
Link to the new
Install osxfuse
Install osxfuse kernel instructions
To see the commands required use the command below or simply run the 2 commands below the screen grab.
If you already have an older version of fuse4x you’ll need to also to run the other commands listed before installing this version.
Follow the 2 commands as highlighted
Re-Attach/Mount Your NTFS Drive
You will get this warning but the disk will still load
Thats it, now all mounted NTFS drives can be written to, if it doesn’t work just disconnect/connect the NTFS drive. Some users end up with a numbered suffix like UNTITLED 2, it still works fine, however I am not aware of a fix for that.
Original mount_ntfs file here.
This document explains how to compile TestDisk and PhotoRec.
- 1System specific notes
- 2Libraries
- 3How to compile TestDisk
System specific notes
DOS
TestDisk & PhotoRec can compiled for DOS/Win9x using DJGPP. Read DOS for more information.
Mac OS X
To compile TestDisk & PhotoRec, install Apple Development Kit
from Mac OS X installation DVD.See Mac OS X for additional notes.
Linux
- Debian, Ubuntu:
apt install build-essential e2fslibs-dev libncurses5-dev libncursesw5-dev ntfs-3g-dev libjpeg-dev uuid-dev zlib1g-dev qtbase5-dev qttools5-dev-tools pkg-config dh-autoreconf
apt install autoconf automake git-core
- Fedora, RedHat Enterprise, CentOS
yum install libtool autoconf automake desktop-file-utils e2fsprogs-devel libewf-devel libjpeg-devel ncurses-devel ntfs-3g-devel zlib-devel libuuid-devel qt5-linguist qt5-qtbase-devel openssl-devel pkgconfig
Additional packages are needed for a static version (version that doesn't use local library):yum install ncurses-static libjpeg-static zlib-static openssl-static glibc-static
.
- Mandriva:
urpmi ncurses-devel e2fsprogs-devel jpeg-devel libntfs-devel zlib-devel openssl-devel libewf-devel
- OpenSuse: install
ncurses-devel e2fsprogs-devel libjpeg-devel ntfsprogs-devel zlib-devel openssl-devel libreiserfs-devel libuuid-devel
Read Compile Linux for more information.
Windows
Use the free C/C++ Cygwin compiler to produce Windows version (Windows NT 4/Windows 2000/XP/2003/Vista...).
It's also possible to use MinGW compiler but some functionalities/libraries may be missing.Read Compile Win for additional details.
Libraries
- libncurses - Required, TestDisk and PhotoRec use a text user interface, Ncurses library and development files must be available.
- Ext2fs library - Optional, used by TestDisk to list files from ext2/ext3/ext4 partition and by PhotoRec to be able to carve the free space from an ext2/ext3/ext4 partition instead of the whole partition
- EWF library - Optional, TestDisk and PhotoRec use it to access Expert Witness Compression Format files (ie Encase files)
- Iconv - Optional, used to handle unicode filenames
- Jpeg library - Optional, used by PhotoRec to improved JPEG recovery rate
- NTFS library - Optional, used by TestDisk to list files from NTFS partition
- Reiserfs library - Optional, used by TestDisk to list files from reiserfs partition
- zlib library - Optional, used by PhotoRec to decompress gzipped content
- Qt5 library - Optional, required for QPhotoRec and to update the configure script.
ncurses Library
Ncurses library is usually installed with your OS, so you don't need to compile it yourself.If ncursesw is available, TestDisk and PhotoRec will use it to display unicode chars.
Ext2fs Library
Ext2fs library is usually installed with your OS, so you don't need to compile it yourself.Otherwise get latest version of e2fsprogs at e2fsprogs.sf.net
EWF library
EWF library source code can be downloaded from https://github.com/libyal/libewf. Note that it requires openssl and zlib to compile and run sucessfully.
Iconv library
On most plateform, iconv functions are integrated in libc, so no additional library is needed.Under Windows, a libiconv package is available on cygwin website, cygwin 1.7 and later handles unicode. A libiconv package is available for DOS/djgpp but it's useless as the OS doesn't support unicode filename.
Jpeg library
Libjpeg library is usually installed with your OS, so you don't need to compile it yourself.Otherwise download libjpeg source from http://www.ijg.org/files/jpegsrc.v6b.tar.gz
Mac OS X 10.3 ships with GNU libtool, albeit under a slightly different name, glibtool. You may haveto run
How to compile ntfsprogs
Get the latest version of ntfsprogs from https://www.tuxera.com/
To get a working version under NT 4, use configure --disable-default-device-io-ops
because SetFilePointerEx used by win32_io.c is not exported by NT 4 DLL.
ReiserFS Library
This library is not needed to recover a ReiserFS partition.As this library is deprecated, use it only if you really need to list the content of reiserfs partition or copy files using testdisk.
Get progsreiserfs-0.3.1-rc8.tar.gz at https://git.kernel.org/pub/scm/linux/kernel/git/jeffm/reiserfsprogs.git
Qt
QPhotoRec is a graphical version of PhotoRec. Qt5 is require to compile qphotorec and to update the configure script.If Qt5 is missing, QPhotoRec is not compiled but it remains possible to compile testdisk, photorec and fidentify.
Libintl
How to compile TestDisk
Standard method
To compile TestDisk and PhotoRec, run
You may need to specify parameters to configure, see configure --help.
Example:
Static version
If you need to run the binary on systems that lack one of the previous libraries,create a static binary with
Static compressed binary
If you need a small binary for binary distribution,get the UPX packer at https://upx.github.io/and run
Note that Linux UPX needs to decompress program files before running, and it will request some space on /tmp to do this. The running executable must be allowed in this directory (mount -o remount,exec /tmp).
Cross-compilation
- Linux to PowerPC Darwin/Mac OS X cross-compiler
NTFS-3G - Wikipedia
Return to TestDisk page