TestDisk 사용법

 |   IT 이야기/팁, 방법

이전부터 올리려고 했었는데, 이제사 올리게 되네요^^;;

TestDisk는 한번 익숙해지면, 간편하면서도 유용하게 사용할 수 있는 그런 프로그램 입니다.
 
아래쪽에 공식 홈피의 내용을 토대로 사용 방법에 대해서 적어내려가 보겠습니다. 프로그램을 실행할때 관리자 권한으로 실행시키는거, 잊지 마세요.
 

상황 가정

3개의 파티션을 포함한 36GB 하드디스크가 있다고 가정해 봅시다. 그런데 안타깝게도:

  • NTFS 주 파티션의 부트섹터가 손상되었습니다. 그리고,
  • NTFS 논리 파티션이 실수로 지워졌습니다.

이 복구 예제에서는 여러분이 "잃어버린 파티션"들을, 단계별로, 아래의 방법들을 통해서 TestDisk로 해결 할 수 있도록 안내합니다:

  • 손상된 NTFS 부트섹터를 다시쓰고,
  • 실수로 삭제된 NTFS 논리 파티션을 복구합니다.
 
FAT32의 복구도 정확히 아래와 같은 단계를 통해서 이루어 질 수 있습니다. 더 자세한 사항은 공식 홈피를 참고 하세요:
 


주의할 점:

  • TestDisk는 반드시 "관리자 권한"으로 실행되어야 합니다.
 
TestDisk를 사용할때 중요한 점:
  • 항목간 이동: 상/하 방향키, 혹은 Page Up/Page Down 키
  • 항목을 선택 실행/계속 진행하려면: 엔터키
  • 이전 화면으로 돌아가기, 혹은 TestDisk 종료: q (Quit) 키
  • 변경사항을 저장할때: y (Yes) 혹은 엔터키로 확인.
  • 파티션 데이터를 실제로 MBR에 기록하려면: 커서를 "Write"에 위치시키고, 엔터.

증상

하드디스크의 주 파티션에 운영체제가 포함되어 있었다면, 대부분의 경우 더 이상 부팅되지 않을 겁니다. (이 경우, 대부분 부트섹터가 손상되어 있을겁니다.) 만일 하드디스크가 세컨더리 (데이터) 드라이브이고, 또 다른 컴퓨터의 세컨더리 채널(주로 CD/DVD드라이브가 연결되는 곳입니다.)에 연결할 수 있는 상황이라면,

연결했을때에 아래와 같은 증상을 볼 수 있을 겁니다:

 

  1. 탐색기(내 컴퓨터)나 디스크 관리자로 확인했을때, 첫번째 주 파티션이 RAW (포맷되지 않음)으로 표시되고, 다음과 같은 메시지가 뜰겁니다:  드라이브가 포맷되지 않았습니다. 지금 포맷하시겠습니까?  [이 경우에 왜 그렇게 해야 되는지 확실히 모르는 상태라면, 결코 포맷을 선택하지는 마세요.]
  2. (있었다면) 논리 파티션이 날아가 있을 겁니다. 해당 논리 드라이브는 더 이상 내 컴퓨터나 탐색기에서 접근할 수 없을겁니다. 디스크 관리 콘솔에서는 논리 파티션이 있어야할 자리에 "할당되지 않은 공간" 이란 메시지만 표시되어 있을 겁니다.
 

TestDisk 실행하기

아직 다운로드 하지 않으셨다면, 다음 주소에서 받으실 수 있습니다: TestDisk Download.

하위 디렉토리를 포함해서 압축파일로부터 파일들의 압축을 해제하세요.

하드디스크, USB 메모리, 스마트 카드 등등으로부터 잃어버린 파티션이나 파티션을 복구하려면,

물리적 장치에 접근할 수 있는 충분한 권한이 있어야 합니다.

 

  • dos.png 도스: TestDisk.exe를 실행하세요.
  • win.png 윈도우즈: 관리 그룹에 포함된 계정으로부터 TestDisk (예: testdisk-6.9/win/testdisk_win.exe)를 실행하세요. 비스타라면, 마우스 오른쪽 클릭해서 단축 메뉴를 띄운다음 "관리자 계정으로 실행" 메뉴를 선택해서 TestDisk 를 실행하세요.
  • linux.png Unix/Linux/BSD: root 권한으로 실행하세요. (예: sudo testdisk-6.9/linux/testdisk_static)
  • macosx.png MacOSX: 루트가 아닐경우, 권한에 대한 메시지를 띄운다음, sudo 권한으로 자동으로 재시작 될겁니다.
  • os2.png OS/2: 물리적 장치에 접근할 수 없고, 디스크 이미지만 다룰 수 있습니다. 아깝네요;;
 

미디어 이미지나 파일시스템 이미지로부터 파티션을 복구하려면, 아래의 명령을 실행하세요:

  • testdisk image.dd : RAW 디스크 이미지를 나눌때. 
  • testdisk image.E01 : Encase EWF 이미지로부터 파일들을 복구할때.
  • testdisk 'image.E*' : Encase 이미지가 몇개의 파일로 나눠져 있을때엔, 옆의 명령을 사용합니다.
 

