상당히 복잡한 데이터 복구 작업이 있습니다. 손상된 ext4 파일 시스템에서 일부 메타데이터(파일 이름, 디렉터리 구조 등)를 가져오고 싶습니다. 많은 도구( Testdisk
, , fsck
) 를 사용해 보았 foremost
으나 소용이 없었습니다. 나는 파일 시스템에 대한 기본적인 이해만 갖고 있었기 때문에 아마도 대부분을 매우 효율적으로 사용하지 못했을 것입니다. 아니면 이 도구가 내 상황에 적합하지 않을 수도 있습니다. 이것이 내가 모든 것을 엉망으로 만든 방법입니다.
실수로 덮어쓰기 프로세스를 시작한 하드 드라이브가 있습니다. 나는 사용했다이러한 SATA USB 도킹 스테이션 중 하나, 작업하는 동안 실수로 복제 버튼을 눌렀습니다. 그러면 한 드라이브에서 다른 드라이브로의 복제가 시작됩니다. 내 하드 드라이브에 새 파티션을 만들고 거기에 데이터를 쓰기 시작했습니다. 약 1분 후에 나는 이것을 깨닫고 프로세스를 중단하고 드라이브 연결을 끊었습니다.
두 디스크 모두 ext4 파티션으로 포맷되었습니다. 따라서 내 디스크 중 하나의 파티션이 손상되어 이제 그 안의 데이터에 액세스할 수 없습니다. 덮어쓴 데이터는 복구할 수 없다는 점을 이해합니다. 하지만 대부분의 데이터는 이렇게 짧은 시간 안에는 손상되지 않습니다.
다행스럽게도 내가 가지고 있는 대부분의 파일은 인터넷의 다른 곳에서 사용할 수 있으므로 다시 다운로드할 수 있습니다. 하지만 이 작업을 수행하려면 파일 및 디렉터리 이름 목록을 가져와야 합니다. 이 작업을 성공적으로 수행할 수 있는 도구를 찾을 수 없습니다. Testdisk
유망해 보이지만 이를 사용하면 복제 프로세스 중에 생성된 데이터에만 액세스할 수 있습니다. 누구든지 내가 어떻게 할 수 있는지 말해 줄 수 있습니까? 도움을 주시면 감사하겠습니다. 감사합니다.
답변1
e2fsprogs 소스 코드를 다운로드하면 findsuper
디스크에서 슈퍼블록을 검색하는 도구를 빌드할 수 있습니다. 두 개의 서로 다른 슈퍼블록 UUID(디스크 시작 부분에 있는 복제된 복사본의 UUID와 디스크 끝 부분에 있는 이전 파일 시스템의 UUID)를 찾을 수 있어야 합니다.
이전 파일 시스템의 슈퍼블록으로 e2fsck를 실행하면 더 많은 파일 시스템을 복구할 수 있습니다. 예를 들어 이전 로그 블록을 파일 시스템으로 복구할 수 있습니다.
그럼에도 불구하고 e2fsck(디스크의 백업 이미지에서 실행하는 것이 좋음)는 찾을 수 있는 모든 파일을 연결합니다. lost+found
디스크 시작 부분의 루트 디렉터리는 확실히 덮어쓰기 때문입니다.