![손상된 디스크에서 파일을 부분적으로 복사하는 방법은 무엇입니까?](https://linux55.com/image/65567/%EC%86%90%EC%83%81%EB%90%9C%20%EB%94%94%EC%8A%A4%ED%81%AC%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%B6%80%EB%B6%84%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EB%B3%B5%EC%82%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
60G 파일을 복사해야 하는 손상된 디스크가 있습니다.
가끔 디스크가 재설정되어 복사를 완료할 수 없는 경우가 있습니다.
일부 조각을 복제하여 모두 합치고 싶습니다.
어떻게 해야 하나요?
답변1
를 사용하면 ddrescue
이러한 시나리오를 위해 설계되었습니다.
로그 파일을 사용하여 데이터의 어느 부분이 성공적으로 복사되었거나 복제되었는지 추적합니다. 따라서 로그 파일이 유지되는 한 필요한 만큼 여러 번 중지하고 다시 시작할 수 있습니다.
답변2
사용 dd
.
많은 일을 할 수 있지만 다음과 같은 형식이 필요합니다.
dd if=<source> of=<destination> bs=<block size> count=<blocks> skip=<offset>
예를 들어 파일에서 2~4KB를 복사하려면 다음을 수행합니다.
dd if=in.dat of=out.dat bs=1K count=2 skip=2
수행하려는 특정 작업이 있으면 다음을 추가해 볼 수도 있습니다 conv=sync,noerror
.
dd if=in.dat of=out.dat bs=1K count=2 skip=2 conv=sync,noerror
noerror
오류가 발생하면 계속하도록 하고 실패한 sync
블록을 0으로 채우도록 합니다. 따라서 이상적으로는 원하는 파일을 얻을 수 있지만 읽을 수 없는 블록은 없습니다. 그러나 이는 하드 드라이브가 실제로 수행하는 작업에 따라 다릅니다. 일부 드라이브는 오류가 발생하면 종료되어 여전히 데이터를 복구할 수 없습니다.