cp falha ao copiar com erros “cp: erro ao ler 'arquivo': erro de entrada / saída” e “cp: falha ao estender 'arquivo': erro de entrada / saída

6

Sou usuário do Oracle Virtualbox no Ubuntu. E eu costumava copiar arquivos vdi como uma espécie de backup. Anteriormente eu fiz isso (copiando o arquivo vdi e copiando-o de volta) muitas vezes sem nenhum problema.

Mas hoje eu experimentei esse erro

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

Eu pesquisei por isso um pouco, mas a partir dos conselhos sobre problemas semelhantes eu não consegui nada, infelizmente. Alguém poderia sugerir como resolver isso, por favor?

A saída do dmesg é (e eu não entendo nada disso)

[ 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

Qualquer ajuda é muito apreciada, agradeço antecipadamente

    
por user907860 11.08.2014 / 10:57

3 respostas

5

Se este não for um "disco" dentro de uma caixa virtual, mas o disco físico real onde as imagens vm estão armazenadas, isso parece muito ruim.

Ocorreram erros de leitura em / dev / sda.
Há um tratamento automático marcando um bloco de disco como bloco ruim para sempre e, em vez disso, use um diferente.
Para que isso funcione, o disco rígido precisa ler os dados uma única vez a mais , talvez tentando algumas centenas de leituras.
Mas o disco desistiu disso:

"Adicionar. Sentido: erro de leitura não recuperada - falha na realocação automática"

Existem erros realmente ruins no disco - ainda não está claro se eles estão em um único local ou espalhados, e se aumentam com o tempo.

O disco rígido pode falhar muito em breve,
como "just now" .
Ou na próxima semana, ou não.

Se tudo correr bem em um teste e2fsck , você não poderá usá-lo para nada importante.

Assim que e2fsck confirmar que há erros médios, melhor é apenas substituí-lo.

Caso contrário, faça backups o mais rápido possível,
inicialize um CD ao vivo (ou encontre uma maneira de desmontar / não montar /home ),
e verifique se há blocos ruins, como

sudo e2fsck -c -v /dev/sdXN

Tenha em conta que num disco rígido mecânico maior, a verificação de blocos danificados pode demorar muito tempo , entre horas e talvez um dia ou dois. Isso é em parte porque o programa precisa verificar cada bloco de disco separadamente e cuidar dos problemas separadamente também. Mas também, se o disco está dando erros durante a leitura, há muitas tentativas em vários níveis antes que e2fsck saiba que há um problema. Para cada bloco de disco.

Pode ser a coisa certa executar apenas e2fsck no modo de reparo automático e deixar o computador sozinho por um tempo:

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

Veja os ubuntuforums: Random freeze e "Unrecovered read error" em / var / log / messages para detalhes.

    
por Volker Siegel 11.08.2014 / 12:22
4

Para mim, recebi esse erro ao tentar copiar imagens de disco que totalizavam algo como 128 GB. cp estava tentando carregar a coisa toda na memória para reescrevê-la e isso obviamente não funcionará, então isso tem que ser feito em partes. A melhor maneira que encontrei para dividir o arquivo é forçá-lo através do ssh.

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

Você precisa usar user@localhost ; omitir isso reverterá para cp -como comportamento.

    
por jwallace 30.06.2017 / 20:50
1

Os setores do seu disco rígido foram corrompidos. DRDY ERR - Erro de verificação do dispositivo pronto. UNC - Incorrigível.

Devido a várias razões, como desligamento abrupto durante gravação extensa, A alta temperatura, as operações de leitura e gravação executadas e a qualidade do disco rígido desempenham um papel importante neste caso.

Uma vez que um setor foi corrompido e se o kernel tentar acessar esses setores, você receberá este erro.

Você pode usar o seatools para recuperar-se temporariamente desse erro. Mas não será para corrigir esse problema para sempre, pode ocorrer novamente algumas vezes mais tarde.

Se você tiver sorte, ela não voltará a ocorrer por vários dias.

Melhor backup dos dados para um novo disco rígido e substituir o disco rígido.

    
por user314563 11.08.2014 / 16:46