Réparer un disque dur qui ne se monte plus sous GNU/Linux

Parfois dans le train il arrive que l’on veuille brancher son disque dur externe rempli de films (acquis légalement bien sur !!:P ) pour s’occuper pendant les 4h de voyages sur la ligne Paris-Brest (la ligne Paris-Nice marche aussi très bien pour ce tuto). Donc on branche le disque dur, on attend, on attend, on attend toujours et il ne se passe rien, le disque dur ne se monte pas. Et à ce moment précis on se souvient généralement que hier soir en remplissant le disque dur externe, on l’avait un peu débrancher sans le démonter. On lance un ‘lsusb’, le disque dur est bien reconnu comme branché (c’est déjà ça !), on démarre l’excellent logiciel Gparted qui reconnaît le disque dur mais voit une partition de type inconnu ( généralement c’est mauvais signe, ont se dit que le système de fichiers est fichu) . Mais avant d’arriver à cette conclusion un peu hâtive et de le formater, démarrer un terminal en ayant préalablement installé le paquet ‘util-linux’ (via la commande sudo apt-get install util-linux).
Dans le terminal se mettre en administrateur, ça sera plus facile.

sudo -s‘ sous Ubuntu sinon ‘su‘ sous une vraie distribution GNU/linux 😉

Commençons par créer un dossier vide dans le dossier ‘/media’ dans lequel pourra se monter le disque dur

mkdir /media/nomdudossier

ensuite lancer la commande mount /dev/sdb1 /media/nomdudossier

ou sdb1 peut varier en fonction du disque et de la partition.

Si la commande renvoi un message d’erreur indiquant bien un problème de système de fichiers, lancer la commande

mount -t vfat /dev/sdb1 /media/nomdudossier

et la miracle, le montage se fait.

‘-t’ précise que l’on indique le système de fichier de la partition à monter et vfat est le système de fichiers correspondant au FAT32. Pour avoir la liste complète des systèmes de fichiers disponible, un petit man mount s’imposera.

ont peut donc maintenant lancer

findfs /dev/sdb1

Là apparaît une liste des systèmes de fichiers reconnu pour la partition du disque dur. Si deux systèmes de fichiers sont trouvés, le problème vient de là (oui, 1 partition = 1 système de fichier).

Par exemple :

Swap 0xff6

Vfat 0xf52

Mon disque dur devant être en Vfat (FAT32), je dois maintenant supprimer l’octet dans le disque dur indiquant qu’il peut aussi être en swap grâce à la commande :

wipefs -o 0xff6 /dev/sdb1

-o indiquant quels octets du disque doivent être supprimé.

Maintenant, il suffit de démonter le disque dur proprement cette fois

umount /dev/sdb1

et supprimer le répertoire de montage créer au début

rmdir /media/nomdudossier

Il ne reste plus qu’à fermer le terminal, débrancher et rebrancher le disque dur externe et regarder son film en attendant l’arrivée du train.