내 파일 시스템이 손상되었습니다. 남은 좋은 파일인 "생존자"를 복사하고 싶습니다. 그래서 제 질문은 - 한 디렉터리에서 다른 디렉터리로 좋은 파일만 복사하는 방법입니다.
예를 들어 파일 크기는 10GB이고 5GB를 복사할 수 있습니다. 따라서 복사를 담당하는 도구가 즉시 대상 디렉터리를 사용하여 복사된 내용을 저장하는 경우 전체 파일을 복사할 수 없다는 것이 명확해지는 즉시(읽을 수 없기 때문에) 해당 부분 파일을 삭제해야 합니다.
좋은 문서-- I/O 오류 없이 처음부터 끝까지 읽을 수 있는 파일입니다.
중요한: 자동으로 수행되어야 합니다. 즉, 사용자 상호 작용 없이(저는 이미 사용자 상호 작용으로 Midnight Commander를 사용하고 있습니다).
고쳐 쓰다: 실용적인 이유로 파일을 읽으려는 최대 시도 횟수를 지정해야 합니다. 그렇지 않으면 도구가 쉽게 무한 루프에 빠져 파일을 계속해서 읽으려고 시도할 수 있습니다. 예를 들어, 주어진 파일 블록을 읽을 수 없고(I/O 오류로 인해) X 시도가 이루어진 경우 - 파일이 잘못되었다고 가정합니다.
답변1
ddrescue
또는이라는 유틸리티 가 있습니다 dd_rescue
. 이들은 동일한 작업을 수행하기 위해 서로 다른 방법을 사용하는 두 가지 서로 다른 유틸리티입니다. A에서 B로 데이터를 복사하지만 cp와는 달리 실패하지 않고 대신 데이터를 읽을 수 없으면 건너뛰면서 반복적으로 시도합니다. 이러한 유틸리티 는
파일 시스템을 지원하지 않지만 수동으로 또는 find
. 거기에서 파일. 이미지는 오류 없이 읽을 수 있습니다. 먼저 dd_recue를 사용하세요.dd_rescue
답변2
가장 쉬운 방법은 손상된 파일 시스템에서 실행하거나 fsck -a
루트 fsck -y
파일 시스템인 경우 Live CD에서 부팅하여 외부 볼륨으로 마운트하는 것입니다. 복구 가능한 모든 파일은 원래 위치에 저장되고 다른 파일은 원래 위치에 저장됩니다. /lost+found
원하는 경우 해당 파일에서 무언가를 복구해 볼 수 있습니다.
위의 옵션은 다음과 같이 작동합니다.
다양한 파일 시스템에 특정한 fsck 옵션은 표준화되지 않았습니다. 확실하지 않은 경우 파일 시스템별 검사기의 매뉴얼 페이지를 참조하십시오. 보장되지는 않지만 대부분의 파일 시스템 검사기는 다음 옵션을 지원합니다.
-ㅏ 의심할 여지 없이 파일 시스템을 자동으로 복구합니다(이 옵션은 주의해서 사용하세요). e2fsck(8)은 이전 버전과의 호환성을 위해서만 -a를 지원합니다. 이 옵션은 e2fsck의 -p 옵션에 매핑되며 일부 파일 시스템 검사기에서 지원하는 -a 옵션과 달리 사용하기에 안전합니다.
(...)
-와이 일부 파일 시스템 관련 검사기의 경우 -y 옵션을 사용하면 fs 관련 fsck가 항상 감지된 파일 시스템 손상을 자동으로 복구하려고 시도합니다. 때로는 전문가가 fsck를 수동으로 실행하는 것이 더 나을 수도 있습니다. 모든 파일 시스템별 검사기가 이 옵션을 구현하는 것은 아닙니다. 특히, 이 글을 쓰는 시점에서 fsck.minix(8) 및 fsck.cramfs(8)는 -y 옵션을 지원하지 않습니다.