macOS et l’écriture NTFS en natif

Il y a une dizaine d’années (le temps passe), j’expliquais qu’Apple avait intégré de façon expérimentale la possibilioté d’écrire sur un média formaté en NTFS. Et depuis, je pensais que cette option avait disparu avec le temps (la méthode de l’époque ne fonctionne plus). Mais ce n’est pas le cas. Explications.

Pour résumer rapidement : Apple a intégré le support du NTFS en lecture avec Mac OS X Panther, il y a… longtemps. Et depuis, c’est la norme : toutes les versions de Mac OS X ne peuvent que lire le NTFS. Mais avec Snow Leopard (2009), Apple a pensé pendant un temps ajouter la prise en charge en écriture. La fonction n’a jamais été activée de façon publique, mais elle est restée présente avec une activation possible en ligne de commande. Avec Mountain Lion, elle nécessite une petite modification qui m’a fait penser (à l’époque) que ça ne marchait plus. Mais en réalité, ça fonctionne encore en 2022 avec macOS Monterey, et quelques petits inconvénients.

Les (grosses) limites

Premièrement, c’est un support expérimentale. Apple ne l’a pas activé a priori pour de bonnes raisons (soit de licence, soit de stabilité, aucune idée) et il est notoirement considéré comme instable. Très franchement, je ne l’utilise pas assez souvent pour donner un avis dessus et je n’ai vu personne mettre en avant des problèmes précis, mais il faut le prendre en compte. En plus de ce problème, il faut bien comprendre que c’est le service minimum : on peut écrire… et c’est tout. Il est impossible de formater, de corriger les erreurs, etc. Si vous avez un usage professionnel du NTFS sur votre Mac, je vous conseille plutôt de vous diriger vers des applications dédiées (et payantes) qui utilisent une implémentation maison, comme celle de Paragon. Mais pour un usage occasionnel, la solution native me semble valable et évite d’installer des pilotes comme MacFuse ou NTFS-3G.

L’implémentation native de macOS a un gros défaut tout de même (et c’est la petite chose qui a changé avec Mountain Lion) : il faut utiliser une variable nobrowse (j’en parle plus bas) qui empêche l’affichage sur le bureau ou dans le Finder.

Mounty

La solution simple que je vous conseille (on passera à la ligne de commande plus bas) porte le nom de Mounty. Ce petit logiciel va en effet automatiser l’activation de l’écriture en NTFS. Il date de 2014 mais est mis à jour régulièrement, prend en charge les derniers OS et est gratuit (vous pouvez faire un don). Il n’installe pas de pilotes : il va simplement taper les commandes à votre place (en gros).

A l’usage, il faut bien prendre en compte plusieurs points. Premièrement, macOS va monter le volume en lecture seule par défaut, et Mounty va simplement proposer une notifications pour ajouter l’écriture. Vous pouvez aussi simplement passer par l’icône et choisir « Re-monter le volume ». Une fois le mot de passe tapé, il va apparaître dans le Finder. Deuxièmement, comme vu plus haut, il est invisible dans un usage normal du Finder. Il y a donc une option « Afficher le volume dans le Finder ». Et troisièmement, il faut impérativement bien éjecter le volume. Les chances de corrompre le système de fichiers sont bien plus grandes qu’en temps normal (testé et pas approuvé).

Ouvrir au démarrage


(re)monter


Afficher


Dans le Finder

Mais pour un usage ponctuel, donc, ça fait le job.

En ligne de commande

Il peut y avoir quelques variantes en fonction des cas, mais voici une méthode qui marche.

Premièrement, il faut l’identifiant de votre média, en tapant la commande suivante. Vous obtiendrez une liste, il faudra simplement choisir la bonne ligne (en fonction de la capacité, par exemple) en noter l’identifiant, sous la forme /dev/diskxsx (il faut bien prendre la partition).

diskutil list

disk14s1 dans mon cas

Ensuite, il faut créer un point de montage, c’est-à-dire un dossier pour accéder aux données. Mettez le nom que vous voulez, mais pas le nom d’un volume déjà connecté.

sudo mkdir /Volumes/NTSFwrite

Puis il faut démonter le volume actuel (ça simplifie les choses)

sudo diskutil unmount /dev/diskxsx

Maintenant, il faut (re)monter le média en lecture/écriture avec la commande suivante. Il faut bien adapter les valeurs pour /dev/diskxsx et le dossier choisi.

sudo mount -t ntfs -o rw,auto,nobrowse /dev/diskxsx /Volumes/NTFSwrite

Pour accéder au volume monté, il faut aller dans le Finder, choisir Aller -> Aller au dossier… et taper /Volumes/. Normalement, votre média sera listé et accessible en écriture.

Quand vous avez terminé, il faut éjecter le volume proprement. Soit via le Finder, soit en tapant la commande sudo diskutil unmount /dev/diskxsx.

Enfin, au passage, j’ai eu le cas de fichiers affichés en grisé et inutilisable mais un simple démontage (avec un remontage éventuel en lecture seule) suffit à régler le problème. C’est dans la FAQ de Mounty, visiblement un souci de métadonnées absentes en NTFS.

Pour terminer, encore une fois, je vous conseille vraiment de passer par un logiciel tiers reconnu si vous avez des données importantes ou un usage professionnel de l’écriture en NTFS. La solution d’Apple est efficace ponctuellement, mais est à éviter si vous en avez besoin souvent, les risques de corruption ne sont pas négligeables.