cp non riesce a copiare con errori "cp: errore durante la lettura di" file ": errore di input / output" e "cp: impossibile estendere" file ": errore di input / output


10

Sono un utente di Oracle Virtualbox su Ubuntu. E ho usato per copiare i file VDI come una sorta di backup. In precedenza l'ho fatto (copiando il file vdi e poi copiandolo indietro) molte volte senza alcun problema.

Ma oggi ho riscontrato questo errore

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

Ho cercato su Google per questo un po ', ma dai consigli su problemi simili purtroppo non ho fatto nulla. Qualcuno potrebbe suggerire come risolvere questo, per favore?

L'output da dmesgè, (e non capisco nulla da esso)

[ 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

Qualsiasi aiuto è molto apprezzato, grazie in anticipo


Forse il disco su cui si trova il file vdi se pieno? Provadf -h
Volker Siegel,

Oh, aspetta - stai facendo tutto questo all'interno di virtualbox o all'esterno?
Volker Siegel,

@VolkerSiegel Lo faccio all'esterno, sul mio sistema host. La partizione, in cui è memorizzata la copia e dove provo a fare una copia, ha 280 GB disponibili, quindi è più che sufficiente, come ho già detto che ho fatto questa operazione già molte volte. Suppongo che questo possa essere un errore dell'HDD
user907860

Qual è il filesystem su quella partizione di / dev / sda? ( mount | grep /dev/sda)
Volker Siegel,

@VolkerSiegel l'output è/dev/sda5 on /home type ext4 (rw)
user907860

Risposte:


7

Se questo non è un "disco" all'interno di una virtualbox, ma il vero disco fisico in cui sono archiviate le immagini VM, sembra piuttosto male.

Si sono verificati errori di lettura, su / dev / sda.
Esiste una gestione automatica contrassegnando un blocco disco come blocco errato per sempre e utilizzarne uno diverso.
Perché questo funzioni, il disco rigido deve leggere i dati ancora una volta , magari provando un paio di centinaia di letture.
Ma il disco ha rinunciato a questo:

"Aggiungi. Senso: errore di lettura non recuperato - riallocazione automatica non riuscita"

Ci sono davvero brutti errori sul disco: non è ancora chiaro se si trovano in una sola posizione o se si diffondono e se aumentano con il tempo.

L'hard disk potrebbe non funzionare molto presto,
come "proprio ora" .
O la prossima settimana, o per niente.

Se va bene durante un e2fscktest, non puoi ancora utilizzarlo per qualcosa di importante.

Non appena e2fsckconferma che ci sono errori medi, la cosa migliore è semplicemente sostituirlo.

Altrimenti, esegui i backup il più presto possibile,
avvia un live CD o giù di lì (o trova un modo per smontare / non montare/home )
e verifica la presenza di blocchi danneggiati, come

sudo e2fsck -c -v /dev/sdXN

Tieni presente che su un disco rigido meccanico di dimensioni maggiori , la ricerca di blocchi danneggiati può richiedere molto tempo , tra ore e forse un giorno o due. Ciò è in parte dovuto al fatto che il programma deve controllare ciascun blocco del disco separatamente e occuparsi anche dei problemi separatamente. Ma anche, se il disco sta dando errori durante la lettura, ci sono molti tentativi su più livelli prima e2fsckancora di sapere che c'è un problema. Per ogni blocco del disco.

Potrebbe essere la cosa giusta eseguire e2fsckin modalità di riparazione automatica e lasciare il computer da solo per un po ':

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

Vedi ubuntuforums: Blocco casuale e "Errore di lettura non recuperato" in / var / log / messaggi per i dettagli.


Non ho capito cosa intendevi con "il vero disco fisico". Questo non è un vero disco, questo è un file che è un'unità virtuale Virtualbox
user907860

Ok, alcune domande da confermare, potrei sbagliarmi: il file win_7.vdiè un'immagine vm, giusto? Ed è al di fuori di qualsiasi VMS, giusto? Voglio dire, il file si win_7.vditrova su un disco reale - giusto? L' dmesgoutput proviene dall'esterno del VM, giusto? In questo caso, gli errori nel dmesgregistro si trovano su un vero disco rigido / dev / sda.
Volker Siegel,

sì, "giusto" per tutte le tue domande
user907860

Buono - ma cattivo per il disco ... puoi semplicemente sostituirlo? Potrebbe fallire molto presto, come "proprio ora". O la prossima settimana, o per niente. Se va bene durante un e2fscktest, non puoi ancora utilizzarlo per qualcosa di importante.
Volker Siegel,

ok, grazie, ora sono al lavoro, quindi controllerò la tua risposta oggi, al più presto
user907860

6

Per me, ho riscontrato questo errore durante il tentativo di copiare immagini del disco che ammontavano a qualcosa come 128 GB. cpstava provando a caricare tutto in memoria per riscriverlo e ovviamente non funzionerà, quindi deve essere fatto in blocchi. Il modo migliore che ho trovato per tagliare il file è forzarlo attraverso ssh.

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

Devi usare user@localhost; omettendolo si ripristinerà un cpcomportamento simile.


2

I settori del tuo disco rigido sono stati danneggiati. DRDY ERR - Errore controllo dispositivo pronto. UNC - Non correggibile.

A causa di vari motivi come l'arresto improvviso durante operazioni di scrittura estesa, alta temperatura, lettura eseguita e la qualità del disco rigido gioca un ruolo importante in questo caso.

Una volta che un settore è stato danneggiato e se il kernel tenta di accedere a quei settori, si otterrà questo errore.

È possibile utilizzare Seatools per ripristinare temporaneamente questo errore. Ma non sarà per risolvere questo problema per sempre, potrebbe verificarsi di nuovo alcune volte dopo.

Se sei fortunato, non si ripresenterà per diversi giorni.

Meglio eseguire il backup dei dati su un nuovo disco rigido e sostituire il disco rigido.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.