linux.png macosx.png TestDisk에 의해 표시되지 않는 파일시스템은, testdisk device(장치명)으로 고칩니다.


로그(Log) 생성



  • 다음같은 특별한 경우가 아니면 그냥 Create를 선택하세요: 이미 존재하는 로그 파일에 추가적으로 이어서 로깅하거나, 혹은 TestDisk를 읽기 전용 미디어로부터 실행하고 있거나, 로그 파일을 생성할 수 있는 장소가 없을 경우.
  • 원하는 항목에 커서를 위치시키셨다면, 엔터를 눌러서 계속진행하세요.

 

    디스크 선택

    모든 드라이브가 올바른 크기로 발견되고 목록으로 표시되어야 합니다:

     

    • 잃어버린 파티션을 포함하고 있는 하드디스크로 상/하 방향키를 사용해서 커서를 위치시키세요.
    • 엔터를 눌러서 계속 진행하시면 됩니다.
     

    파티션 테이블 형태 선택

    이제 TestDisk가 아래처럼 파티션 테이블 타입들을 화면에 표시해 줍니다.

     

    • 파티션 테이블 타입을 고르시면 되지만, 대부분의 경우 TestDisk가 자동으로 파티션 테이블 형태를 찾아주기 때문에 기본값 그대로 두셔도 됩니다^^.
    • 역시나, 엔터키를 눌러서 계속 진행해 주세요. 엔터키를 계속 눌러야 된다는 점은, 힘들게도 지겹게도 느껴질 수 있지만, 바꿔말하면 특별히 입력하거나 하는게 거의 없으니까 간편하다는 의미도 되니깐 너무 지겹다는 생각은 잠시 내려두셔도 됩니닷 ^^;; 
     

    현재 파티션 테이블 상태

    이제 아래와 같은 메뉴들이 표시될겁니다. (메뉴들에 대한 더 자세한 사항은 다음 링크를 보세요: TestDisk Menu Items [영문]).

     

    • 기본 커서 위치가 "Analyse" 있을겁니다. 현재 파티션 구조를 체크하고 잃어버린 파티션을 찾을 수 있도록 기본값 그대로 두세요.
    • Analyse에 커서가 잘 위치해 있는지 확인한 뒤에, 엔터키를 누르시면 됩니다.
     

    이제, 파티션 구조가 목록 형태로 아래와 같이 표시됩니다. 현재 파티션 구조에서 잃어버린 파티션과 에러를 찾을 수 있도록 점검 할 차례네요.

     

     
    첫번째 파티션이 두번 표시되어 있는데, 손상된 파티션 혹은 잘못된 파티션 테이블 공간임을 나타내고 있습니다. 확장 파티션의 논리 파티션 (Partition 2) 하나만이 사용가능한 상태입니다.

    하나의 논리 파티션은 날아간 상태입니다.

    • 계속 진행할 수 있도록 커서가 Quick Search 에 위치해 있는지 확인해 주세요. 그리고 역시나 엔터를 꾹- 눌러주십시오.
     

    파티션 Quick Search


    • 운영체제나 생성된 파티션에 따라 다르지만, 대부분의 경우 y를 눌러서 계속진행하시면 됩니다.
     

    Quick Search 진행중에, TestDisk가 두 개의 파티션을 찾아냈군요. Partition 3라고 레이블된 손상된 논리 파티션도 보입니다.

     

     

    손상된 파티션에 커서를 위치시킨뒤, 파일들이 잘 있는지 볼 수 있도록 p 키를 눌러보세요(이전 화면으로 되돌아가려면, q 키를 누르세요.)

    모든 디렉토리와 데이터가 제대로 표시되는지 한번 보세요.

    • 엔터를 눌러서 계속하세요.

    파티션 테이블을 저장하거나, 혹은 더 많은 파티션에 대해 검색하기


    • 모든 파티션들이 사용가능하고 데이터가 올바르게 표시된다면, 메뉴중에서 Write에 커서를 위치시키고 엔터를 눌러서 찾아낸 파티션을 저장하면 됩니다. Extd Part 메뉴에서는 확장 파티션이 사용 가능한 남은 모든 디스크 공간을 사용하게 할지 아니면 필요한 공간 (최소)만 사용하게 할지를 결졍할 수 있습니다.
    • 하지만 아직, 첫번째 파티션이 손상에서 복구되지 않은 상태이기 때문에, Deeper Search (이전에 자동으로 이 기능이 실행되지 않았다면) 메뉴에 커서를 위치시키고 엔터를 누르세요.
     

    여전히 잃어버린 파티션을 찾지 못했을때: Deeper Search

    Deeper Search 는 더 많은 파티션들을 발견해 낼 수 있도록 FAT32 백업 부트섹터, NTFS 백업 슈퍼 블럭, ext2/ext3 백업 슈퍼블럭도 검색하게 됩니다.

    검색할때, 개별 실린더를 스캔하게 됩니다.


    Deeper Search 이후에, 결과가 아래와 같이 표시되게 됩니다:

    첫번째 파티션인 "Partition 1" 이 백업 부트 섹터에 의해서 발견되었군요.

    화면의 마지막 줄에, "NTFS found using backup sector!" 파티션 사이즈와 함께 메시지가 뜬걸 보실 수 있을겁니다. "partition 2"가 서로 다른 크기로 두번이나 표시되어 있군요. 맨 앞쪽에 D 라는 글자와 함께 표시되게 되는데, D는 삭제되었음을 나타냅니다. 삭제된데에다가 두번이나 표시되었다는 점을보니 서로간에 덮어쓰고 있음을 알 수 있네요.

     


    • 첫번째 Partition 2에 커서를 위치시키고  p 키를 눌러서 데이터가 제대로 있나 한번 보세요.
    이 예제에서는 첫번째 삭제된 논리 파티션은 손상되어 있습니다.


    • q 키를 눌러서 이전화면으로 되돌아 갑니다.
    • 손상된걸 확인하셨죠? 아무래도 첫번째 삭제된 논리 파티션 Partition 2는 D로 표시된채로 그냥 놔두어야 할것 같습니다.
    • D라고 표시된, 그 아래쪽의 또다른 삭제된 논리 파티션에 커서를 위치시킵니다. 두번째 삭제된 논리 파티션에 커서를 위치시키면 됩니다^^.
    • 파일이 잘 있는지 확인할 수 있도록 p 키를 눌러보세요.

     

     

    휴, 됐습니다. 드디어 제대로된 잃어버린 파티션을 발견했네요 ^_^V

    • 왼쪽/오른쪽 방향키를 이용해서 폴더나 파일들이 다 잘있는지 확인해 보세요.

    참고: FAT 에서는 디렉토리 표시가 10 클러스터에 제한되어 있기 때문에, 몇몇 파일들은 표시되지 않을지도 모르지만, 복구에는 영향을 주지 않습니다. 걱정안하셔도 됩니다 ^^;;

     

    • 이전화면으로 되돌아 갈 수 있도록 q 키를 누르세요.
    • 사용 가능한 상태(Status)는 주 파티션(Primary), 부팅 가능(*), 논리 파티션(Logical), 삭제된 파티션(Deleted) 입니다.

    좌/우 방향키를 사용해서, 선택된 파티션의 상태를 L(ogical) 로 바꾸세요.


    참고: 만일 파티션이 *(부팅가능)으로 표시되고 있지만, 그 파티션으로부터 부팅하지는 않을 경우에는, 상태를 Primary를 나타내는 P로 바꾸시면 됩니다^^.

    • 엔터를 눌러서 계속하세요.
     

    파티션 테이블 복구

    이제 새로운 파티션 구조를 디스크에 쓰는게 가능합니다.
    참고: 확장 파티션은 자동으로 설정됩니다. TestDisk는 이 자동 설정을 서로 다른 파티션 구조를 통해서 인식합니다.

     

    • Write 에 커서가 잘 위치해 있는지 확인하신 다음에, Enter, y 그리고 Ok 입니다.

    이제, 모든 파티션들이 파티션 테이블에 등록되게 됩니다^_^

     

    NTFS 부트섹터(Boot sector) 복구

    하지만 아직 Partition 1이라고 레이블된 첫번째 파티션의 부트섹터는 여전히 손상된 상태입니다.

    이제 이걸 고칠 차례군요. NTFS 부트섹터의 상태는 'bad (손상됨)' 이고 백업 부트섹터는 정상이네요.

    부트 섹터들이 일치되지 않고 있습니다.

     

    현재의 손상된 부트섹터위에 백업된 부트섹터를 덮어쓰려면, "Backup BS"에 커서를 위치시키고,

    엔터를 누른다음에, y 로 확인하고, 다음으로 Ok 입니다.

     

    이제 아래와 같은 메시지가 표시됩니다:

    이제 부트섹터와 백업 부트섹터가 둘다 OK상태고 일치하는군요.

    드디어 NTFS 부트섹터까지 성공적으로 복구되었습니다. (( ^_^)) //

    • 엔터를 눌러서 나갑니다.
     

     
    TestDisk 가 이제 You have to restart your Computer to access your data(데이터에 액세스 하려면 컴퓨터를 재시작 하셔야만 합니다) 라고 메시지를 표시하고 있네요. 이제 드디어 마지막으로 엔터키를 누르고 컴퓨터를 재시작 하시면 됩니다. ^^
     
    TestDisk를 사용하면 위와 같은 방법으로 삭제된 파일들, 디렉토리, 날아간 디렉토리를 복구하고
    부팅 불가능한 파티션을 부팅 가능하게 만듭니다.
     
    혹시나 파티션 날려서 고생하고 계시고, TestDisk라는 프로그램을 알게되긴 했는데 어떻게 사용해야 할지 잘 모르시는분은 위와 같은 방법으로 파티션을 복구 하실 수 있습니다.
     
    이제 날아간 파티션 때문에 으윽- 하는일은 조금이라도 더 줄어둘 수 있을것 같습니다.