빠른 팁
먼저 위치를 지정하세요. 파일이 어디에 있었는지 Recuva에게 알려주면 스캔 속도가 크게 빨라집니다.
딥 스캔은 표준 스캔에서 아무것도 찾지 못할 때만 활성화하세요 — 더 느리지만 더 철저합니다.
선택적으로 복구하세요. 복원하기 전에 색상으로 구분된 목록을 신중하게 확인하세요.
Recuva의 작동 원리: 파일 시스템 수준의 데이터 복구
논리적 삭제와 잔존 메타데이터. 파일이 삭제될 때 운영체제는 해당 파일이 차지하던 클러스터를 물리적으로 덮어쓰지 않는다 — 대신 볼륨의 메타데이터 구조에서 해당 항목이 수정되며(NTFS의 경우 $MFT 항목, FAT/exFAT의 경우 테이블 요소), 클러스터 체인은 사용 가능 상태로 표시되고 파일명의 첫 문자는 서비스 마커로 대체된다. Recuva는 마스터 파일 테이블, 인덱스 할당, $DATA 속성과 같은 이러한 데이터 구조에 대해 저수준 파싱을 수행하여, 섹터가 실제로 새로운 데이터로 덮어써질 때까지 파일의 논리적 연속성을 재구성한다.
시그니처 분석과 카빙. 메타데이터가 복구 불가능하게 손실된 경우(포맷, 파일 테이블 손상, RAW 볼륨 구조 등), 애플리케이션은 딥 스캔 모드로 전환된다 — 이는 파일 시스템을 우회하여 매체를 섹터 단위로 읽고, 특정 컨테이너 형식에 고유한 바이너리 헤더 및 푸터 시그니처(매직 넘버)를 기반으로 데이터를 식별하는 방식이다. 파일 카빙이라 불리는 이 방식은 파일 시스템이 완전히 존재하지 않는 상태에서도 완전한 객체를 추출할 수 있게 해주지만, 올바른 파일명이나 디렉터리 계층 구조의 복구를 보장하지는 않는다.
무결성 및 조각화 평가. 복구 전에 Recuva는 클러스터 체인의 상태에 대한 휴리스틱 평가를 수행하며, 볼륨의 할당 맵을 파일의 예상 크기와 비교하여 조각화와 부분적인 덮어쓰기를 탐지한다. 결과는 보존 지표(excellent/poor/unrecoverable)에 따라 분류되며, 이는 클러스터의 연속성 정도와 새로 기록된 데이터와의 충돌 가능성을 고려한다.
저널링 파일 시스템 처리. NTFS를 분석할 때 Recuva는 주 MFT와는 독립적으로 파일 구조에 대한 작업을 기록하는 $LogFile 트랜잭션 저널과 $UsnJrnl 변경 저널도 참조한다. 저널 항목을 볼륨의 현재 상태와 대조함으로써, MFT 항목이 이미 시스템에 의해 새로운 객체로 재사용된 파일의 메타데이터를 복구할 수 있으며, 이름 변경 및 이동 이력의 부분적 재구성도 가능해진다.
대체 데이터 스트림 처리. NTFS 볼륨의 경우, 애플리케이션은 파일의 주 항목에 연결된 대체 데이터 스트림($DATA:스트림_이름)을 고려하며, 이는 존 식별자(Zone.Identifier)로 표시되거나 주 데이터 스트림 외부에 저장된 추가 속성을 포함하는 객체를 복구할 때 매우 중요하다.
SSD 및 TRIM 명령 처리. TRIM 기능이 활성화된 SSD에서는 파일 삭제 후 논리 블록 주소(LBA)의 해제가 컨트롤러에 즉시 통보되며, 이는 내부 가비지 컬렉션과 NAND 셀의 물리적 삭제를 트리거한다 — 이는 복구 프로그램이 볼륨에 접근하기도 전에 이미 이루어진다. 이러한 조건에서 Recuva는 남아있는 파일 시스템 메타데이터에만 의존할 수밖에 없는데, 클러스터의 실제 내용이 하드웨어 수준에서 이미 복구 불가능하게 손실되었을 수 있기 때문이다.
안전한 데이터 추출. 복구된 콘텐츠는 원본 볼륨과 물리적으로 분리된 대상 영역에 바이트 단위로 복사되며, 이를 통해 아직 처리되지 않았지만 복구 가능성이 있는 섹터의 덮어쓰기를 방지한다. 또한 DoD 5220.22-M과 유사한 표준을 따르는 보안 덮어쓰기(Secure Overwrite) 기능이 구현되어 있으며, 이는 확인된 복구 이후 잔존 데이터의 확실한 파기를 보장하는 데 사용된다.