testdisk를 사용하여 Linux에서 삭제 된 파일을 복구하는 방법

Linux 시스템에서 파일을 삭제하면 특히 최근에 삭제 한 경우 영구적으로 사라지지 않을 수 있습니다.
파쇄와 같은 도구를 사용하여 지우지 않는 한 데이터는 여전히 디스크에 있으며 삭제 된 파일을 복구하는 가장 좋은 도구 중 하나 인 testdisk를 사용하여 복구 할 수 있습니다. testdisk에는 손실되거나 손상된 파티션 복구 및 부팅 불가능한 디스크 다시 시작 등 다양한 기능이 있지만 실수로 삭제 된 파일을 복구하는 데 자주 사용됩니다.
이 기사에서는 testdisk를 사용하여 삭제 된 파일을 복구하는 방법과 프로세스의 각 단계가 어떤 것인지 살펴볼 것입니다. 이 프로세스에는 많은 단계가 필요하기 때문에 몇 번 수행하면 실행하기가 더 쉬울 수 있습니다.
1. testdisk 설치
apt install testdisk 또는 yum install testdisk와 같은 명령을 사용하여 testdisk를 설치합니다. 흥미롭게도 Linux 도구 일뿐만 아니라 MacOS, Solaris 및 Windows에서도 작동합니다.
2. 파일 복구
먼저 root로 로그인하거나 testdisk를 사용하려면 sudo 권한이 있어야합니다. sudo 액세스 권한이 없으면 추방됩니다.
testdisk를 사용하여 삭제 된 파일을 복원하면 결국 도구를 시작한 디렉토리 형식의 파일이 복원되고 이러한 파일은 루트에 속하게됩니다. 이런 이유로 나는 / home / recovery와 같은 디렉토리에서 시작하는 것을 좋아합니다. 파일이 성공적으로 복원되고 확인되면 해당 파일을 원래 위치로 다시 이동하고 소유권을 복원 할 수 있습니다.
선택한 시작 디렉토리에 쓸 수 있는지 확인하십시오.

$ cd /home/recovery
$ testdisk

testdisk에서 제공하는 정보의 첫 페이지는 도구에 대해 설명하고 몇 가지 옵션을 보여줍니다. 적어도 처음에는 로그 파일을 만드는 것이 유용 할 수있는 정보를 제공하기 때문에 좋은 생각입니다. 방법은 다음과 같습니다.

Use arrow keys to select, then press Enter key:
>[ Create ] Create a new log file
 [ Append ] Append information to log file
 [ No Log ] Don’t record anything

왼쪽의>와 글꼴 및 배경색의 반전은 Enter 키를 누른 후 사용할 옵션을 보여줍니다. 이 예에서는 로그 파일을 만들기로 선택했습니다.
그런 다음 암호를 입력하라는 메시지가 표시됩니다 (최근에 sudo를 사용한 경우 제외).
다음 단계는 삭제 된 파일이 저장 될 디스크 파티션 (강조 표시되지 않은 경우)을 선택하는 것입니다. 필요에 따라 위쪽 및 아래쪽 화살표 키를 사용하여 이동합니다. 그런 다음 오른쪽 화살표를 두 번 클릭하고 "계속"이 강조 표시되면 Enter를 누르십시오.

Select a media (use Arrow keys, then press Enter):
 Disk /dev/sda - 120 GB / 111 GiB - SSD2SC120G1CS1754D117-551
>Disk /dev/sdb - 500 GB / 465 GiB - SAMSUNG HE502HJ
 Disk /dev/loop0 - 13 MB / 13 MiB (RO)
 Disk /dev/loop1 - 101 MB / 96 MiB (RO)
 Disk /dev/loop10 - 148 MB / 141 MiB (RO)
 Disk /dev/loop11 - 36 MB / 35 MiB (RO)
 Disk /dev/loop12 - 52 MB / 49 MiB (RO)
 Disk /dev/loop13 - 78 MB / 75 MiB (RO)
 Disk /dev/loop14 - 173 MB / 165 MiB (RO)
 Disk /dev/loop15 - 169 MB / 161 MiB (RO)
>[Previous]  [  Next  ]  [Proceed ]  [  Quit  ]

이 예에서 삭제 된 파일은 / dev / sdb의 기본 디렉토리에 있습니다.
이 시점에서 testdisk는 파티션 유형을 선택해야합니다.

Disk /dev/sdb - 500 GB / 465 GiB - SAMSUNG HE502HJ

Please select the partition table type, press Enter when done.
 [Intel  ] Intel/PC partition
