PC팁

[testdisk]날아간 하드 디스크 파티션, 파일 복구 시도해보기 - testdisk 사용법

콩지니어 2016. 7. 11. 21:00
728x90

    최근 데이터 관리에 신경쓰기로 하면서 백업하기 좋은 환경을 구성하고 있었는데, 도중에 실수로 파티션 테이블을 건들이는 바람에 살면서 모아둔 모든 자료가 체감시간 0.5초 만에 사라지는 사고가 있었습니다.

 

이렇게 말이죠

 

    이렇게 황당한 적이 또 있었을까요. 10년넘게 찍어둔 사진들, 문서들, 심지어 현재 연구실에서 작업중인 내용까지 싹~ 사라지는 바람에 순간 앞이 안보였습니다. 백업중에도 백업을 해야한다는 값진 배움을,,

 

========================================================================================

일단, 하드가 날아갔을 땐 절대 추가로 포멧을 하거나 파일을 쓰는 사용을 하지 말아야 합니다. 일반적 몇초만에 완료되는 포멧 및 초기화는 실제로 파일을 날리는 것이 아니라 파일을 읽기 위한 규칙을 날리거나 파일이 없는 척 하는 것이기 때문에 복구가 가능할 수 있지만, 데이터가 없는 것으로 되어있던 위치에 새 파일이 쓰여버리면 업체에서도 복구가 어려울 수 있습니다. 따라서 하드에 문제가 생겼을 땐 반드시 사용을 중지하는 것이 최선입니다.

 

가능하다면 날아간 하드를 섹터별로 이미지를 떠서 이미지로 복구를 시도하는 것이 좋습니다.

========================================================================================

 

     급히 업체에 전화하여 물어보니 용량에 따라 가격이 다른데 제 하드는 하필 2TB 대용량이라서 기본 30만원 이상은 나온다고 합니다.

     언뜻 들은 바로 하드디스크는 포멧이 되어도 이후 하드디스크를 사용하지 않아 덮어쓴 섹터가 없으면 복구가 가능하다고 하여 포기하지 않고 연구실 일을 올스탑 하고 도전해보기로 했습니다.

 

     일단, 연구실 옆자리에 있던 형님에게 물어보니 Partition wizard라는 프로그램을 알려줬습니다. 검색해도 종종 나오는 프로그램이고 무료로 사용이 가능한데다 이 프로그램을 이용해서 복구에 성공했다는 사례도 있었으나, 오랜 스캔에도 불구하고 제 파티션은 잡아내지 못했습니다.

 

     절망할때 쯤 차선책을 찾았는데 그게 바로 testdisk라는 프로그램 입니다. 역시 무료로 사용 가능한 프로그램이며, 원래는 Linux용으로 개발된 모양인데, cygwin을 통해 윈도우 버전도 배포하고 있습니다. 터미널 기반으로 GUI가 없어 사용이 어색할 수 있지만 익숙하면 쓸만 합니다.

http://www.cgsecurity.org/wiki/TestDisk_Download

여기서 OS에 따라 다운로드를 선택하면 됩니다. 윈도우의 경우 별도 설치가 필요 없고, Linux의 경우 터미널에 sudo apt-get install testdisk 명령어로도 다운로드 가능합니다.

 

실행은 다음과 같이 할 수 있습니다:

윈도우: 다운받은 폴더 내 실행파일을 오른쪽 클릭 후 '관리자 권한으로 실행' 클릭

리눅스: 터미널을 열어 sudo testdisk 엔터

 

저는 추후에 두 OS에서 모두 사용해보았는데 거의 차이가 없었습니다. 굳이 비교하자면 Windows버전이 파티션 감지도 되고 조금 더 좋은 것 같습니다.

 

스크린샷은 저도 복구 후 마음의 안정(?)을 되찾은 후 찍은거라 OS가 왔다갔다 하지만 사용은 동일합니다.

 

1. 실행이 되면 아래와 같은 창을 확인할 수 있습니다.

 

여기서 Create가 선택된 상태에서 엔터를 누릅니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

2. 리눅스 버전의 경우 아래와 같이 각 하드디스크의 모델명이 뜨는데, 윈도우 버전에서는 DISK 번호로만 확인됩니다. 따라서, 용량을 보고 맞추거나 아니면 윈도우의 '디스크관리'에서 순서를 파악하여 번호를 맞춰야 합니다. 디스크 번호는 상이할 수 있으나 순서는 맞는 것 같습니다.

 

디스크 선택이 되면 엔터를 누릅니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
3. 여기가 중요한데, 복구를 하고자 하는 원래 파티션이 어느 테이블로 구성이 되어 있었는지를 선택해야 합니다.
(파티션 테이블은 간단히 말해 어떤 규칙으로 데이터가 저장되는지를 나타냅니다. 이전 윈도우의 경우 MBT라는 형식을 많이 썼는데, 2TB까지 밖에 지원하지 않아 윈도우에서도 GPT를 지원하기 시작했습니다.)
 

     저의 경우 이미 GPT인걸 알고 있었기 때문에 문제가 없었지만, 이전 파티션 테이블을 모를 경우 왔다갔다 하며 찾아야 할 수도 있습니다. 윈도우만 사용한 사용자의 경우 MBR를 사용하는 경우가 아직까지는 대다수이기 때문에 모른다면 Intel을 선택해 봅니다.
 

 

