이 사건은 실제로 몇 년 전에 일어났지만, 내 손에는 아직도 변함없는 USB 플래시 드라이브가 남아 있다. 운이 좋지 않을 수도 있지만 여기 있는 똑똑한 사람들에게 조언을 구하고 싶다고 생각했습니다.
단편:
몇 년 전 제 아내는 저장 공간이 부족해서 iPhone에 있는 모든 사진을 USB 플래시 드라이브에 저장하고 싶었습니다. 우리는 매장에서 새로운 USB 플래시 드라이브를 구입했기 때문에 FAT32
파일 시스템이 있다고 가정합니다. 우리는 플래시 드라이브를 삽입했고 Mac OS X
그녀의 사진을 모두 백업할 수 있었습니다. 백업이 완료된 후 우리는 거의 모든 사진에 중복된 파일이 있다는 것을 깨달았습니다. photo.jpg
이름이 중복된 파일이 있습니다 photo\ 1.jpg
. 모든 중복 파일은 \ 1.jpg
이 접미사로 끝납니다.
방금 UNIX를 시작한 후 쉘에서 간단한 정규식을 사용하여 모든 중복 파일을 제거할 수 있다는 것을 알았지만 결국 명령을 따옴표로 묶지 않고 다음 명령을 실행하게 되었습니다 rm * 1.jpg
. 보시다시피 시스템에 파일을 하나씩 삭제하라고 지시한 다음 파일 1.jpg
을 모두 삭제하라고 지시하는 대신 1.jpg
화가 난 아내(당시 여자친구) 옆에서 플래시 드라이브를 떨어뜨렸습니다. 그리고 서랍에 보관했어요.
질문:
rm
USB 플래시 드라이브에서 삭제된 데이터를 복구할 수 있는 안전한 UNIX 도구가 있습니까? 아니면 그냥 운이 없는 걸까요? 위에서 말했듯이 저는 그 사건 이후로 플래시 드라이브를 만진 적이 없습니다.
이 질문이 너무 광범위하다면 메타나 가장 적합한 곳으로 자유롭게 이동하세요.
답변1
rm
USB 플래시 드라이브에서 삭제된 데이터를 복구할 수 있는 안전한 UNIX 도구가 있습니까?
예, 그런데 사진 복구는 가장 일반적인 시나리오 중 하나입니다.
당신이 설명하는 조건은 실제로최고왜냐하면:
- 파일을 직접 삭제했습니다.
- 파일 시스템이 손상되지 않았습니다
- 더 이상 이 드라이브를 사용하지 않습니다.
이러한 조건에서는 두 가지 옵션을 사용할 수 있습니다.
파일 이름에 관심이 있는 경우(또는 조각난 파일이 있는 경우)
드라이브에 많은 수의 사진을 순차적으로 기록하면 조각화 위험은 실제로 매우 낮지만 여전히 그렇습니다. 파일 복구및 파일 이름파일 시스템을 지원하는 도구가 필요합니다.
입력하다테스트 디스크:
sudo testdisk /dev/sdb
TUI(텍스트 사용자 인터페이스)를 통해 단계별 프로세스를 보여줍니다. 기본 단계는 다음과 같습니다.
- 스캔 드라이브
- 파티션 선택
- P파일을 표시하려면 누르세요 .
- 삭제된(빨간색) 파일 복사C
실제로 사진을 다시 돌려받고 싶다면
사진의 경우 이름은 신경 쓰지 않아도 됩니다. 또한 파일 시스템이 손상되었을 수 있으며(귀하의 경우는 아님) TestDisk가 도움이 되지 않습니다.
사진 기록(동일 개발자로부터) 구출에 온다:
sudo photorec /dev/sdb
여기서는 출력 디렉터리만 지정하면 됩니다. 관심 없는 특정 파일 형식의 감지를 비활성화할 수도 있습니다.
답변2
예, 삭제된 특정 파일을 복구할 수 있는 도구가 있습니다. 이를 사용하는 가장 안전한 방법은 가능한 한 빨리 문제의 파일 시스템을 마운트 해제한 다음(이미 수행한 작업) 파일 시스템을 이미지 파일에 백업하고 복구 시도에 해당 이미지 파일을 사용하는 것입니다. 이는 고장난 하드웨어나 결함이 있는 복구 프로그램에 대한 백업이 있기 때문에 더 안전합니다. 또한 특히 파일 시스템을 여러 번 검색하는 경우 복구 속도가 빨라질 수 있습니다.
실제 구조를 위해 오픈 소스 도구를 사용해 볼 수 있습니다testdisk
,photorec
,recoverjpeg
그리고recovermov
. 마지막 세 개는 유사한 접근 방식을 구현합니다. 즉, 잘 알려진 파일 서명을 검색합니다. 따라서 관련 파일 시스템 구조가 심각하게 손상되거나 덮어쓰기된 경우에도 파일을 복구할 수 있습니다. 제한 사항은 파일 시스템에 의해 파일이 조각화되는 경우입니다. 이름에도 불구하고 photorec
사진이 아닌 많은 파일 서명을 인식할 수 있습니다.
반면, Testdisk는 오래된 파티션과 파일 시스템 테이블을 복구하려고 시도하므로 원본 파일 이름과 조각난 파일까지 복구가 가능합니다.
Testdisk와 photorec은 동일한 작성자의 것이므로 일반적으로 함께 패키지됩니다.
예:
ddrescue --idirect /dev/sdX usb.img usb.map
mkdir out
testdisk usb.img
photorec usb.img
mkdir recjpg
cd recjpg
recoverjpeg ../usb.img
cd ..
mkdir recmov
recovermov ../usb.img