"cp : 'file'읽기 오류 : 입력 / 출력 오류"및 "cp : 'file'을 확장하지 못했습니다 : 오류가 발생하여 cp를 복사하지 못함 : 입 / 출력 오류


10

우분투에서 Oracle Virtualbox의 사용자입니다. 그리고 vdi 파일을 일종의 백업으로 복사했습니다. 이전에는 아무 문제없이 vdi 파일을 복사 한 다음 다시 복사하는 작업을 여러 번 수행했습니다.

하지만 오늘이 오류가 발생했습니다.

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

나는 이것을 조금 봤지만 비슷한 문제에 대한 조언에서 불행히도 아무것도 이해하지 못했습니다. 누구든지 이것을 해결하는 방법을 제안 할 수 있습니까?

의 결과 dmesg는 (그리고 나는 아무것도 이해하지 못합니다)

[ 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

어떤 도움이라도 대단히 감사합니다. 미리 감사합니다.


아마도 VDI 파일이 가득 찬 디스크일까요? 시도df -h
Volker Siegel

오, 잠깐만-이 모든 것을 virtualbox 내부에서 또는 외부에서 수행하고 있습니까?
Volker Siegel

@VolkerSiegel 나는 호스트 시스템에서 외부 에서이 작업을 수행합니다. 사본이 저장되어 있고 사본을 만들려고하는 파티션은 280GB를 사용할 수 있으므로 이미이 작업을 여러 번 수행했다고 말했듯이 충분합니다. 나는 이것이 HDD의 오류 일 수 있다고 생각한다
user907860

/ dev / sda의 해당 파티션에서 파일 시스템은 무엇입니까? ( mount | grep /dev/sda)
Volker Siegel

@VolkerSiegel 출력은 다음과 같습니다/dev/sda5 on /home type ext4 (rw)
user907860

답변:


7

이것이 가상 박스 내부의 "디스크"가 아니라 vm 이미지가 저장된 실제 물리 디스크라면 꽤 나빠 보입니다.

/ dev / sda에 읽기 오류가있었습니다. 디스크 블록을 불량 블록으로 영원히 표시
하여 자동으로 처리 하고 다른 블록을 대신 사용하십시오.
이 작업을 수행하려면 하드 디스크가 한 번 더 데이터를 읽어야합니다 . 아마도 수백 번의 읽기를 시도해야 할 것입니다.
그러나 디스크 이것을 포기했습니다 .

"추가. 감지 : 복구되지 않은 읽기 오류-자동 재 할당 실패"

디스크에 실제로 잘못된 오류가 있습니다. 오류가 한 위치에만 있는지, 확산되는지, 시간이 지남에 따라 증가하는지 여부는 아직 명확하지 않습니다.

"지금 바로"
와 같이 하드 디스크가 곧 실패 할 수 있습니다 . 또는 다음 주 또는 전혀 아닙니다.

그것은에 확인하지 않으면 e2fsck테스트, 당신은 여전히 중요한 아무것도 사용하지 칸.

e2fsck중간 오류가 있음 을 확인 하자마자 오류를 바꾸는 것이 가장 좋습니다.

그렇지 않으면, 메이크업의 백업이 가능한 한 빨리,
라이브 CD 정도를 부팅 (또는 찾을 수있는 방법을 언 마운트 / 마운트하지/home ),
그리고에 의해처럼, 불량 블록 검사

sudo e2fsck -c -v /dev/sdXN

그 큰에 고려 기계적 걸릴 수 있습니다 불량 블록 검사, 하드 디스크에 많은 시간을 시간과 어쩌면 하루 이틀 사이에. 프로그램이 각 디스크 블록을 개별적으로 확인하고 문제도 별도로 처리해야하기 때문입니다. 그러나 디스크를 읽을 때 오류가 발생하는 경우 문제가 있음을 알기 전에 여러 수준에서 많은 재 시도e2fsck 가 있습니다. 각 디스크 블록마다.

e2fsck자동 복구 모드로 실행 하고 컴퓨터를 잠시 동안 그대로 두는 것이 올바른 방법 일 수 있습니다 .

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

자세한 내용 은 / var / log / messages에서 우분투 포럼 : 무작위 고정 및 "복구되지 않은 읽기 오류" 를 참조하십시오.


"실제 실제 디스크"의 의미를 이해하지 못했습니다. 이것은 실제 디스크가 아니며
Virtualbox

좋아, 확인해야 할 몇 가지 질문이 있습니다. 파일 win_7.vdi이 vm 이미지입니다. 맞습니까? 그리고 그것은 어떤 vms 밖에 있습니까? 파일 win_7.vdi이 실제 디스크에 있다는 것을 의미합니다 . dmesg출력은 VM 외부에서, 권리? 이 경우 dmesg로그 의 오류 는 실제 하드 디스크 / dev / sda에 있습니다.
Volker Siegel

예, 모든 질문에 "맞습니다"
user907860

디스크에는 좋지만 디스크를 교체 할 수 있습니까? "지금"과 같이 곧 실패 할 수 있습니다. 또는 다음 주 또는 전혀 아닙니다. 그것은에 확인하지 않으면 e2fsck테스트, 당신은 여전히 중요한 아무것도 사용하지 칸.
Volker Siegel

좋아, 빨리, 오늘 답변을 확인합니다 그래서 지금은 일에있어, 감사합니다
user907860

6

나를 위해 128GB와 같은 디스크 이미지를 복사하려고 할 때이 오류가 발생했습니다. cp다시 작성하기 위해 메모리에 모든 것을로드하려고했지만 분명히 작동하지 않으므로 덩어리로 수행해야합니다. 파일을 청크하는 가장 좋은 방법은 ssh를 통해 파일을 강제 실행하는 것입니다.

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

당신은 사용해야합니다 user@localhost; 생략하면 cp같은 동작으로 돌아갑니다 .


2

하드 디스크의 섹터가 손상되었습니다. DRDY ERR-장치 준비 점검 오류. UNC-수정할 수 없습니다.

광범위한 쓰기 동안 갑작스러운 종료, 고온, 읽기 쓰기 작업 수행 및 하드 디스크의 품질과 같은 여러 가지 이유로이 경우 하드 디스크의 품질이 중요한 역할을합니다.

섹터가 손상되고 커널이 해당 섹터에 액세스하려고하면이 오류가 발생합니다.

seatools를 사용하여이 오류를 일시적으로 복구 할 수 있습니다. 그러나이 문제를 영원히 해결하지는 못할 것입니다. 몇 번 후에 다시 발생할 수 있습니다.

운이 좋으면 며칠 동안 다시 발생하지 않습니다.

새 하드 디스크에 데이터를 백업하고 하드 디스크를 교체하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.