Erreur d’entrée/sortie sur Linux

Il peut arriver qu’en branchant un disque dur externe ou un clé USB, Linux retire les droits d’écriture sur le disque à cause d’une erreur entrée/sortie. Pas de panique, si ce n’est pas un disque dur défectueux, vous pouvez régler le problème grâce à dosfstools ou ntfs-3g.

D’où peut venir une erreur d’entrée / sortie ?

Une erreur d’entrée/sortie peut avoir de multiples origines. Quand ça m’arrive, il s’agit souvent d’un transfert interrompu à cause d’une coupure de courant ou d’un câble défectueux. Ce problème peut également survenir lorsque le disque dur a été retiré « sauvagement » d’un PC : même si le transfert semble fini, votre système d’exploitation n’a peut-être pas fini d’écrire sur le disque dur.

Ma source

Ça m’est encore arrivé récemment et, à chaque fois, j’oublie l’outil qu’il faut utiliser pour régler le problème. Histoire de garder une trace de la commande quelque part, j’ai décidé de faire un article à ce sujet. Si vous lisez l’anglais, vous pouvez aussi consulter la réponse sur Stack Exchange qui m’a permis de récupérer ces informations. Ce n’est pas le seul endroit, c’est simplement le premier que j’ai retrouvé pour régler mon problème.

Comment régler l’erreur d’entrée/sortie sur Linux ?

Sur un disque FAT32

Pour Windows ou Mac, je ne sais pas comment ça fonctionne. Sur Linux, si votre disque est formaté en FAT32 (peut-être FAT16 aussi), il faut installer dosfstools :

// Pour Manjaro
sudo pacman -S dosfstools

Ensuite, il faut que vous identifiez le nom du périphérique (votre disque dur externe ou clé USB). Vous pouvez utiliser sudo blkid pour récupérer ce nom.

Enfin, vérifiez que votre disque dur n’est pas monté sinon, démontez-le. Puis, il ne vous reste plus qu’à exécuter dosfsck :

// Pensez à modifier XX avec le nom de votre périphérique.
sudo dosfsck -w -r -l -a -v -t /dev/sdXX

Toutes les options ne sont pas obligatoires. À vous de juger ce que souhaitez faire :

  • -w : pour écrire les changements sur le disque immédiatement,
  • -r : pour réparer le disque de manière interactive,
  • -l : pour lister les chemins,
  • -a : pour automatiquement corriger les problèmes,
  • -v : pour rendre la commande verbeuse (obtenir plus d’informations),
  • -t : pour tester les clusters défectueux.

Si votre disque dur contient beaucoup de données, ça peut être assez long à traiter. Si vous utilisez l’option -t, le temps d’attente sera encore (beaucoup) plus long.

Sur un disque NTFS

Ce n’est pas précisé dans la réponse de Stack Exchange, mais pour un disque formaté en NTFS, il faut regarder du côté de ntfs-3g (qui est sans doute installé si vous utilisiez déjà un système NTFS) et ntfsfix. Là encore, il faut que le disque soit branché mais démonté.

// Sur Manjaro :
sudo pacman -S ntfs-3g

// Pensez à modifier XX avec le nom de votre périphérique.
sudo ntfsfix /dev/sdXX

Vous aurez peut-être besoin d’ajouter une ou ces deux options :

  • -d : pour retirer le drapeau « dirty » du disque s’il peut être réparé et monté.
  • -b : pour corriger les secteurs défectueux.

Évidemment, ne lancez pas ces commandes sans savoir ce que vous faîtes. Si vous avez la possibilité de faire une sauvegarde de vos données avant dexécuter ces commandes, c’est mieux.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.