Le New Technology File System (NTFS) est un système de fichiers propriétaire créé par Microsoft et largement utilisé dans les systèmes d’exploitation Windows de Microsoft.
Par défaut, la plupart des distributions Linux ne sont pas en mesure de monter NTFS, cependant il est possible d’installer un pilote qui nous permet de le faire afin de pouvoir lire et écrire des données sur un disque NTFS.
Dans cet exemple, j’ai joint le fichier VMDK d’une machine virtuelle basée sur Windows à une machine virtuelle CentOS 7 Linux.
Lorsque nous exécutons ‘fdisk -l’, nous pouvons voir que le disque est reconnu (après un redémarrage du système), cependant il n’est pas encore monté pour que nous puissions accéder aux données. Nous pouvons voir le disque primaire du système Linux /dev/sda, tandis que /dev/sdb est notre disque NTFS de 1 Go qui possède la partition NTFS /dev/sdb1.
~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x0004c930 Device Boot Start End Blocks Id System/dev/sda1 * 2048 616447 307200 83 Linux/dev/sda2 616448 4810751 2097152 82 Linux swap / Solaris/dev/sda3 4810752 41943039 18566144 83 LinuxDisk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0xfc757b2a Device Boot Start End Blocks Id System/dev/sdb1 128 2091135 1045504 7 HPFS/NTFS/exFAT
Par défaut, lorsque j’essaie de monter le disque NTFS, nous obtenons l’erreur ci-dessous.
~]# mkdir /windows ~]# mount /dev/sdb1 /windows/mount: unknown filesystem type 'ntfs'
Installation des paquets requis
Pour effectuer le montage, nous devons installer le paquet ntfs-3g, qui est un pilote Linux NTFS userspace. Ce paquet provient d’EPEL si vous utilisez CentOS/RHEL, donc si vous n’avez pas encore configuré votre système pour utiliser le dépôt EPEL, exécutez la commande suivante.
~]# yum install epel-release -y
Maintenant, nous devrions être en mesure d’installer le paquet ntfs-3g à partir du dépôt EPEL.
~]# yum install ntfs-3g -y
Autrement, si vous utilisez Ubuntu/Debian, vous devriez juste pouvoir exécuter ‘apt-get install ntfs-3g’ directement. Dans mon installation Debian 8, il était déjà disponible et j’ai donc pu monter NTFS sans aucun problème.
Monter le disque NTFS
Nous pouvons maintenant effectuer avec succès le montage sans aucune erreur.
~]# mount /dev/sdb1 /windows/ ~]# blkid /dev/sdb1/dev/sdb1: LABEL="NTFS" UUID="CA4A1FD94A1FC0DD" TYPE="ntfs"
Nous pouvons confirmer que le disque NTFS est maintenant vu comme monté par le système d’exploitation.
~]# df -h /windows/Filesystem Size Used Avail Use% Mounted on/dev/sdb1 1021M 11M 1011M 2% /windows
À ce stade, vous devriez pouvoir lire et écrire des données sur le disque NTFS monté.
Montage automatique de NTFS
Nous pouvons créer une entrée dans le fichier /etc/fstab pour que notre disque NTFS se monte automatiquement au démarrage du système. Vous trouverez ci-dessous un exemple de l’entrée que j’ai placée dans mon fichier fstab. Cela montera le disque dans le répertoire /ntfs.
/dev/sdb1 /windows ntfs-3g defaults 0 0
Une fois que cette configuration a été ajoutée, le disque NTFS devrait se monter automatiquement au démarrage du système. Avant d’effectuer un redémarrage, il est recommandé d’exécuter d’abord la commande ‘mount -a’ et de confirmer que le disque se monte sans erreur. Si des erreurs se produisent pendant le démarrage, vous pouvez vous retrouver avec un système qui ne démarre pas correctement, il est donc important de faire des tests avant.
Résumé
Nous avons vu qu’il est possible de monter facilement un disque NTFS dans CentOS 7 Linux une fois que le paquet ntfs-3g a été installé qui nous fournit les pilotes nécessaires.