cp ne parvient pas à copier avec des erreurs «cp: erreur de lecture de« fichier »: erreur d'entrée / sortie» et «cp: n'a pas réussi à étendre« fichier »: erreur d'entrée / sortie


10

Je suis un utilisateur d'Oracle Virtualbox sur Ubuntu. Et j'avais l'habitude de copier des fichiers vdi comme une sorte de sauvegarde. Auparavant, je faisais cela (copier le fichier vdi puis le recopier) plusieurs fois sans aucun problème.

Mais aujourd'hui, j'ai rencontré cette erreur

VirtualBox VMs/win_7$ cp ../../Bkps/win_7.vdi .
cp: error reading ‘../../Bkps/win_7.vdi’: Input/output error
cp: failed to extend ‘./win_7.vdi’: Input/output error

J'ai googlé un peu pour cela, mais d'après les conseils sur des problèmes similaires, je n'ai malheureusement rien compris. Quelqu'un pourrait-il suggérer comment résoudre ce problème, s'il vous plaît?

La sortie de l' dmesgest, (et je n'y comprends rien)

[ 2347.982876] ata1.00: exception Emask 0x0 SAct 0x1900406f SErr 0x0 action 0x0
[ 2347.982887] ata1.00: irq_stat 0x40000008
[ 2347.982895] ata1.00: failed command: READ FPDMA QUEUED
[ 2347.982908] ata1.00: cmd 60/08:70:d0:da:f4/00:00:2e:00:00/40 tag 14 ncq 4096 in
[ 2347.982908]          res 41/40:08:d0:da:f4/00:00:2e:00:00/00 Emask 0x409 (media error) <F>
[ 2347.982915] ata1.00: status: { DRDY ERR }
[ 2347.982919] ata1.00: error: { UNC }
[ 2348.395657] ata1.00: configured for UDMA/133
[ 2348.395727] sd 0:0:0:0: [sda] Unhandled sense code
[ 2348.395733] sd 0:0:0:0: [sda]  
[ 2348.395737] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2348.395741] sd 0:0:0:0: [sda]  
[ 2348.395745] Sense Key : Medium Error [current] [descriptor]
[ 2348.395752] Descriptor sense data with sense descriptors (in hex):
[ 2348.395764]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 2348.395770]         2e f4 da d0 
[ 2348.395772] sd 0:0:0:0: [sda]  
[ 2348.395774] Add. Sense: Unrecovered read error - auto reallocate failed
[ 2348.395775] sd 0:0:0:0: [sda] CDB: 
[ 2348.395776] Read(10): 28 00 2e f4 da d0 00 00 08 00
[ 2348.395781] end_request: I/O error, dev sda, sector 787798736
[ 2348.395792] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 2348.395795] ata1: EH complete
[ 2348.395797] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 2351.264987] ata1.00: exception Emask 0x0 SAct 0x7f80400 SErr 0x0 action 0x0
[ 2351.264998] ata1.00: irq_stat 0x40000008
[ 2351.265005] ata1.00: failed command: READ FPDMA QUEUED
[ 2351.265019] ata1.00: cmd 60/08:50:d0:da:f4/00:00:2e:00:00/40 tag 10 ncq 4096 in
[ 2351.265019]          res 41/40:08:d0:da:f4/00:00:2e:00:00/00 Emask 0x409 (media error) <F>
[ 2351.265025] ata1.00: status: { DRDY ERR }
[ 2351.265029] ata1.00: error: { UNC }
[ 2351.403371] ata1.00: configured for UDMA/133
[ 2351.403425] sd 0:0:0:0: [sda] Unhandled sense code
[ 2351.403426] sd 0:0:0:0: [sda]  
[ 2351.403428] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 2351.403429] sd 0:0:0:0: [sda]  
[ 2351.403430] Sense Key : Medium Error [current] [descriptor]
[ 2351.403433] Descriptor sense data with sense descriptors (in hex):
[ 2351.403434]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 2351.403439]         2e f4 da d0 
[ 2351.403442] sd 0:0:0:0: [sda]  
[ 2351.403444] Add. Sense: Unrecovered read error - auto reallocate failed
[ 2351.403445] sd 0:0:0:0: [sda] CDB: 
[ 2351.403446] Read(10): 28 00 2e f4 da d0 00 00 08 00
[ 2351.403451] end_request: I/O error, dev sda, sector 787798736
[ 2351.403463] ecryptfs_decrypt_page: Error attempting to read lower page; rc = [-5]
[ 2351.403466] ecryptfs_readpage: Error decrypting page; rc = [-5]
[ 2351.403470] ata1: EH complete

Toute aide est grandement appréciée, merci d'avance


Peut-être que le disque sur lequel se trouve le fichier vdi est plein? Essayezdf -h
Volker Siegel

Oh, attendez - faites-vous tout cela à l'intérieur de la boîte virtuelle ou à l'extérieur?
Volker Siegel

@VolkerSiegel Je le fais à l'extérieur, sur mon système hôte. La partition, où la copie est stockée et où j'essaie de faire une copie, dispose de 280 Go, c'est donc plus que suffisant, car j'ai dit que j'avais déjà fait cette opération plusieurs fois. Je suppose que cela peut être une erreur du disque dur
user907860