윈도우 버전의 경우, 자동으로 이전 테이블을 감지하여 아래 창 하단에 띄워줍니다. 꼭 그 테이블이라는 보장은 없지만 감지가 되었다면 그 테이블이었을 가능성이 큽니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
4. 디스크가 선택하면 아래와 같은 창이 나타납니다. 나머지 옵션은 하드디스크에 대해 자세히 알고 있는 사용자를 위한 옵션 이므로 Analyse를 선택하고 엔터를 누른다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

5. 아래와 같은 창이 뜨고 하단에서 Quick Search와 Backup 중 선택할 수 있습니다.

 

Quick Search를 선택하고 엔터를 누릅니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
6. 10초 이내로 끝나는 Quick Search에서 탐색에 성공하면 아래와 같이 파티션이 뜹니다. 여기서 탐색이 되면 잘 되는 겁니다. 

남은 일은 검색된 파티션이 우리가 찾는 그 파티션이 맞는지를 확인하는 일 입니다. 하드디스크 사용내역에 따라 여러 파티션이 겹쳐있어 다른 파티션이 먼저 뜰 수 도 있기 때문에 복구를 시도할 파티션을 잘 골라야 합니다.

혹시 Quick Search에서 탐색이 되지 않았더라도 아직 Deep Search 옵션이 남아있으니 실망하지 않아도 됩니다.

Quick Search던 Deep Search던 뭐라도 떴다면 내용을 확인하기 위해 P를 누릅니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
7. P를 누르면 검색된 파티션 내에 있었던 파일과 폴더를 확인할 수 있습니다. 덮어쓰기가 없었고 여기까지 왔다면 복구가 되는 거라고 보면 될 것 같습니다. 저도 여기서 이름을 확인하고 크게 희망을 가지게 되었죠.

붉은색으로 표시되는 내용은 사용자가 지웠던 파일 및 폴더들 입니다. 파티션이 지워지기 이전에 사용자가 지운 파일이죠. 원래 없던 파일이라고 보면 됩니다. H를 눌러 이 항목들을 숨깁니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
8.  키보드 화살표를 이용해 탐색해 볼 수 있습니다. 

이 파티션이 맞는지 더 확인하기 위해 탐색을 해보도록 하겠습니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
9. 예전에 저장해두었던 여행사진 폴더를 탐색해보았습니다. 이제 이 파일을 복구해 보도록 하겠습니다.

파일 혹은 폴더를 선택 후 : 를 누르면 지정할 수 있습니다. 지정이 완료 된 파일/폴더는 아래와 같이 초록색으로 표시됩니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
10. 지정이 완료되면 대문자 C를 누릅니다. 그러면 파일을 저장할 폴더를 지정할 수 있습니다.

여기도 화살표로 탐색이 가능합니다. 저장할 폴더 (Directory에 표시)로 이동한 후 다시 대문자 C를 누르면 복사가 시작됩니다.

 

이런 문자가 뜨면 복사가 진행중인거고

이렇게 뜨면 복사가 완료 된 겁니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
11. 들뜬 마음으로 파일을 확인해 보도록 하겠습니다.

와우 깨짐현상 없이 온전히 복구되었습니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 
12. 앞에서와 같은 방법으로 급한 파일을 우선 복구합니다. 전체 복구는 일일이 파일을 복사하는 것이 아니라, 변경된 파티션 테이블 및 파티션 정보를 복구하는 것이라서 이렇게 수작업이 필요 없이 금새 복구되지만, 혹시 모르니 할 수 있을때 빼 두는 것이지요.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

13. 파티션이 맞는 것으로 확인 되었다면, 진짜 복구를 시도합니다. 이 작업은 되돌릴 수 없다고 하니 꼭 복구하고자 하는 파티션이 맞는지 확인하셔야 합니다.

앞서 지나왔던 이 창으로 돌아와 P대신 엔터를 누릅니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

14. 새 창에서는 Quit, Deep Search, Write 세 옵션이 하단에 뜹니다. Write를 선택하고 엔터를 누릅니다.

 

 
 파티션 테이블을 복구하는 확인 메세지가 뜹니다. 여기서 Y를 누르면 이대로 복구가 진행됩니다.

 

확실하다면 Y를 누릅니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

15. 테이블이 복구는 순식간에 완료됩니다. 애초에 지워지는 시간이 짧았던 것 처럼 말이죠.

재부팅을 해야 적용된다는 메세지가 뜹니다. 희망을 가지고 재부팅을 합니다. 이번엔 윈도우로 부팅해보도록 하겠습니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

16. 윈도우에서 확인해보겠습니다.
 

드라이브 파티션, 폴더 및 파일이 모두 멋지게 돌아온 것을 확인할 수 있습니다.

---------------------------------------------------------------------

 

 
이렇게 저는 제 인생을 다시 살게 되었습니다.
 
 
혹시 testdisk로 복구가 어려웠다면 partition wizard라는 프로그램을 이용해 시도해 보고 그래도 어렵다면 업체에 맡기는 것이 좋을 것 같습니다.

 

마지막으로, 복구가 잘 되었다면 십년감수한 의미로 testdisk를 다운받았던 주소로 들어가 자유롭게 기부를 합니다.

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------------------------

 

마음의 여유가 생겨 몇가지 추가 테스트를 해 보았습니다.

 

1. 원래 있던 파티션테이블과 새로 덮어써진 테이블의 형식이 달라도 복구 가능합니다.

2. 새 파티션테이블에 새 파티션을 만들어 포멧할 경우 Quick Search에서 탐색이 되지 않습니다. Deep Search에서 될 수는 있지만 확인해보지는 않았습니다.

 

 

Flag Counter

 

728x90