>[EFI GPT] EFI GPT partition map (Mac i386, some x86_64...)
 [Humax  ] Humax partition table
 [Mac    ] Apple partition map (legacy)
 [None   ] Non partitioned media
 [Sun    ] Sun Solaris partition
 [XBox   ] XBox partition
 [Return ] Return to disk selection
在下一步中,向下箭头指向"[ Advanced ] Filesystem Utils"。
 [ Analyse  ] Analyse current partition structure and search for lost partitions
>[ Advanced ] Filesystem Utils
 [ Geometry ] Change disk geometry
 [ Options  ] Modify options
 [ Quit     ] Return to disk selection

다음으로 선택한 파티션을 확인합니다.

  Partition                  Start        End    Size in sectors
> 1 P Linux filesys. data         2048  910155775  910153728 [drive2]

그런 다음 오른쪽 화살표를 눌러 하단의 [목록]을 선택하고 Enter 키를 누릅니다.
[ Type ] [Superblock] >[ List ] [Image Creation] [ Quit ]
/로 시작한 것처럼 보이지만 실제로 작업중인 파일 시스템의 기반입니다. 이 예에서는 / home입니다.

Directory / <== starting point

>drwxr-xr-x     0     0      4096 23-Sep-2020 17:46 .
 drwxr-xr-x     0     0      4096 23-Sep-2020 17:46 ..
 drwx———     0     0     16384 22-Sep-2020 11:30 lost+found
 drwxr-xr-x  1008  1008      4096  9-Jul-2019 14:10 dorothy
 drwxr-xr-x  1001  1001      4096 22-Sep-2020 12:12 nemo
 drwxr-xr-x  1005  1005      4096 19-Jan-2020 11:49 eel
 drwxrwxrwx     0     0      4096 25-Sep-2020 08:08 recovery
...

다음으로 특정 홈 디렉토리로 이동합니다.

drwxr-xr-x  1016  1016      4096 17-Feb-2020 16:40 gino
>drwxr-xr-x  1000  1000     20480 25-Sep-2020 08:00 shs

Enter 키를 눌러 디렉토리로 이동 한 다음 필요에 따라 아래쪽 화살표로 하위 디렉토리를 선택합니다. 실수 한 경우 목록 상단에있는 ...를 선택하여 백업을 만들 수 있습니다.
파일을 찾을 수없는 경우 /를 누르면 (vi에서 검색을 시작할 때처럼) 파일 이름이나 파일의 일부를 입력하라는 메시지가 표시됩니다.

Directory /shs     <== current location
                                                   Previous
...
 -rw-rw-r—  1000  1000       426  8-Apr-2019 19:09 2-min-topics
>-rw-rw-r—  1000  1000     24667  8-Feb-2019 08:57 Up_on_the_Roof.pdf

복구해야하는 파일을 찾으면 "c"를 눌러 선택합니다.
참고 : 화면 하단에 유용한 지침이 표시됩니다.

Use Left arrow to go back, Right to change directory, h to hide deleted files
    q to quit, : to select the current file, a to select all files
    C to copy the selected files, c to copy the current file <==

이때 홈 디렉토리에서 파일을 복원 할 위치를 선택할 수 있습니다 (파일을 원래 위치로 다시 이동하기 전에 좋은 위치에서 체크인 시작에 대한 이전 지침 참조). 이 경우 / home / recovery 디렉토리에는 하위 디렉토리가 없으므로 이것이 복구 지점입니다.
참고 : 화면 하단에 유용한 지침이 표시됩니다.

Please select a destination where /shs/Up_on_the_Roof.pdf will be copied.
Keys: Arrow keys to select another directory
      C when the destination is correct
      Q to quit
Directory /home/recovery    <== recovery location

녹색 "복사 완료! 1 확인, 0 실패"가 표시되면 파일이 복원되었음을 의미합니다.
이 예의 파일은 / home / recovery / shs (시작 디렉토리와 선택한 디렉토리)에 남아 있습니다.
파일을 원래 위치로 다시 이동하기 전에 복원 된 파일이 올바른지 확인해야합니다. 이때 파일은 루트가 소유하므로 원래 소유자 및 그룹도 복원해야합니다.
참고 : 파일 복구 프로세스의 여러 지점에서 quit (q 또는 [Quit])를 사용하여 한 단계를 백업 할 수 있습니다. 종료 옵션을 선택하여 프로세스의 첫 번째 단계로 돌아가거나 ^ c를 선택하여 즉시 종료 할 수도 있습니다.
testdisk로 파일을 복구하는 것은 비교적 쉽지만 다소 복잡합니다. 이러한 상황이 발생하기 전에 연습 할 수 있으므로 실제 문제가있을 때 서두르지 않습니다. A5 상호 연결https://www.a5idc.net/

추천

출처blog.51cto.com/14414732/2540020