Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Fiches:Qu'en est-il du support ntfs sous GNU/Linux ?


Qu'en est-il du support NTFS sous GNU/Linux ?

par Thomas-debay et Fred

Introduction

Si vous êtes utilisateur de Windows NT, 2000, XP ou supérieur, vous avez sûrement des partitions en NTFS.

Par défaut, Linux sait lire les fichiers de ces partitions, mais est limité pour l'écriture, la modification. Les derniers avancements permettent quand même pas mal de chose. En particulier, il est maintenant possible de modifier un fichier si on ne modifie pas beaucoup sa taille, etc ...

Utilisation

en lecture et écritures limitées

Cette méthode utilise les drivers ntfs fournis par le noyau (si vous compilez vous même votre noyau, pensez à compiler ces drivers). L'écriture est (très) limitée dans le sens où il est impossible de créer un nouveau fichier ou de modifier la taille d'un fichier existant (pour ça voir la section suivante) mais est considérée comme fiable dans les dernières versions du noyau. L'utilisation de versions plus anciennes est risquée.

Il faut monter vos partitions, avec la méthode habituelle, en définissant le système de fichiers comme étant "ntfs" et avec l'option 'rw' pour avoir le support de l'écriture limitée. Il faut que le module ntfs.ko ait été compilé avec ce support, vous pourrez devoir recompiler ce module pour activer cette possibilité.

Par exemple, pour monter une partition NTFS, ici la première partition LOGIQUE dans la partion étendue du premier disque dur, donc /dev/hda5, il faut entrer l'une des commandes suivantes :

  • mount -t ntfs /dev/hda5 /mnt/ntfs
  • mount -t ntfs -o rw /dev/hda5 /mnt/ntfs

A condition que /mnt/ntfs ait été créé et que la partition "ntfs" soit /dev/hda5

Pour plus de détails sur le montage des partitions, voir Montage des disques.

Il est à noter qu'il peut être nécessaire de recupérer le module du noyau qui permet de lire les partitions "ntfs".

Par, exemple pour

Fedora Core 
yum install kernel-module-ntfs-$(uname -r)
Debian 
modprobe ntfs

Pour configurer le lancement automatique du module ntfs au démarrage sous Debian, il faut éditer le fichier /etc/modules en ajoutant le module ntfs à la liste.

en lecture/écriture

Une solution peu satisfaisante (relativement risqué)

Il existe le projet 'captive-ntfs' qui utilise les librairies de windows par un procédé similaire à wine. Ce projet n'est jamais vraiment arrivé à maturité, Il est à l'heure actuel très risqué de l'utiliser en écriture, donc fortement déconseillé.

La solution ultime

La solution définitive s'appelle ntfs-3g (http://www.ntfs-3g.org) : lecture et écriture sans aucune restriction de vos partitions ntfs grâce à un driver extrêmement performant. Les benchmarks sont tout simplement époustouflants : http://www.ntfs-3g.org/performance.html (on aurait presque envie de formater ses partitions linux en ntfs !) . La version 1.3 est à ce jour parfaitement stable. Si vous optez pour cette méthode, vous n'avez pas besoin des drivers ntfs fournis avec le noyau qui sont beaucoup plus limités. Cette méthode est considérée comme très fiable, mais je vous rappelle cependant que lorsqu'il s'agit de la protection des données, il faut être paranoïaque : une sauvegarde des données régulière est indispensable pour pouvoir faire des essais sans trop de risques.

Utilisation : Un package est fourni pour la plupart des distributions. Vous devez avoir le package fuse installé. L'installation se passe sans problèmes.

Pour monter une partition : mount -t ntfs-3g /dev/hd?? /mnt/windows

Pour la monter automatiquement, ajoutez dans le fstab :

 /dev/hd?? /mnt/windows ntfs-3g defaults 0 0 

Attention : Ces drivers ne font pas partie du noyau, ils sont exécutés en mode utilisateur : il est donc nécessaire que les partitions qui contiennent votre système soient montées auparavant. Concrètement cela signifie que la ligne ci dessus doit être après le montage de /, /usr, ... dans votre fstab. Mettez la en dernier si vous n'êtes pas sur de l'ordre.

Rappel : évidement, lorsque vous montez en écriture des partitions sur lesquelles est installé windows, les fichiers habituellement protégés par le système ne le seront plus. Donc agissez avec prudence, vous pouvez rendre windows inutilisable en supprimant un fichier qui ne devrait pas l'être. Je vous conseille de donner l'accès en écriture seulement au root, en faisant un umask=022 par exemple. Souvenez vous que la plupart des pertes de données ne viennent pas d'un plantage des drivers ou d'une défaillance du matériel, mais d'une fausse manip.

Et concernant le partitionement ?

Le paquet ntfsprogs contient des outils qui vous permettrons de déplacer et redimensionner vos partitions ntfs. L'utilitaire gparted est très convivial et supporte le ntfs. Attention tous ces outils sont expérimentaux, il est fortement conseillé de sauvegarder ses données avant de les utiliser. Lisez bien la documentation de ces programmes, il est entre autres indispensable de s'assurer avant toute manipulation que les partitions sont défragmentées et que certaines "protections" sous windows qui enregistrent la table de partition et refusent de booter en cas de modification, etc, sont désactivées : Il y a une quinzaine d'années, le mode de fonctionnement préféré de certains virus était l'altération de la table de partitions, et il semblerait que les spécialistes de la sécurité ne soient pas très à jour chez Microsoft ... .



@ Retour à la rubrique Fiches pratiques


Copyright

© octobre 2005, janvier 2006 Thomas-debay, Fred

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike icon
Ce document est publié sous licence Creative Commons
Attribution, Partage à l'identique 3.0 :
http://creativecommons.org/licenses/by-sa/3.0/

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons CC-BY-SA