Quel est le système de fichiers sur cette partition de / dev / sda? ( mount | grep /dev/sda)
Volker Siegel

@VolkerSiegel la sortie est/dev/sda5 on /home type ext4 (rw)
user907860

Réponses:


7

Si ce n'est pas un "disque" à l'intérieur d'une boîte virtuelle, mais le vrai disque physique sur lequel les images vm sont stockées, cela semble assez mauvais.

Il y a eu des erreurs de lecture sur / dev / sda.
Il y a une gestion automatique en marquant un bloc de disque comme mauvais bloc pour toujours et en utilisant un autre à la place.
Pour que cela fonctionne, le disque dur doit lire les données une fois de plus , peut-être en essayant quelques centaines de lectures.
Mais le disque a abandonné :

"Add. Sense: erreur de lecture non récupérée - échec de la réallocation automatique"

Il y a de très mauvaises erreurs sur le disque - il n'est pas encore clair si elles se trouvent dans un seul emplacement ou se propagent et si elles augmentent avec le temps.

Le disque dur peut échouer très bientôt,
comme "juste maintenant" .
Ou la semaine prochaine, ou pas du tout.

Si cela fonctionne bien lors d'un e2fscktest, vous ne pouvez toujours pas l'utiliser pour quelque chose d'important.

Dès qu'il e2fsckconfirme qu'il y a des erreurs moyennes, le mieux est de simplement le remplacer.

Sinon, effectuez des sauvegardes dès que possible,
démarrez un CD en direct (ou trouvez un moyen de démonter / ne pas monter/home )
et vérifiez les blocs défectueux, comme par

sudo e2fsck -c -v /dev/sdXN

Tenez compte du fait que sur un disque dur mécanique plus grand , la vérification des blocs défectueux peut prendre beaucoup de temps , entre des heures et peut-être un jour ou deux. Cela est dû en partie au fait que le programme doit vérifier chaque bloc de disque séparément et prendre soin des problèmes séparément également. Mais aussi, si le disque donne des erreurs lors de la lecture, il y a beaucoup de tentatives sur plusieurs niveaux avant e2fsckmême de savoir qu'il y a un problème. Pour chaque bloc de disque.

Il peut être judicieux de simplement exécuter e2fscken mode de réparation automatique et de laisser l'ordinateur tranquille pendant un certain temps:

sudo e2fsck -p -c -v /dev/sdXN

Voir ubuntuforums: Gel aléatoire et "Erreur de lecture non récupérée" dans / var / log / messages pour plus de détails.


Je n'ai pas compris ce que tu voulais dire par "le vrai disque physique". Ce n'est pas un vrai disque, c'est un fichier qui est un lecteur virtuel Virtualbox
user907860

Ok, quelques questions pour confirmer, je peux me tromper: le fichier win_7.vdiest une image vm, non? Et c'est en dehors de toute vms, non? Je veux dire que le fichier win_7.vdiest sur un vrai disque - non? La dmesgsortie est de l'extérieur du vm, non? Dans ce cas, les erreurs dans le dmesgjournal se trouvent sur un vrai disque dur / dev / sda.
Volker Siegel

oui, "droit" à toutes vos questions
user907860

Bon - mais mauvais pour le disque ... pouvez-vous simplement le remplacer? Il peut échouer très bientôt, comme "tout à l'heure". Ou la semaine prochaine, ou pas du tout. Si cela fonctionne bien lors d'un e2fscktest, vous ne pouvez toujours pas l'utiliser pour quelque chose d'important.
Volker Siegel

ok, merci, maintenant je suis au travail donc je vais vérifier votre réponse dès que possible
user907860

6

Pour moi, j'ai eu cette erreur en essayant de copier des images de disque totalisant quelque chose comme 128 Go. cpessayait de charger le tout en mémoire afin de le réécrire et cela ne fonctionnera évidemment pas, donc cela doit être fait en morceaux. La meilleure façon que j'ai trouvée pour couper le fichier est de le forcer à travers ssh.

scp user@localhost:/path/to/source /path/to/dest

Vous devez utiliser user@localhost; l'omettre reviendra à un cpcomportement similaire.


2

Les secteurs de votre disque dur ont été corrompus. DRDY ERR - Erreur de vérification du périphérique prêt. UNC - Impossible à corriger.

Pour diverses raisons, telles que l'arrêt brutal lors d'une écriture intensive, les opérations d'écriture à haute température et de lecture effectuées et la qualité du disque dur jouent un rôle majeur dans ce cas.

Une fois qu'un secteur a été corrompu et si le noyau essaie d'accéder à ces secteurs, vous obtiendrez cette erreur.

Vous pouvez utiliser Seatools, pour récupérer temporairement de cette erreur. Mais ce ne sera pas de résoudre ce problème pour toujours, cela peut se reproduire quelques fois plus tard.

Si vous avez de la chance, cela ne se reproduira pas avant plusieurs jours.

Mieux sauvegarder les données sur un nouveau disque dur et remplacer le disque dur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.