Monter automatiquement une partition NTFS

Dans mon ordinateur portable se trouvent 2 disques durs physiques. L’un d’entre eux me sert à mettre mes systèmes d’exploitation ainsi que tous les logiciels que j’ai à installer (Sous Windows avec les jeux ça va très vite) et l’autre me sert à stocker une grosse majorité de mes données. Sur ce principe, je peux facilement partager des documents entre mon Windows et mes Linux.

Petit inconvénient, autant sous Windows mon deuxième disque dur est monté automatiquement, autant sous mes Linux, il me faut le remonter à chaque démarrage. Ceci devient problématique par exemple lorsque mes IDE ont retenu l’emplacement d’un projet et que le disque qui le contient n’est pas monté. De plus, afin que Windows puisse lire les informations du disque de données, celui ci est formaté en NTFS.

J’ai donc décidé de monter ma partition automatiquement au démarrage de mes Linux.

Il faut savoir que sous Linux, les instructions de montage des disques durs/partitions se trouvent dans le fichier /etc/fstab. On peut voir avec un

cat /etc/fstab

que ce fichier contient déjà les informations de montage de la partition principale ainsi que du swap (quand on a mis un). Les colonnes sont détaillées en commentaire et il suffit de suivre ce format pour automatiser n’importe quel montage. Pour plus de détails sur les options disponibles ainsi que pour la signification des 3 dernières colonnes, il suffit de faire un :

man fstab

La partition que je souhaite monter est en NTFS. J’utilise donc le pilote ntfs-3g pour utiliser mon disque. S’il n’est pas disponible, il suffit de l’installer avec

apt-get install ntfs-3g

J’utilise aussi l’UUID de ma partition pour ne pas avoir de problème si jamais des disques changent, sont rajoutés ou supprimés (dans mon cas peu de chances mais on n’est jamais trop prudent). Pour trouver l’UUID d’un disque je vous renvoie à cet article.

Un fois l’UUID obtenu, il me faut un dossier dans lequel je monterai ma partition et qui m’assure un chemin identique à chaque montage. Pour ça, je crée un dossier AKIRA (le nom que je donne à ma partition) dans /media/ à l’aide de la commande

mkdir /media/AKIRA

Je n’ai maintenant plus qu’à rajouter la ligne suivante à mon fstab :

UUID=<MON UUID>    /media/AKIRA    ntfs-3g    defaults    0    2

Après un redémarrage, ma partition est automatiquement montée dans le dossier /media/AKIRA, en utilisant le pilote ntfs-3g, avec les droits par défaut (rw, suid, dev, exec, auto, nouser, and async), sans être dumpée (0), et vérifiée après la partition principale (2).

Récupérer l’UUID d’un matériel

L’UUID est un identifiant unique qui permet de différencier deux matériels l’un de l’autre. Ceci est très utile lorsque, par exemple, on souhaite monter un disque ou une partition au démarrage de l’ordinateur. Au lieu de préciser le nom du périphérique sous la forme /dev/sdx ou /dev/hdx, qui est susceptible de changer, on précise son UUID et il deviendra impossible de se tromper (au sens statistique du terme)

J’avais déjà parlé de blkid qui s’utilise en root et qui permet de récupérer les UUID des partitions présentes sur l’ordinateur. Il existe aussi sous Linux la commande uuidgen qui permet de faire plus ou moins la même chose mais avec tout type de matériel. De plus, blkid est lié au paquet e2fsprogs et donc potentiellement pas présent sur toutes les distributions.

Plus qu’à modifier son fstab en fonction de cet UUID pour toujours monter le bon disque ou la bonne partition.

Récupérer l’UUID d’un disque dur

Afin de réparer un grub abîmé, j’ai eu besoin de récupérer l’UUID (Universally Unique Identifier) d’un disque dur afin de rajouter une entrée de boot. La commande qui permet de repérer cette information est :

blkid

Les informations relative à chaque partitions sont alors affichées. Il est nécessaire d’être en root pour que les informations puissent être récupérée.