cp no puede copiar con errores "cp: error al leer 'archivo': error de entrada / salida" y "cp: error al extender 'archivo': error de entrada / salida

10

Soy usuario de Oracle Virtualbox en Ubuntu. Y solía copiar archivos vdi como una especie de copia de seguridad. Anteriormente hice esto (copiando el archivo vdi y luego volviéndolo a copiar) muchas veces sin ningún problema.

Pero hoy experimenté este error

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

Busqué en Google esto un poco, pero por los consejos sobre problemas similares no entendí nada desafortunadamente. ¿Alguien podría sugerir cómo resolver esto, por favor?

La salida de la dmesges, (y no entiendo nada de ella)

[ 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

Cualquier ayuda es muy apreciada, gracias de antemano

user907860
fuente
¿Quizás el disco donde está el archivo vdi si está lleno? Pruebadf -h
Volker Siegel
Oh, espera, ¿estás haciendo todo esto dentro de virtualbox o afuera?
Volker Siegel
@VolkerSiegel Hago esto afuera, en mi sistema host. La partición, donde se almacena la copia y donde trato de hacer una copia tiene 280 GB disponibles, por lo que es más que suficiente, ya que dije que ya hice esta operación muchas veces. Supongo que esto puede ser un error del HDD
user907860
¿Cuál es el sistema de archivos en esa partición de / dev / sda? ( mount | grep /dev/sda)
Volker Siegel
@VolkerSiegel la salida es/dev/sda5 on /home type ext4 (rw)
user907860

Respuestas:

7

Si esto no es un "disco" dentro de una caja virtual, sino el disco físico real donde se almacenan las imágenes de VM, eso se ve bastante mal.

Hubo errores de lectura, en / dev / sda.
Hay un manejo automático al marcar un bloque de disco como bloque defectuoso para siempre, y usar uno diferente en su lugar.
Para que esto funcione, el disco duro necesita leer los datos una vez más , tal vez probando un par de cientos de lecturas.
Pero el disco renunció a esto:

"Agregar. Sentido: error de lectura no recuperado - error de reasignación automática"

Hay errores realmente graves en el disco: todavía no está claro si están en una sola ubicación o si se propagan, y si aumentan con el tiempo.

El disco duro puede fallar muy pronto,
como "justo ahora" .
O la semana que viene, o no.

Si funciona bien en una e2fsckprueba, aún no puede usarlo para nada importante.

Tan pronto como e2fsckconfirme que hay errores medios, lo mejor es simplemente reemplazarlo.

De lo contrario, realice copias de seguridad lo antes posible,
inicie un CD en vivo más o menos (o encuentre una forma de desmontar / no montar/home )
y compruebe si hay bloques defectuosos, como

sudo e2fsck -c -v /dev/sdXN

Tenga en cuenta que en un disco duro mecánico más grande , la comprobación de bloques defectuosos puede llevar mucho tiempo , entre horas y tal vez uno o dos días. Esto se debe en parte a que el programa necesita verificar cada bloque de disco por separado y también resolver los problemas por separado. Pero también, si el disco está dando errores al leer, hay muchos reintentos en múltiples niveles antes de e2fscksaber que hay un problema. Para cada bloque de disco.

Puede ser lo correcto simplemente ejecutar e2fscken modo de reparación automática y dejar la computadora sola por un tiempo:

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

Consulte ubuntuforums: Congelación aleatoria y "Error de lectura no recuperada" en / var / log / messages para más detalles.

Volker Siegel
fuente
No entendí a qué te referías con "el disco físico real". Este no es un disco real, este es un archivo que es una unidad virtual
Virtualbox
Ok, algunas preguntas para confirmar, puedo estar equivocado: el archivo win_7.vdies una imagen vm, ¿verdad? Y está fuera de cualquier vms, ¿verdad? Quiero decir que el archivo win_7.vdiestá en un disco real, ¿verdad? La dmesgsalida es desde fuera de la vm, ¿verdad? En este caso, los errores en el dmesgregistro están en un disco duro real / dev / sda.
Volker Siegel
sí, "correcto" a todas sus preguntas
user907860
Bueno, pero malo para el disco ... ¿puedes reemplazarlo? Puede fallar muy pronto, como "justo ahora". O la semana que viene, o no. Si funciona bien en una e2fsckprueba, aún no puede usarlo para nada importante.
Volker Siegel
ok, gracias, ahora estoy en el trabajo, así que
revisaré
6

Para mí, recibí este error al intentar copiar imágenes de disco que totalizaban algo así como 128 GB. cpestaba tratando de cargar todo en la memoria para reescribirlo y eso obviamente no funcionará, por lo que debe hacerse en trozos. La mejor manera que he encontrado para fragmentar el archivo es forzarlo a través de ssh.

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

Tienes que usar user@localhost; omitirlo volverá a tener un cpcomportamiento similar.

jwallace
fuente
2

Los sectores de su disco duro se corrompieron. DRDY ERR: error de comprobación de dispositivo listo. UNC - Incorregible.

Debido a varias razones, como el apagado abrupto durante la escritura extensa, la temperatura alta, las operaciones de lectura y escritura realizadas y la calidad del disco duro juegan un papel importante en este caso.

Una vez que un sector se corrompió y si el núcleo intenta acceder a esos sectores, obtendrá este error.

Puede usar seatools para recuperarse temporalmente de este error. Pero no será para solucionar este problema para siempre, puede volver a ocurrir algunas veces más tarde.

Si tiene suerte, no volverá a ocurrir durante varios días.

Mejor copia de seguridad de los datos en un nuevo disco duro y reemplazar el disco duro.

usuario314563
fuente