NTFS FAQ (Foire Aux Questions)

English Italian Japanese Vietnamese German Simplified Chinese French Spanish Brazilian Traditional Chinese Russian

Cette FAQ est une composante du Projet Linux NTFS.
La version à jour peut-être trouvée en-ligne à l'adresse
ntfs.html

Si vous avez des questions concernant le système de fichiers NTFS qui ne sont pas répondues dans cette FAQ ou désirez nous laisser vos commentaires, n'hésitez pas à me faire parvenir un courriel à l'adresse suivante: linux-ntfs-dev@sourceforge.net

Contenu

Code

** - Questions les plus fréquemment posées
!! - Autres informations intéressantes
NB - Informations à lire attentivement

 Commandes ou résultat de commande

1. Questions générales sur le système de fichiers NTFS

  1.1 Qu'est ce que le système de fichiers NTFS?
  1.2 Est-ce que le système de fichiers NTFS est meilleur que FAT/FAT32?
  1.3 Devrais-je utiliser le système de fichiers NTFS? (Mettre à jour?)
!! 1.4 Est-ce que le système de fichiers NTFS est le même dans chaque version de Windows?
  1.5 Quelles sont les limites du système de fichiers NTFS?

2. Volumes NTFS

  2.1 Comment lire un volume NTFS à partir de Windows 95/98/ME ou du DOS?
  2.2 Comment convertir un volume FAT en un volume NTFS?
!! 2.3 Comment convertir un volume NTFS en un volume FAT?
  2.4 Comment effacer un volume NTFS?
  2.5 Comment défragmenter un volume NTFS?
** 2.6 Comment modifier la grosseur d'un volume NTFS?

3. Linux et NTFS

!! 3.1 Quelles versions de NTFS peuvent être lues par Linux?
** 3.2 Est-ce que le driver permet aussi d'écrire sur une partition NTFS?
  3.3 Quelles fonctionnalités de NTFS sont supportées par Linux?
  3.4 Que faire si des problèmes surgissent?
** 3.5 Comment ajouter le support NTFS à Linux?
  3.6 Quelle est la meilleure version?
  3.7 Quels sont les autres outils disponibles?
  3.8 De quelle manière a été écrit le driver NTFS?
  3.9 Qui doit-on remercier?

4. Monter des Volumes NTFS

  4.1 Puis-je monter un volume NTFS?
  4.2 Jusqu'à quel point le driver NTFS est-il sécuritaire?
  4.3 Quelle partition devrais-je utiliser?
  4.4 Quelle est la version de mon driver NTFS?
!! 4.5 Comment monter un volume NTFS?
  4.6 Options communes de la commande Mount.
  4.7 Options exclusives au driver Original.
  4.8 Options exclusives au Nouveau driver.
** 4.9 Comment changer les permissions sur un volume NTFS monté?
!! 4.10 Comment monter des volumes NTFS automatiquement?

5. Démarrage de systèmes d'exploitation à partir de NTFS

  5.1 Puis-je démarrer Windows sur un volume NTFS?
  5.2 Comment utiliser lilo?
  5.3 Comment utiliser grub?

6. Distributions de Linux

  6.1 Quelles distributions de Linux supportent NTFS de manière native?
  6.2 Pourquoi est-ce que RedHat ne supporte pas NTFS?
  6.3 Pourquoi est-ce que la version Linux de RedHat gèle lorsqu'on accède à un volume NTFS?
  6.4 Y-a-t-il des distributions qui peuvent être installées sur NTFS?

7.  Le nouveau driver NTFS pour Linux

  7.1 Qu'est ce que le nouveau driver NTFS?
  7.2 Dois-je utiliser obligatoirement le nouveau driver?
  7.3 Comment utiliser le nouveau driver?
  7.4 Qu'est ce qu'un patch?
  7.5 Que faire si je ne comprends toujours pas?
  7.6 Quand est-ce que le nouveau code sera intégré au kernel de Linux?
  7.7 Pourquoi ne pas écrire un wrapper pour le driver Windows?

Retour au haut de la page


1. Questions générales sur le système de fichiers NTFS

1.1 Qu'est ce que le système de fichiers NTFS?

NTFS est l'abbreviation de New Technology Filesystem; NT parce qu'il fut développé à l'origine pour Windows NT et Filesystem (système de fichiers) parce qu'il s'agit de la manière dont un ordinateur organise et enregistre les fichiers sur un disque. Dépendamment du système d'exploitation utilisé, le système de fichiers enregistre les données de manières différentes.

NTFS est utilisé sous Windows NT, 2000 et XP.

Retour au haut de la page

1.2 Est-ce que le système de fichiers NTFS est meilleur que FAT/FAT32?

En un mot, oui. Il est beaucoup plus robuste, supporte les noms de fichiers Unicode, offre une sécurité décente et permet la compression et l'encryption des données. Son principal défaut vient du fait qu'il ne peut être lu que par les systèmes d'exploitation Windows NT, 2000 et XP, c'est à dire que vous ne pouvez pas utiliser une disquette de démarrage DOS standard et accéder à vos données.

