Lecture et écriture sur un disque NTFS sans payer sous MAC OS X

Nativement, sous OSX il n'est pas possible d'écrire sur un disque formaté NTFS. Pour pallier à cela, des éditeurs tiers comme Paragon propose des drivers logiciels. Cette solution est facile à mettre en place, mais cette solution est payante. Il existe une alternative gratuite s'appuyant sur le couple FUSE for MacOS et ntfs-3G.

Test Test

La première étape va consister à installer FUSE. Pour cela télécharger sur le site du développeur le fichier DMG comportant la dernière version (3.71 au 27/09/2017). Ouvrez l'archive, et cliquez sur FUSE for macOS.

Vous avez la possibilité de personnaliser l'installation. Assurez vous que FUSE for macOS Preference Pane est coché.

Vous devez ensuite installer (si ce n'est pas déjà fait) HOMEBREW sur votre ordinateur. Ainsi, vous allez pouvoir installer des outils complémentaires à votre système. La page du site vous propose un script d'installation à copier et à coller dans une fenêre de Terminal. Cela doit ressembler à quelque chose comme cela :

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Test

Si tout s'est bien passé, vous devriez pouvoir lire dans la fenêtre terminal un rassurant "Install successful !".

Une fois HOMEBREW installée, il va falloir installer NTFS-3G. Pour cela, vous devez taper dans Terminal pour obtenir l'extension d'installation CASK:

brew install cask

Toujours dans le Terminal, installez via HOMEBREW le programme osxfuse :

brew cask install osxfuse

Vous allez installer NTFS-3G :

brew install ntfs-3g

Si tous les commandes se sont déroulées avec succès, vous allez devoir temporairement désactiver le SIP (ou System Integrity Protection) pour vous permettre de remplacer la commande OSX de montage des disques NTFS.

csrutil status

Si le message suivant apparait "System Integrity Protection status: enabled.", il vous faut redémarrer votre ordinateur. Quand le Mac émet un bip, maintenez appuyé les touches CMD et R. Relachez une fois que la pomme apparaît. Vous allez accèder à la console de récupération (mode Recovery). Il se peut que le clavier ne soit pas en français. Si c'est le cas, changez le drapeau en haut à droite. Allez dans le menu Utilitaires et lancez le Terminal. Tapez successivement les commandes suivantes :

csrutil disable reboot

Le système va alors redémarrer. Laissez le faire.

L'opération suivante va consister à renommer la commande mount_ntfs (celle qui va donner accès à votre disque) :

sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.versionoriginal

La commande sudo va vous demander un mot de passe. Saisissez le votre pour forcer les privilèges.

Maintenant il vous faut localiser la version de mount_ntfs proposée par NTFS-3G. Pour cela essayez la commande suivante :

ls /usr/local/Cellar/ntfs-3g

Vous devez voir apparaître un sous-dossier commençant par un chiffre (année). Pour moi, il s'agit du dossier "2017.3.23". Tapez alors la commande suivante pour vérifier la présence de mount_ntfs :

ls /usr/local/Cellar/ntfs-3g/2017*/sbin

Un liste ressemblant à cela doit apparaître :

mkntfs        mount_ntfs    ntfsclone    ntfscp        ntfslabel    ntfsresize    ntfsundelete

La commande est bien présence. Il vous reste à créer un lien avec celle-ci. Pour cela nous allons utiliser la commande ln (création d'un lien symbolique)

sudo ln -s /usr/local/Cellar/ntfs-3g/2017*/sbin/mount_ntfs /sbin/mount_ntfs

Vous noterez dans la commande le * pour substituer les caractères .3.23 et rendre la commande plus concise (maintenant sudo ln -s /usr/local/Cellar/ntfs-3g/2017.3.23/sbin/mount_ntfs /sbin/mount_ntfs est équivalente).

Pour finaliser l'installation, vous devez ré-activer le SIP. Redémarrez votre ordinateur, appuyez sur CMD + R, ouvrez le terminal, et saisissez crsutil enable puis la commande reboot.

Pour vérifier si tout fonctionne, connectez un disque NTFS et essayez de copier un fichier. Si l'opération réussie, le système de fichier NTFS est en mode lecture et ECRITURE.

Lors du passage à une nouvelle version d'OSX (par exemple SIERRA à HIGH SIERRA), vous devez créer à nouveau un lien vers le fichier mount_ntfs proposé par NTFS-3G (la mise à jour provoque l'écrasement du lien symbolique). N'oubliez pas de désactiver temporairement le SIP, de renommer l'original de mount_ntfs et et créer un lien vers la commande de susbtitution à l'aide de ln.

La mise à jour de FUSE se fait via le panneau de configuration. Pour NTFS-3G il faut utiliser la console et lancer la commande brew upgrade ntfs-3G.  Comme évoqué précédement, vous devez recréer un lien symbolique (cf procédure ci-dessus). 

Tweet: