Cp : erreur de lecture

Bonjour,

Lorsque j’ai voulu copier un fichier avi, j’ai eu ce message d’erreur

cp: erreur de lecture ‘/repertoire/fichier.avi’: Erreur d’entrée/sortie

J’ai lancé un fsck.ext4 qui n’a rien trouvé. J’ai donc lancé un fsck.ext4 -v qui n’a pas fait grand chose.
J’ai toujours la même erreur.

Je suppose qu’il y a un soucis sur le fichier. Mais comme je peux encore le lire en entier et que visuellement, je n’ai pas vu de défaut, je voudrais le backuper.
Comment puis-je faire avec cette erreur de lecture ?

Merci de votre aide

essaye avec “dd”

Bonsoir hobby1

C’est dommage que la ligne de commande de copie et son message d’erreur ne soient pas entièrement copiés/collés, on aurait peut-être pu savoir si c’est l’erreur d’entrée/sortie s’était produite en lecture de la source ou en écriture de la cible.

Dommage aussi qu’on ne puisse savoir si les lignes de commande fsck.ext4 concernaient le système de fichiers source ou cible.

Peut-être que les deux systèmes de fichiers n’en sont qu’un…sinon, vérifie l’état des deux, l’espace disponible, etc. et si le systèmes de fichiers source ou/et cible sont sur des supports reliés par des câble USB ou autre, vérifie les câbles et leur connexion à la machine, l’alimentation des supports (disque, clef USB, ou autre)

Essaye de copier un autre fichier d’à peu près la même taille, pour voir ce qui se passe…

La commande de copie que j’ai lancé :

cp -pR /disque2/videos/* /disque3/videos/

Et le message d’erreur est

cp: erreur de lecture ‘/disque2/…/fichier.avi’: Erreur d’entrée/sortie

Comme il s’agit du système de fichiers source, j’ai lancé fsck.ext4 sur la source

fsck.ext4 /dev/sdd1
e2fsck 1.43.4 (31-Jan-2017)

fsck.ext4 -fv /dev/sdd1
e2fsck 1.43.4 (31-Jan-2017)
Passe 1 : vérification des i-noeuds, des blocs et des tailles
Passe 2 : vérification de la structure des répertoires
Passe 3 : vérification de la connectivité des répertoires
Passe 4 : vérification des compteurs de référence
Passe 5 : vérification de l’information du sommaire de groupe

   13041 i-noeuds utilisés (0.01%, sur 244195328)
     451 fichiers non contigus (3.5%)
       2 répertoires non contigus (0.0%)
         nombre d'i-noeuds avec des blocs ind/dind/tind : 0/0/0
         Histogramme des profondeurs d'extents : 10793/2240

556409319 blocs utilisés (56.97%, sur 976754176)
0 bloc défectueux
123 fichiers de grande taille

   11714 fichiers normaux
    1318 répertoires
       0 fichier de périphérique en mode caractère
       0 fichier de périphérique en mode bloc
       0 fifo
       0 lien
       0 lien symbolique (0 lien symbolique rapide)
       0 socket

   13032 fichiers

Je n’ai pas essayé dd car n’y ai pas pensé
Ca donnerait une commande comme celle ci ?

dd if=/disque2/videos/chemin/fichier.avi of=/disque3/videos/chemin/fichier.avi

Le disque /dev/sdd1 est très peu utilisé. La commande que vous vez lancée fsck.ext4 vérifie la cohérence du système de fichiers : c’est-à-dire si chaque fichier est bien dans son répertoire ou des choses comme ça. C’est une vérification des métadonnées. Avec aussi peu de fichiers et répertoires, il est logique de n’avoir aucune erreur.

Par contre, le message d’erreur concernant la lecture du fichier fichier.avi (si tel est son nom), est dû au fait qu’en lisant le contenu du fichier il y a un problème. Si le disque /dev/sdd est bien un disque mécanique je vous conseille de lancer une vérification via la commande smartctl du paquet smartmontools.

Pourrait-on avoir les retours de

lsblk
sudo  smartctl -a /dev/sdd

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.

« L’arbre tombe toujours du côté où il penche. »
Proverbe français

Ce disque sert de sauvegarde pour des données perso, comme des vidéos des vacances. Il est donc assez peu utilisé et c’est pour ça que j’aimerai bien récupérer ce fichier (en fait il y en a 4 avec la même erreur)

L’erreur rencontrée a été lors de la copie d’un DD physique vers un autre DD physique (des 3.5" branchés en SATA)
Voici le reretour de smartctl -a /dev/sdd
smartctl.txt (4,5 Ko)

Je n’ai toujours pas de solution à mon problème
J’ai essayé dd mais ca génère la même erreur de lecture

Vu dans les attributs SMART du disque :

197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       5
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       4

Cela signifie que 5 secteurs du disque ont fait l’objet d’une tentative de lecture qui a échoué et 4 ont été détectés comme illisibles lors des tests hors ligne. Cela peut expliquer l’erreur que tu as si l’un de ces secteurs appartient au fichier que tu essaies de copier. Il doit y avoir des messages d’erreur dans les logs du noyaux affichés par dmesg après une tentative de copie.

Si la lecture vidéo du fichier se passe sans erreur visible, il se peut que par chance ce secteur ne contient aucune donnée importante ou bien ne provoque qu’un “glitch” imperceptible. Dans ce cas, tu peux essayer de le copier avec ddrescue ou avec dd conv=sync,noerror pour remplacer les données illisibles par des zéros dans le fichier de destination.

J’ai pu copier le fichier grâce à l’option conv=sync,noerror
Merci et désolé de cette réponse tardive