Cependant, comme toujours, il y a des exceptions à cette règle. Linux possède un driver pour le système de fichier NTFS depuis décembre 1997. De plus, il existe également un programme permettant l'accès au système de fichiers NTFS à partir du DOS (voir la Section 2.1 pour plus de détails).

Retour au haut de la page

1.3 Devrais-je utiliser le système de fichiers NTFS? (Mettre à jour?)

Non, vous n'êtes pas obligé, même si pour la plupart des gens cela serait une bonne idée. De plus, vous ne verriez probablement aucune différence. Le seul problème est qu'une fois migré, vous ne pourriez plus revenir au système de fichiers FAT si vous changez d'idée (voir la Section 2.3 pour plus de détails).

NB Vous pouvez installer Windows NT sur un système de fichiers FAT16 et Windows 2000 ou XP sur un système de fichiers FAT32. Par la suite, vous pourrez migrer votre système de fichiers à NTFS (voir la Section 2.2 pour plus de détails).

Retour au haut de la page

1.4 Est-ce que le système de fichiers NTFS est le même dans chaque version de Windows?

Non. Bien qu'ils se ressemblent, les nouvelles versions ont des fonctionnalités supplémentaires. Par exemple, Windows 2000 permet d'imposer des quotas.

NTFSVersion de Windows
v1.2NT 3.51, NT 4
v3.02000
v3.1XP

La version 1.2 est parfois appelée 4.0.
Les versions 3.0 et 3.1 sont parfois référencées comme étant 5.0 et 5.1.

Retour au haut de la page

1.5 Quelles sont les limites du système de fichiers NTFS?

IMMENSE. Le système de fichiers NTFS supporte des fichiers de grosseur allant jusqu'à 263 octets. Les volumes NTFS peuvent s'étendre jusqu'à 263 clusters et chaque cluster peut être aussi grand que 64KiB. Cela procure au système de fichiers NTFS une limite maximum approximative de 500 milliards de gigaoctets.

Retour au haut de la page


2. Volumes NTFS

2.1 Comment lire un volume NTFS à partir de Windows 95/98/ME ou du DOS?

Malheureusement, vous ne pouvez pas. Ces versions de Windows ne peuvent lire que le système de fichiers FAT. Le système de fichiers NTFS, lui, ne peut être lu que par des versions de Windows NT, 2000 et XP.

Cependant, avec un peu de travail, vous pouvez utiliser certains utilitaires disponibles à l'adresse SysInternals "NTFS for Windows 98" et "NTFSDOS" qui vont vous permettre de lire des volumes NTFS à partir de Windows 95, 98 et DOS. De plus, si vous êtes prêt à payer, des versions permettant d'écrire sur des volumes NTFS sont aussi disponibles (N.B. Le prix est prohibitif).

Retour au haut de la page

2.2 Comment convertir un volume FAT en un volume NTFS?

Accédez à l'invité de commandes et tapez (replacer x: par le nom du volume):

    convert x: /fs:ntfs
    

Si le volume visé est en cours d'utilisation, la conversion aura lieu lors du prochain redémarrage.

NB Cette commande ne permet pas facilement de revenir en arrière. Voir la prochaine question.

Retour au haut de la page

2.3 Comment convertir un volume NTFS en un volume FAT?

La réponse courte est, Vous ne pouvez pas. Cependant, il y a une exception si vous êtes prêt à payer. Le logiciel Partition Magic, disponible à l'adresse norton.com, permet de convertir entre plusieurs systèmes de fichiers, incluant NTFS et FAT.

Retour au haut de la page

2.4 Comment effacer un volume NTFS?

Cela dépend du système d'exploitation que vous utilisez.

Pour DOS, Windows 95/98/ME: Utilisez l'utilitaire fdisk. Démarrez l'ordinateur avec une disquette de démarrage ou demandez à Windows de redémarrer en mode DOS. Ensuite, exécutez fdisk. Si vous avez plus qu'un disque dur, assurez-vous de choisir le bon. Enfin, sélectionnez la partition non-DOS à effacer. Attention! Vos changements seront effectifs immédiatement.

Windows NT: Gestion de l'ordinateur. Dans le menu Programmes, sélectionnez Outils d'administration.

Windows 2000, XP: Gestion des disques. Au panneau de configuration, sélectionnez Outils d'administration, ensuite Gestion de l'ordinateur.

Retour au haut de la page

2.5 Comment défragmenter un volume NTFS?

Après qu'un volume ait été utilisé quelques temps et que plusieurs écritures aient eu lieu sur le disque dur, les fichiers peuvent devenir fragmentés. C'est à dire qu'au lieu de ne se retrouver dans un seul endroit sur le disque, un fichier se retrouve dispersé en plusieurs petits morceaux sur le disque. Cela cause alors un ralentissement lorsque l'ordinateur accéde à ces fichiers.

Windows 2000 et XP ont un programme de défragmentaton intégré. Pour les utilisateurs de Windows NT, il y a un programme gratuit permettant d'accomplir la même tâche. Diskeeper Lite peut être téléchargé à partir de l'adresse http://diskeeper.com

Retour au haut de la page

2.6 Comment modifier la grosseur d'un volume NTFS?

Jusqu'à dernièrement, la seule façon de modifier la grosseur d'un volume NTFS, sans perte de données, était de payer un gros tas d'argent. Cependant, maintenant nous avons notre propre programme, ntfsresize. Il a été testé, mais pour l'instant il devrait continuer à être considéré comme expérimental. Pour plus d'informations, lisez le fichier ntfsresize FAQ.

Un logiciel, non-gratuit, permettant de modifier les volumes NTFS est Partition Magic disponible à l'adresse http://powerquest.com.

Retour au haut de la page


3. Linux et NTFS

3.1 Quelles versions de NTFS peuvent être lues par Linux?

Le driver Linux peut lire toutes les versions de NTFS. Car, bien que chaque version diffère quelque peu, le driver ne fait qu'interprêter les répertoires et les fichiers. Tous les index gérés par NTFS peuvent être alors ignorés sans danger.

Lorsque le driver permettant d'écrire sur les volumes NTFS deviendra disponible, alors seulement les fonctionnalités pourront varier dépendamment de la version de NTFS sur laquelle vous voudrez écrire.

Retour au haut de la page

3.2 Est-ce que le driver permet aussi d'écrire sur un volume NTFS?

Pas vraiment, mais si vous avez seulement besoin de copier quelques fichiers de Linux vers Windows sur une machine multi-boot alors lisez le paragraphe Comment écrire sur un volume NTFS ci-dessous qui vous présente une manière de contourner le manque de support en écriture. Et pour le support d'écriture sur un volume Linux, continuez à lire.

Il existe actuellement deux drivers. Le driver original, présent dans le kernel 2.4, contient quelques fonctionnalités d'écriture, mais il est extrêmement dangereux de l'utiliser. La possibilité de détruire votre système de fichier est très élevée.

Le nouveau driver, introduit avec le kernel 2.5.11, contient également quelques fonctionnalités d'écriture mais elles sont très limitées. Le driver peut écraser des fichiers existants, mais il ne peut pas changer la longueur d'un fichier, ajouter de nouveaux fichiers ou effacer des fichiers existants.

Il ne faut pas se le cacher, ajoutez le support en écriture au volume NTFS pourrait prendre longtemps. NTFS étant bati comme une base de données, chaque changement que vous faites, nécessite des modifications à plusieurs endroits, pour la redondance. Trompez-vous une fois et votre système de fichiers risque d'être endommagé, trompez-vous plusieurs fois et votre système de fichiers sera complètement détruit. également, les développeurs actuels ne travaillent sur ce projet qu'à titre de hobby, durant leurs temps libres. Cependant, si vous aimeriez nous donner un coup de main, écrivez-moi à l'adresse suivant: linux-ntfs-dev@sourceforge.net

Comment écrire sur un volume NTFS. Si vous utilisez un ordinateur avec multi-boot et avez besoin seulement des capacités d'écriture sur un volume NTFS afin d'y transférer des fichiers de Linux vers Windows, vous pouvez, à la place, utiliser un driver ext2/ext3 pour Windows et pendant que vous utilisez Windows, lire vos fichiers sur la partition Linux. De cette manière, en utilisant deux drivers de lecture seulement, vous pouvez quand même copier des fichiers d'un système de fichiers à l'autre.

à ce jour, 4 juin 2003, les drivers open source suivants permettent à Windows de lire les systèmes de fichiers Linux ext2/ext3:

Retour au haut de la page

3.3 Quelles fonctionnalités de NTFS sont supportées par Linux?

NTFS possède un grand éventail de fonctionnalités, cependant peu sont actuellement disponibles avec le driver NTFS pour Linux.

Le driver NTFS pour Linux supporte actuellement: Les noms de fichiers Unicode (converti selon la page de code locale ou utf8), les fichiers compressés et les fichiers vides (sparse files).

Cependant, le driver ne peut lire les fichiers encryptés, il ignore les informations de sécurité attibuées aux fichiers par Windows et les quotas établis.

Retour au haut de la page

3.4 Que faire si des problèmes surgissent?

Ce driver est très sécuritaire en lecture seulement, mais il est impossible de tester toutes les possibilités. Cependant, si quelque chose venait qu'à mal tourner, s'il vous plait, aidez-nous à trouver et à règler le problème.

Faites parvenir un courriel à l'équipe de développment à l'adresse linux-ntfs-dev@lists.sourceforge.net et indiquez-nous la version du driver que vous utilisez, la version de Linux (uname -a) et la version de NTFS (Windows NT, 2000 ou XP).

De plus, s'il y a des journaux (logs) ( /var/log/messages ) que vous pensez pourraient nous être utiles, veuillez les inclure avec votre message.

Merci.

Retour au haut de la page

3.5 Comment ajouter le support NTFS à Linux?

La plupart des utilisateurs n'auront rien à compiler pour activer le support NTFS dans Linux. La majorité des distributions de Linux (à l'exception remarquée de RedHat) offre le support NTFS out-of-the-box.

Si vous utilisez RedHat 9 (Shrike), 8.0 (Psyche) ou 7.3 (Valhalla), alors vous devrez installer un rpm pour activer le support NTFS. Des informations d'installation détaillées sont fournies avec le rpm.

Si vous utlisez une version de RedHat plus vieille ou une autre distribution qui n'offre pas le support NTFS, alors vous devrez recompiler votre kernel vous-même. Ce n'est pas aussi difficile que ça en a l'air. Jetez un coup d'oeil à la page Compilation pour plus de détails.

Retour au haut de la page

3.6 Quelle est la meilleure version?

La nouvelle version du driver est la meilleure. Elle est mieux écrite, plus rapide, moins boguée et SMP-safe. Le nouveau driver est inclus avec le kernel 2.5.11 et supérieur et une patch est disponible pour ajouter le nouveau driver au kernel 2.4.

Retour au haut de la page

3.7 Quel sont les autres outils disponibles?

En ce moment, il y a peu d'autres outils et ils sont principalement orientés pour les développeurs. Nous gardons une liste de tous nos outils ici.

Naturellement, notre priorité est le développement du code permettant l'écriture sur des volumes NTFS.

Retour au haut de la page

3.8 De quelle manière a été écrit le driver NTFS?

Microsoft n'ayant jamais publié de documention sur le fonctionnement interne de NTFS, nous avons dû alors procéder à du reverse engineering sur le système de fichiers et cela à partir de rien. La méthode se résumait à peu près à ceci:

  1. Examiner le volume avec un éditeur héxadécimal
  2. Exécuter une opération (par exemple, créer un fichier)
  3. Utiliser l'éditeur héxadécimal et rechercher les changements
  4. Classer et documenter les changements
  5. Répéter les étapes 1 à 4 à l'infini

Si cela vous semble être beaucoup de travail, alors vous comprenez combien la tâche fut ardue. Nous comprenons maintenant presque complètement tout le fonctionnement interne du système de fichiers NTFS et nous l'avons documenté pour le bénéfice de tous à l'adresse suivante: ../ntfs/index.html

En fait, écrire le driver était de loin beaucoup plus simple que de recueillir toutes les informations.

Retour au haut de la page

3.9 Qui doit-on remercier?

Premièrement, nous devons remercier Martin von Löwis. C'est lui qui créa le driver NTFS original en 1995. C'est ce driver qui fut ajouté au kernel de Linux en décembre 1997 (2.1.74). Il fut aidé par les bonnes âmes suivantes:

Albert Cahalan, Anton Altaparmakov, Damon Casale, David Dillard, Domagoj Pensa, Joseph Malicki, Matthew Fanto, Olof Wolgast, Rani Assaf, Régis Duchesne, Richard Russon, Steve Dodd, Werner Seiler.

Ensuite, nous devons remercier Anton Altaparmakov dont l'enthousiasme a contribué à garder ce projet en vie. Dans une période où le projet était effectivement à l'abandon, il prit la relève et stabilisa le code. Il prit sur lui de réécrire entièrement le driver à partir de rien dans le but d'avoir une base de travail solide afin de permettre éventuellement l'ajout du support à l'écriture. Il fut aidé par:

Pawel Kot, Richard Russon.

Retour au haut de la page


4. Monter des Volumes NTFS

4.1 Puis-je monter un Volume NTFS?

Bien sûr! Le driver peut lire toutes les versions NTFS, cependant, il fonctionne en lecture-seulement.

Retour au haut de la page

4.2 Jusqu'à quel point le driver NTFS est-il sécuritaire?

Lorsque utilisé en mode lecture-seulement, le driver original et le nouveau driver sont sécuritaires pour une utilisation générale. Ils n'apportent aucun changement au système de fichiers, donc ils ne peuvent causer aucun dommage.

De plus, le nouveau driver est SMP-safe.

Retour au haut de la page

4.3 Quelle partition devrais-je utiliser?

Sous Linux, les disques sont appelés hda, hdb pour les deux premiers disques sur le premier contrôleur IDE et hdc, hdd pour le troisième et quatrième disque. Les disques SCSI sont appelés sda, sdb, etc, dans l'ordre dans lequel ils sont découverts.

Une manière simple de trouver des volumes NTFS, est d'exécuter la commande suivante :

    fdisk -l
    

Le résultat devrait ressembler à ce qui suit:

    Disk /dev/hda: 64 heads, 63 sectors, 4465 cylinders
    Units = cylinders of 4032 * 512 bytes

       Device Boot    Start       End    Blocks   Id  System
       /dev/hda1             1      2125   4283968+  07  NTFS/HPFS
       /dev/hda2          2126     19851  35735616   0f  Win95 Ext'd (LBA)
       /dev/hda5   *      2126      4209   4201312+  83  Linux
       /dev/hda6          4210      4465    516064+  82  Linux swap
    

Retour au haut de la page

4.4 Quelle est la version de mon driver NTFS?

Si la version de votre kernel est 2.4.* ou de 2.5.0 à 2.5.10, alors vous avez probablement le driver NTFS original. Si vous avez une version de kernel égale ou supérieure à 2.5.11, alors vous avez le nouveau driver NTFS.

Une autre façon plus sûr d'identifier la version de votre kernel est de regarder dans les journaux système à la recherche d'un message identifiant le driver NTFS. Essayez une ou l'autre des commandes suivantes et examinez le résultat (dépendamment de la distribution que vous utilisez, vous devrez peut-être être connecté à l'aide du compte root pour pouvoir lire les journaux système).

    
    dmesg | grep -i ntfs
    grep -i ntfs /var/log/messages
    

Le driver original est la version 1.1.* tandis que le nouveau driver est la version 2.*.

Retour au haut de la page

4.5 Comment monter un volume NTFS?

Avant tout, ce serait une bonne idée de vérifier si votre kernel supporte le système de fichiers NTFS. La commande ci-dessous vous affichera la liste de tous les systèmes de fichiers reconnus par votre distribution Linux. Si vous voyez parmi eux ntfs, alors votre système est OK. Aussi, ce serait une bonne idée de jeter un coup d'oeil à la commande mount dans les man..uels ( man 8 mount ).

    cat /proc/filesystems
    

Ensuite, vous devez créer un répertoire où monter le volume NTFS. Alors, vous pourrez monter le volume.

    mkdir /mnt/windows
    mount /dev/hda1 /mnt/windows -t ntfs -r
    

NB Pour modifier les permissions d'un système de fichiers déjà monté, voyez l'option umask à la Section 4.6. Et si vous aimeriez qu'un volume soit monté automatiquement à chaque démarrage, lisez la Section 4.10.

Quand vous avez terminé, vous pouvez démonter (umount) la partition à l'aide de l'une des deux commandes suivantes:

    umount /mnt/windows
    umount /dev/hda1
    

NB La commande s'écrit bien umount (et non unmount).

Retour au haut de la page

4.6 Options communes de la commande Mount.

Les options qui suivent s'appliquent aux deux drivers NTFS. Nous vous recommandons également de lire les man..uels se rapportant à la commande mount. La syntaxe de la commande mount se lit comme suit:

    mount device répertoire [options]
    

Les options additionnelles de l'option -o peuvent être données individuellement ou comme un seul paramètre séparé par des virgules. Ainsi, les deux commandes suivantes sont équivalentes:

    mount /dev/hda1 /mnt/windows -o X -o Y -o Z
    mount /dev/hda1 /mnt/windows -o X,Y,Z
    
-t ntfs
Informe la commande mount du type de système de fichiers qui sera monté. Cette option n'est pas vraiment nécessaire puisque mount est capable d'identifier la majorité des types de système de fichiers.
-r
Monte le volume en mode lecture-seulement. Par défault, mount essaie toujours de monter un volume en mode lecture-écriture. Aussi, à moins qu'on le force, le driver montera le système de fichiers en lecture-seulement automatiquement.
-o ro
Cette option est équivalente à -r.
-o umask={VALEUR}
Les permissions par défaut données à un volume monté NTFS sont rwx------ (pour des raisons de sécurité). L'option umask controle les permissions sur les répertoires et les fichiers. Pour des exemples et plus d'informations, voir la Section 4.9.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222
    
-o uid={IDENTIFIANT DE L'USAGER}
Par défaut, tous les fichiers sur un volume monté NTFS appartiendront à l'usager root. Si vous ajoutez l'option uid, vous pouvez définir à quel usager appartiendront les fichiers. L'identifiant de l'usager (userid) peut être n'importe quel nom présent dans /etc/passwd ou n'importe quel nombre représentant un identifiant d'usager.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=flatcap
    mount /dev/hda1 /mnt/windows -t ntfs -r -o uid=500
    
-o gid={IDENTIFIANT DE GROUPE}
Par défaut, tous les fichiers sur un volume monté NTFS appartiendront au groupe d'usagers root. Si vous ajoutez l'option gid, vous pouvez définir à quel groupe d'usagers appartiendront les fichiers. L'identifiant de groupe (groupid) peut être n'importe quel nom présent dans /etc/group ou n'importe quel nombre représentant un identifiant de groupe.
    mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=winusers
    mount /dev/hda1 /mnt/windows -t ntfs -r -o gid=520
    

Retour au haut de la page

4.7 Options exclusives au driver Original.

Pour découvrir quelle version du driver NTFS vous utilisez, consultez la Section 4.4. Cette section traite des options exclusives au driver Original. Les options communes aux deux versions du driver NTFS sont décrites à la Section 4.6.

Plusieurs des options suivantes peuvent prendre les valeurs booléennes true (vrai) ou false (faux).
Vous pouvez remplacer la valeur true par yes (oui) ou 1.
Vous pouvez remplacer la valeur false par no (non) ou 0.

-o iocharset={NOM}

NTFS enregistre les noms de fichiers et les noms de répertoires à l'aide du code Unicode qui peut afficher tous les caractères de toutes les langues. Par défaut, le driver NTFS convertit les noms au code ASCII ce qui est acceptable pour certains mais inacceptable pour tous ceux qui utilisent une langue incluant des lettres telles que å ou é.

NLS (Native Language Support) controle la manière dont sont affichés les caractères. Vous pouvez choisir, soit utf8 qui, comme Unicode, peut afficher tous les caractères de toutes les langues, soit votre propre page de code, i.e. iso8859-1 (Europe de l'Ouest), iso8859-2 (Europe Central), gb2312 (Chinois Simplifié), iso8859-8 (Hébreu). Ci-bas, quelques exemples de la commande mount en action:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=utf8
    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=iso8859-2
    mount /dev/hda1 /mnt/windows -t ntfs -r -o iocharset=gb2312
    
utf8=true

Si votre kernel ne supporte pas utf8, alors vous pouvez utiliser cette option pour activer le support utf8 à partir du driver NTFS. D'ailleurs, vous devriez utiliser -o iocharset=utf8 chaque fois que cela est possible.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o utf8=true
    
-o posix={BOOLÉEN}

Windows conserve la casse des noms de fichiers mais ne fais pas de différence lorsque vous les lisez. Donc, vous pouvez créer un fichier appelé MonFichier et ensuite l'ouvrir en tapant mONFIChier.

Par défaut, Linux différencie la casse des noms de fichiers, MonFichier, Monfichier et monfichier sont tous des fichiers différents. Si vous aimeriez que Linux se comporte comme le fait Windows pour un volume NTFS, définissez l'option posix à true. Règler l'option à false, et le driver linux à se comportera comme Linux (valeur par défault).

    mount /dev/hda1 /mnt/windows -t ntfs -r -o posix=true
    
-o show_sys_files={BOOLÉEN}

Si cette option est définie à true (vrai), alors le système de fichiers metadata sera visible. S'il n'est pas visible, il peut quand même être affiché en citant son nom, i.e. ls -l \$MFT.

NB à cause d'une limitation de glibc, $MFT peut ne pas apparaître à l'écran car son inode est zéro.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o show_sys_files=true
    

Retour au haut de la page

4.8 Options exclusives au Nouveau driver.

Pour découvrir quelle version du driver NTFS vous utilisez, consultez la Section 4.4. Cette section traite des options exclusives au Nouveau driver. Les options communes aux deux versions du driver NTFS sont décrites à la Section 4.6.

Plusieurs des options suivantes peuvent prendre les valeurs booléennes true (vrai) ou false (faux).
Vous pouvez remplacer la valeur true par yes (oui) ou 1.
Vous pouvez remplacer la valeur false par no (non) ou 0.

-o nls={NOM}

NTFS enregistre les noms de fichiers et les noms de répertoires à l'aide du code Unicode qui peut afficher tous les caractères de toutes les langues. Par défaut, le driver NTFS convertit les noms au code ASCII ce qui est acceptable pour certains mais inacceptable pour tous ceux qui utilisent une langue incluant des lettres telles que å ou é.

NLS (Native Language Support) controle la manière dont sont affichés les caractères. Vous pouvez choisir, soit utf8 qui, comme Unicode, peut afficher tous les caractères de toutes les langues, soit votre propre page de code, i.e. iso8859-1 (Europe de l'Ouest), iso8859-2 (Europe Central), gb2312 (Chinois Simplifié), iso8859-8 (Hébreu). Ci-bas, quelques exemples de la commande mount en action:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=utf8
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=iso8859-2
    mount /dev/hda1 /mnt/windows -t ntfs -r -o nls=gb2312
    
-o fmask={VALEUR}
-o dmask={VALEUR}

Le paramètre umask permet de modifier les permissions autant des fichiers que des répertoires (voir la Section 4.6 pour plus de détails). Le paramètre fmask, lui, ne s'applique qu'aux permissions des fichiers et dmask fait de même, mais uniquement pour les répertoires. L'effet de ses deux options peut être combiné sur une même ligne en les séparant par une virgule. Voici quelques exemples:

    mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0222
    mount /dev/hda1 /mnt/windows -t ntfs -r -o dmask=0222
    mount /dev/hda1 /mnt/windows -t ntfs -r -o fmask=0077,dmask=0222
    
-o case_sensitive={BOOLÉEN}

Windows conserve la casse des noms de fichiers mais ne fait pas de différence lorsque vous les lisez. Donc, vous pouvez créer un fichier appelé MonFichier et ensuite l'ouvrir en tapant mONFIChier.

Par défaut, Linux différencie la casse des noms de fichiers, MonFichier, Monfichier et monfichier sont tous des fichiers différents. Si vous aimeriez que Linux se comporte comme le fait Windows pour un volume NTFS, définissez l'option case_sensitive à true. Règler l'option à false, et le driver linux à se comportera comme Linux (valeur par défault).

    mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=true
    mount /dev/hda1 /mnt/windows -t ntfs -r -o case_sensitive=false
    
-o sloppy={BOOLÉEN}

Par défaut, le driver refusera de démarrer si une des options est tapée incorrectement. En ajoutant le paramètre sloppy, le driver ignorera les mauvais paramètres et démarrera quand même.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=true
    mount /dev/hda1 /mnt/windows -t ntfs -r -o sloppy=false
    
-o errors={VALEUR}

Cette option contrôle la manière dont le driver se comporte lorsqu'il rencontre des problèmes. Le comportement par défaut est d'essayer et de continuer (continue). Les erreurs causés par de la corruption seront notés et contournés. L'alternative est de forcer le driver à essayer et récupérer (recover) l'erreur. Actuellement, la seule récupération possible permise par le driver est le remplacement du secteur de d'amorçage (boot sector) par la copie de sécurité de celui-ci.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=continue
    mount /dev/hda1 /mnt/windows -t ntfs -r -o errors=recover
    

Retour au haut de la page

4.9 Comment changer les permissions sur un volume NTFS monté?

Il y a trois options permettant de contrôler les permissions et les droits sur les fichiers et les répertoires. Ce sont: umask, uid et gid. Ils sont décrits avec plus de détail dans la section Options communes de la commande Mount.

Ci-dessous, vous trouverez des exemples de chaque option et la manière dont elles influencent les fichiers. Nous utiliserons chaque fois la même commande mount mais ne vous montreront que la syntaxe de l'option.

    mount /dev/hda1 /mnt/windows -t ntfs -r
    

umask permet de filtrer les permissions, donc il fonctionne de la manière contraire à chmod. Les permissons totales sont équivalentes à 777 (rwxrwxrwx). Un umask de 0222 (-w--w--w-) produit 555 (r-xr-xr-x).

Pour des raisons de sécurité, la valeur par défaut de umask est définie à 0077.

    mount ... -o umask=0277

    -r-x------ 1 root    root    28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o umask=0222

    -r-xr-xr-x 1 root    root    28096 Aug 24 1996 chkdsk.exe
    

Jusqu'ici, les fichiers appartiennent toujours au propriétaire et au groupe root. Maintenant, nous allons essayer les options uid et gid.

    mount ... -o uid=flatcap

    -r-x------ 1 flatcap root    28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o gid=winuser

    -r-x------ 1 root    winuser 28096 Aug 24 1996 chkdsk.exe
    
    mount ... -o uid=flatcap,gid=winuser

    -r-x------ 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    

Enfin, nous pouvons combiner les différentes options pour avoir un contrôle plus précis. Ci-dessous, nous allons donner à l'usager flatcap le contrôle total, attribuer le groupe d'usager winuser avec des droits de lecture seul et interdire l'accès à tous les autres usagers.

    mount ... -o umask=0027,uid=flatcap,gid=winuser

    -rwxr-x--- 1 flatcap winuser 28096 Aug 24 1996 chkdsk.exe
    

Retour au haut de la page

4.10 Comment monter des volumes NTFS automatiquement?

Une fois que vous aurez déterminé les options de la commande mount que vous désirez utiliser, vous pouvez configurer Linux pour qu'il monte automatiquement le volume NTFS en ajoutant une ligne au fichier /etc/fstab (filesystem table).

Ci-dessous, vous retrouverez quelques exemples de la commande mount avec ses équivalents pour le fichier /etc/fstab.
NB Ne vous occupez de la signification des 0 0 à la fin de la ligne de commande.

    mount /dev/hda1 /mnt/windows -t ntfs -r

    /dev/hda1 /mnt/windows ntfs ro                                    0 0
    

Ici, nous avons transformé -r dans son équivalent -o ro.

    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222

    /dev/hda1 /mnt/windows ntfs ro,umask=0222                         0 0
    
    mount /dev/hda1 /mnt/windows -t ntfs -r -o umask=0222,uid=flatcap,gid=winuser

    /dev/hda1 /mnt/windows ntfs ro,umask=0222,uid=flatcap,gid=winuser 0 0
    

Retour au haut de la page


5. Démarrage de systèmes d'exploitation à partir de NTFS

5.1 Puis-je démarrer Windows sur un volume NTFS?

Oui, grub et lilo peuvent lancer un Windows installé sur un volume NTFS. Ce qui se produit, c'est que lorsque le boot loader de Linux détecte la présence du boot loader NTFS, il lui transfert le contrôle.

Retour au haut de la page

5.2 Comment utiliser lilo?

Ajoutez les lignes suivantes au fichier /etc/lilo.conf et relancez lilo.

    other = /dev/hda1
        table = /dev/hda
        label = Windows
    

La ligne other = se réfère à la partition contenant Windows et la ligne table =, elle, pointe vers la table de partition du disque.

Retour au haut de la page

5.3 Comment utiliser grub?

Ajoutez les lignes suivantes au fichier /boot/grub/grub.conf

    title Windows
        root (hd0,0)
        makeactive
        chainloader +1
    

Selon la numérotation de grub, /dev/hda est hd0, hdb est hd1, etc. Les partitions sont numérotées à partir de zéro. Ainsi, hda1 est hd0,0, hdc4 est hd2,3.

Retour au haut de la page


6. Distributions de Linux

6.1 Quelles distributions de Linux supportent NTFS de manière native?

Les distributions de Linux connues pour supporter NTFS de manière native sont: Mandrake, Debian, SuSE, Gentoo et Caldera

En fait, la réalité est que tout ce qui ne porte par le nom RedHat, supporte NTFS.

Retour au haut de la page

6.2 Pourquoi est-ce que RedHat ne supporte pas NTFS?

Vraiment, j'aimerais le savoir aussi. Les rumeurs laissent entendre qu'il s'agirait d'une question légale.

Retour au haut de la page

6.3 Pourquoi est-ce que la version Linux de RedHat gèle lorsqu'on accède à un volume NTFS?

Vérifiez la version de votre kernel avec la commande uname -a. Si votre version est 2.4.9 alors il est impératif que vous mettiez à jour votre kernel. Consultez le site de RedHat pour plus de détails.

Si vous préférez, vous pouvez également compiler votre propre kernel. Voyez Comment ajouter le support NTFS à Linux? pour plus de détails.

Retour au haut de la page

6.4 Y-a-t-il des distributions qui peuvent être installées sur NTFS?

Par vraiment. Phat Linux peut être installé sur un partition FAT à l'intérieur de Windows et ensuite démarrer à partir des fichiers de Windows. Le nouveau driver a juste assez de support pour réaliser cela sous NTFS.

Retour au haut de la page


7. Le nouveau driver NTFS pour Linux

7.1 Qu'est-ce que le nouveau driver NTFS?

Il s'agit d'une réécriture complète du driver NTFS. Le driver original avait été développé sur une période de plusieurs années. Au début, nous n'en connaissions que très peu sur NTFS ou Linux et le code source était devenu difficile à maintenir.

Avec nos nouvelles connaissances, nous avons créé un nouveau driver qui est beaucoup plus simple, rapide et facile à maintenir.

Retour au haut de la page

7.2 Dois-je utiliser obligatoirement le nouveau driver?

Non. Il y a déjà un driver NTFS intégré à votre kernel Linux courant, donc vous n'etes pas obligé d'utiliser le nouveau driver. Et, bien que vieux, le driver original est assez fiable pour un usage quotidien.

Retour au haut de la page

7.3 Comment utiliser le nouveau driver?

Nous avons publié le nouveau driver sous la forme d'une patch pour le code source original de la kernel Linux.

../downloads.html
http://www.kernel.org/pub/linux/kernel/v2.4/

Retour au haut de la page

7.4 Qu'est ce qu'un patch?

Un patch est une compilation de modifications à apporter à certains fichiers textes. Puisque nous ne modifions que le code se rapportant au NTFS, c'était contre productif de publier tout le code d'un kernel à chaque fois que nous faisions un petit changement. Nous produisons nos patches à partir des publications officielles (releases) du kernel de Linux.

Une fois le code source décompressé, accédez au répertoire où se trouve celui-ci et exécutez la commande suivante (en remplaçant le chemin et le nom de la patch au besoin):

    patch -p1 < chemin/nom-de-la-patch
    

Ceci modifiera le code source. Il ne devrait pas y avoir de rejets ou d'erreurs. Ensuite, compilez votre kernel comme à l'habitude. Il y a des instructions pour cela ailleurs dans cette FAQ.

Retour au haut de la page

7.5 Que faire si je ne comprends toujours pas?

Désolé. Nous essayons d'aider le plus de gens possible, mais nous avons une quantité de temps limitée. Il y a quelques sites qui peuvent vous aider à comprendre les bases du fonctionnement de Linux. également, vérifiez s'il n'y a pas près de chez vous, un groupe d'utilisateurs Linux.

Retour au haut de la page

7.6 Quand est-ce que le nouveau code sera intégré au kernel de Linux?

Il y a deux kernels à considérer. Le nouveau code fait déjà parti du kernel Linux en développement. Il fut intégré à partir de la version 2.5.11.

Le kernel stable de Linux, actuellement 2.4.20, fonctionne toujours avec le vieux driver. Nous sommes satisfaits de l'état du code, mais nous avons encore à convaincre les Dieux du kernel qu'il est bon.

D'ici à ce qu'il soit incorporé, nous produirons encore de nombreuses publications (releases) sous la forme de patches.

Retour au haut de la page

7.7 Pourquoi ne pas écrire un wrapper pour le driver Windows?

à bien y penser, c'est une idée très intéressante, cependant il y de nombreux problèmes à résoudre.

Le plus grand problème technique est de réunir le système de DLL de Windows au système VFS de Linux. Cela peut être fait, mais ça risque de ne pas être joli. Il devrait être intégré au kernel de Linux ce qui signifie que si quelque chose venait qu'à tourner mal, cela pourrait crasher la machine. Sans le code source, nous pourrions ne pas être capable de contourner ce problème.

Le problème majeur suivant est la compatibilité. Quelle version du système de fichiers de Windows devrions-nous utiliser? En sélectionner un par rapport à un autre limiterait son usage et rendre le wrapper compatible avec toutes les versions de Windows résulterait en un cauchemar de programmation.

Et ce n'est pas tout. Les implications légales de distribuer le système de fichiers de Windows pourraient causer de gros problèmes. De plus, la nature propriétaire du driver pourrait faire que les autres développeurs de kernels ne supporteraient pas les problèmes provenant de l'utilisation du wrapper NTFS.

Malgré tout, il y a un brave homme qui l'a fait. Captive de Jan Kratochvil est un wrapper pour le driver Windows. Il est capable d'écrire des fichiers sur NTFS mais contient encore certains bogues et est beaucoup plus lent que le driver NTFS de Linux. Captive est développé sur ReactOS et utilise le driver LUFS. Il est problable que si un montant égal de temps avait été mis sur le développement du driver NTFS Linux que sur celui de Captive, nous aurions déjà une driver fiable, entièrement open-source et supportant l'écriture.

Retour au haut de la page