리눅스 삭제된 데이터 복원하기 (extundelete)

리눅스/OS 일반|2021. 1. 25. 12:29
반응형

[환경]

Ubuntu 18.04 LTS

OS 디스크 : SSD 250G

추가 디스크 : SATA 80G



[상황]

OS 디스크 I/O error 로 인해 교체, OS 재설치가 필요하게 되었습니다.

어차피 파쇄될 디스크지만 몇몇개의 데이터 정보 유출이 우려되어 OS 디스크의 다운로드 디렉토리와 몇가지 필요없는 파일을 수동으로 삭제하며 정리하는 도중 추가 디스크의 디렉토리를 잘못 삭제하였고, 휴지통에서 조차 비워버린 상태가 되었습니다. (모든 데이터 날아감)

(중요!!) 추가 디스크의 데이터를 안전하게 보존해야 하므로 추가 디스크에 더 이상 파일을 저장하거나 쓰면 안됩니다.



[복구]

새 OS 디스크로 교체, OS 재설치 (Ubuntu 18.10) 이후 아래 명령을 이용하였습니다.


복구에 필요한 패키지를 설치합니다.


root@cdh-desktop:~# apt -y install extundelete

root@cdh-desktop:~# apt -y install e2fslibs-dev


복구될 데이터를 저장할 디렉토리로 이동합니다.


root@cdh-desktop:~# mkdir /root/restore

root@cdh-desktop:~# cd /root/restore


삭제 파일이 있는 파티션을 지정하여 복구를 시도 합니다.

(복구 대상 디스크는 마운트가 되지 않은 상태 입니다.)


root@cdh-desktop:~/restore# extundelete /dev/sdb1 --restore-all

NOTICE: Extended attributes are not restored.

Loading filesystem metadata ... 597 groups loaded.

Loading journal descriptors ... 30268 descriptors loaded.

Searching for recoverable inodes in directory / ... 

6605 recoverable inodes found.

Looking through the directory structure for deleted files ... 

6 recoverable inodes still lost.


복구가 완료 되었습니다. 오래전에 삭제한 파일도 복구가 되어 정리를 좀 해야 하지만 다른 프로그램 과는 달리 파일명도 inode 값이 아닌 사용하던 그대로 보입니다.

감격.. ㅜ.ㅜ


(복구된 용량 확인)

root@cdh-desktop:~/restore# du -sh .

36G .


(파일 리스트 보기)

root@cdh-desktop:~/restore# ll

total 12

drwxr-xr-x 3 root root 4096  1월 25 11:58 ./

drwx------ 8 root root 4096  1월 25 11:54 ../

drwxr-xr-x 4 root root 4096  1월 25 12:10 RECOVERED_FILES/

root@cdh-desktop:~/restore# cd RECOVERED_FILES/

root@cdh-desktop:~/restore/RECOVERED_FILES# ll

total 192

drwxr-xr-x 4 root root  4096  1월 25 12:10 ./

drwxr-xr-x 3 root root  4096  1월 25 11:58 ../

drwxr-xr-x 5 root root  4096  1월 25 12:05 .Trash-1000/

drwxr-xr-x 2 root root  4096  1월 25 12:10 ISOs/

-rw-r--r-- 1 root root   527  1월 25 12:10 elcplist.dll

-rw-r--r-- 1 root root 27177  1월 25 12:10 file.4726321

-rw-r--r-- 1 root root 27570  1월 25 12:10 file.4726366

-rw-r--r-- 1 root root 24823  1월 25 12:10 file.4726383

-rw-r--r-- 1 root root 25899  1월 25 12:10 file.4726390

-rw-r--r-- 1 root root 43924  1월 25 12:10 file.4726400

-rw-r--r-- 1 root root 12716  1월 25 12:10 file.4726403

root@cdh-desktop:~/restore/RECOVERED_FILES# cd .Trash-1000/

root@cdh-desktop:~/restore/RECOVERED_FILES/.Trash-1000# ll

total 20

drwxr-xr-x 5 root root 4096  1월 25 12:05 ./

drwxr-xr-x 4 root root 4096  1월 25 12:10 ../

drwxr-xr-x 3 root root 4096  1월 25 12:05 expunged/

drwxr-xr-x 6 root root 4096  1월 25 12:05 files/

drwxr-xr-x 2 root root 4096  1월 25 12:00 info/

root@cdh-desktop:~/restore/RECOVERED_FILES/.Trash-1000# ll expunged/1651618508

total 1388

drwxr-xr-x 25 root root    4096  1월 25 12:06  ./

drwxr-xr-x  3 root root    4096  1월 25 12:05  ../

drwxr-xr-x  2 root root    4096  1월 25 12:05  G클라우드/

drwxr-xr-x 11 root root    4096  1월 25 12:05  ISMS/

-rw-r--r--  1 root root   45798  1월 25 12:05 'bookmarks_19. 1. 28.html'

drwxr-xr-x  2 root root    4096  1월 25 12:05  견적서/

drwxr-xr-x  9 root root    4096  1월 25 12:05  기술지원팀/

drwxr-xr-x  3 root root    4096  1월 25 12:05  네트워크팀/

drwxr-xr-x  3 root root    4096  1월 25 12:05  매니지드팀/

drwxr-xr-x  7 root root   12288  1월 25 12:06  보고서/

drwxr-xr-x  3 root root    4096  1월 25 12:05  보안관제/

drwxr-xr-x  2 root root    4096  1월 25 12:05  서식/

drwxr-xr-x 11 root root    4096  1월 25 12:05  인프라운영팀/



반응형

댓글()