Linux에서 삭제된 파일을 복구하는 7가지 방법

Linux에서 삭제된 파일을 복구하는 7가지 방법

파일 복원 유틸리티는 Linux 관리자 툴킷에서 가장 중요한 프로그램 중 하나입니다. 디스크가 물리적으로 손상되었거나 완전히 지워진 경우에도 삭제된 파일을 복구할 수 있는 기능을 제공합니다.

이 가이드는 Linux에 바로 설치할 수 있는 7가지 간단한 파일 복구 도구를 보여줍니다. 또한 시스템에서 기본 파일 복원을 수행하는 방법도 보여줍니다.

파일 관리자를 사용하여 파일 복원

파일을 삭제하면 해당 파일과 기본 데이터 사이의 링크만 삭제됩니다. 물리적 파일 자체는 여전히 손상되지 않았습니다. 이제 공간을 덮어쓸 수 있음을 운영 체제에 알릴 뿐입니다.

또한 오늘날 대부분의 데스크톱 환경에서는 디스크에서 파일을 직접 삭제하는 것을 방지합니다. 대신 삭제된 파일을 휴지통(또는 Windows의 휴지통)으로 옮기면 쉽게 복구할 수 있습니다.

Linux의 휴지통 폴더를 보여주는 이미지.

데스크톱의 휴지통 폴더에 액세스하여 Linux에서 파일을 복구할 수 있습니다.

  • 을 누른 Win다음 “파일”을 입력합니다.
파일 애플리케이션의 스냅샷입니다.
  • 파일 관리자의 왼쪽 사이드바에서 “휴지통” 항목을 클릭합니다.
Linux의 휴지통 폴더를 보여주는 그림.
  • 복원하려는 파일을 마우스 오른쪽 버튼으로 클릭하고 “휴지통에서 복원”을 선택합니다.
Linux에서 복원 프롬프트를 표시하는 창.

1. 테스트 디스크

Testdisk 는 Linux에서 가장 널리 사용되는 파일 복구 도구 중 하나입니다. 거의 모든 디스크에서 누락된 파티션을 복구할 수 있는 강력한 터미널 프로그램입니다. 파티션 테이블 데이터를 찾는 동안 디스크의 모든 실린더를 통과하여 작동합니다.

Testdisk의 매뉴얼 페이지를 보여주는 창.

즉, Testdisk는 파일 시스템을 완전히 지운 후에도 파일 시스템을 복원할 수 있습니다. 이는 실수로 디스크를 포맷하고 내부 파티션 테이블을 삭제한 경우에도 유용할 수 있습니다.

  • 다음 명령을 실행하여 Ubuntu 및 Debian에 Testdisk를 설치합니다.

sudo apt install testdisk

Testdisk 설치를 보여주는 창.
  • sudo testdisk컴퓨터의 터미널 창에 입력하여 프로그램을 실행하십시오.
Testdisk 메뉴를 보여주는 창.
  • “만들기”를 선택하여 현재 세션의 로그를 저장하고 싶다고 Testdisk에 알리십시오.
생성 옵션이 강조 표시된 창.
  • 복구할 디스크를 선택합니다. 제 경우에는 “/dev/sda”입니다.
사용 가능한 디스크 장치를 보여주는 창.
  • 디스크의 파티션 테이블 유형을 선택하십시오.
사용 가능한 모든 파티션 유형을 보여주는 창.
  • 현재 파티션 레이아웃과 일치하지 않는 디스크를 스캔하려면 “분석”을 선택하십시오.
분석 프롬프트를 표시하는 창.
  • 파티션 검색 프로세스를 시작하려면 “빠른 검색” 옵션을 선택하십시오.
시스템의 현재 파티션을 보여주는 창.
  • EnterTestdisk의 기본값을 수락하려면 누릅니다 .
Testdisk가 찾은 파티션을 보여주는 창.
  • 새 파티션 레이아웃을 저장하려면 “쓰기”를 선택하십시오.
복구된 파티션을 보여주는 창.

장점

  • 전체 디스크 파티션 복원
  • 부팅할 수 없는 운영 체제로 디스크 수정

단점

  • 개별 파일을 복원할 수 없습니다.
  • 파티션을 복원해도 내용이 그대로 유지된다는 보장은 없습니다.

2. 포토렉

Photorec 은 Linux에서 데이터 카빙을 통해 파일을 복구할 수 있는 간단한 도구입니다. 삭제된 파일의 내용을 찾기 위해 프로그램이 디스크의 원시 바이트를 읽는 프로세스입니다.

Photorec의 매뉴얼 페이지를 보여주는 스크린샷.

Photorec의 가장 큰 장점 중 하나는 종종 Testdisk 패키지와 함께 번들로 제공된다는 것입니다. 파일 복원을 시작하기 위해 추가 유틸리티 및 종속성을 설치할 필요가 없습니다.

  • Photorec을 실행하여 데이터 복원을 시작하십시오.

sudo photorec

  • 복원하려는 파일이 포함된 디스크를 강조 표시한 다음 “진행”을 선택합니다.
사용 가능한 디스크를 보여주는 스크린샷.
  • “[전체 디스크]” 옵션을 선택한 후 를 누릅니다 Enter.
파티션 옵션을 보여주는 스크린샷.
  • 처음에 삭제된 파일을 보관했던 파일 시스템을 선택하십시오.
Photorec에 사용 가능한 파일 시스템을 보여주는 스크린샷.
  • Photorec에 “복구 디렉토리”를 제공하십시오. 하나를 선택하려면 화살표 키를 사용하여 대상 디렉토리로 이동한 다음 키를 누릅니다 C.
출력 디렉토리 프롬프트를 보여주는 스크린샷.

장점

  • 복구 알고리즘이 빠름
  • 다양한 파일 시스템 형식 처리

단점

  • 복구는 솔리드 스테이트 드라이브에 불리할 수 있습니다.
  • 파일을 저장하려면 별도의 파일 시스템이 필요합니다.

3. 메스

Scalpel은 정규식을 사용하여 Linux 디스크에서 손실된 파일을 복구하는 빠르고 효율적인 프로그램입니다. Photorec과 유사하게 Scalpel은 디스크를 살펴보고 기존 데이터의 존재를 나타낼 수 있는 바이트 패턴을 찾습니다.

Scalpel 매뉴얼 페이지를 보여주는 스크린샷.

Scalpel의 장점 중 하나는 정규식을 사용하여 프로그램이 복구할 항목을 미세 조정할 수 있으므로 유사한 프로그램에 비해 시간이 훨씬 적게 걸린다는 것입니다.

  • 다음 명령을 실행하여 Ubuntu 및 Debian에 Scalpel을 설치합니다.

sudo apt install scalpel

메스 설치 과정을 보여주는 스크린샷.
  • Scalpel의 기본 구성 파일을 홈 디렉터리에 복사합니다.

cp /etc/scalpel/scalpel.conf /home/$USER/

  • 텍스트 편집기를 통해 Scalpel.conf 파일을 엽니다.

nano /home/$USER/scalpel.conf

  • 복구하려는 파일 확장자가 있는 줄의 주석을 제거하십시오.
메스에 사용할 수 있는 필터를 보여주는 스크린샷.
  • 다음 명령을 사용하여 Scalpel을 실행합니다.

sudo scalpel -c /home/$USER/scalpel.conf -o /home/$USER/out /dev/sdb1

메스 복구 프로세스를 보여주는 스크린샷.

장점

  • 장치 파일과 디스크 이미지 모두에서 실행
  • 복구하려는 파일 형식을 필터링할 수 있습니다.

단점

  • 구성 파일이 혼동될 수 있음
  • 파일 형식을 감지하는 데 신뢰할 수 없음

FYI: Scalpel은 원래 인기 있는 Foremost 유틸리티의 포크로 시작되었습니다. 원래 Foremost 프로그램을 사용하여 Linux에서 파일을 복원하는 방법을 알아보세요.

4. 구조

ddrescue 는 영리한 알고리즘을 사용하여 전체 디스크 장치의 내용을 보존하는 강력한 데이터 복원 유틸리티입니다. 데이터 카버와 달리 ddrescue의 주요 목표는 가능한 한 정확하게 데이터를 복구하고 보존하는 것입니다.

ddrescue 매뉴얼 페이지를 보여주는 스크린샷.

기본적으로 ddrescue는 이 접근 방식으로 디스크 파일에서 파일을 추출하지 않습니다. 오히려 디스크의 현재 상태에 대한 “스냅샷”을 생성하므로 간헐적으로 고장난 하드 드라이브에서 데이터를 추출하는 경우에 유용할 수 있습니다.

  • 다음 명령을 실행하여 Ubuntu 및 Debian에 ddrescue를 설치할 수 있습니다.

sudo apt install gddrescue

  • 디스크 내용 보존을 시작하십시오. 예를 들어, 다음 명령은 “/dev/sdb” 디스크 장치에서 이미지 파일을 생성합니다.

sudo ddrescue /dev/sdb /home/$USER/sdb.img /home/$USER/sdb.map

ddrescure 복원 프로세스를 보여주는 스크린샷.
  • 플래그 를 사용하여 스냅샷의 무결성을 확인합니다 -I.

sudo ddrescue -I /dev/sdb /home/$USER/sdb.img /home/$USER/sdb.map

ddrescue에서 파일 시스템 검사를 보여주는 스크린샷.

장점

  • 디스크의 정확한 복제본 생성
  • 하드 드라이브의 불량 섹터 건너뛰기

단점

  • 누락된 파일을 직접 복구하지 않습니다.
  • 대용량 하드 디스크에서는 속도가 느릴 수 있습니다.

5. 팻캣

Fatcat 은 Linux에서 FAT 유형 파일 시스템 내부의 파일을 복구할 수 있는 경량 프로그램입니다. 여기에는 최신 FAT32까지 이전 FAT12 형식이 포함됩니다. Fatcat은 오래된 하드 디스크에서 데이터를 복원하는 훌륭한 도구가 될 수 있습니다.

fatcat 매뉴얼 페이지의 스크린샷.

Fatcat의 가장 좋은 기능 중 하나는 FAT 유형 디스크의 휴대용 파일 탐색기가 될 수 있다는 것입니다. 콘텐츠에 액세스하고 복원하기 위해 이미지 파일을 추출할 필요가 없습니다.

  • 다음 명령을 실행하여 Ubuntu 및 Debian에 Fatcat을 설치합니다.

sudo apt install fatcat

fatcat 설치 과정을 보여주는 스크린샷.
  • ddrescue를 사용하여 FAT 파티션의 이미지 파일을 만듭니다.

sudo ddrescue /dev/sdb1 /home/$USER/fat.img /home/$USER/fat.map

지방 이미징 과정을 보여주는 스크린샷.
  • 루트를 나열하여 FAT 이미지의 내용을 확인합니다.

sudo fatcat /home/$USER/fat.img -l / -d

이미지 파일의 내용을 보여주는 스크린샷.
  • 자신의 파일 시스템에서 FAT 파티션의 내용을 덤프하십시오.

sudo fatcat /home/$USER/fat.img -x /home/$USER/output -d

fatcat 추출 과정을 보여주는 스크린샷.

장점

  • FAT 파티션의 내용을 즉시 로드합니다.
  • 손상된 FAT 파일 시스템 수정

단점

  • exFAT를 지원하지 않습니다
  • 개별 디렉토리 복원은 까다로울 수 있습니다.

6. Ntfsundelete

Ntfsundelete 는 Linux의 NTFS 파일 시스템에서 파일을 복구하고 복구할 수 있는 유틸리티입니다. Fatcat과 마찬가지로 Ntfsundelete는 전체 디렉터리와 디스크뿐만 아니라 개별 파일도 복구할 수 있습니다.

ntfsundelete 매뉴얼 페이지를 보여주는 스크린샷.

ntfs-3gNtfsundelete 는 Linux의 NTFS에 대한 호환성 계층 역할을 하는 패키지 에 포함되어 있으므로 기본적으로 대부분의 Linux 배포판에 있습니다 .

  • ddrescue를 사용하여 NTFS 파티션의 이미지 파일을 만듭니다.

sudo ddrescue /dev/sdb1 /home/$USER/ntfs.img /home/$USER/ntfs.map

  • 콘텐츠를 나열하여 이미지 파일의 일관성을 테스트합니다.

sudo ntfsundelete /home/$USER/ntfs.img

ntfs 이미지 파일의 내용을 보여주는 스크린샷.
  • 디스크 이미지에서 데이터를 복구합니다. 예를 들어 다음 명령은 디스크 이미지에서 모든 ZIP 파일을 복원합니다.

sudo ntfsundelete /home/$USER/ntfs.img -u -m '*.zip*' -d /home/$USER/output

ntfsundelete의 추출 과정을 보여주는 스크린샷.

장점

  • 대부분의 Linux 배포판의 핵심 부분
  • 개별 파일 복원

단점

  • 장치 파일에 대해 신뢰할 수 없음
  • 복원된 파일 이름은 원본과 다를 수 있습니다.

7. Ext4매직

FAT 및 NTFS 파티션 내부의 파일을 복원하는 것 외에도 Linux의 Ext 파일 시스템에서 파일을 복구하는 것도 가능합니다. Ext4magic은 Ext3 또는 Ext4 파일 시스템에서 거의 모든 파일의 삭제를 취소할 수 있는 강력한 프로그램입니다.

ext4magic의 매뉴얼 페이지를 보여주는 스크린샷.

Ext4magic의 장점 중 하나는 날짜 범위를 사용하여 파일을 복구할 수 있다는 것입니다. 이는 원본 파일의 정확한 파일 이름과 유형을 기억할 수 없는 경우에 유용할 수 있습니다.

  • 다음 명령을 실행하여 Ubuntu 및 Debian에 Ext4magic을 설치합니다.

sudo apt install ext4magic

ext4magic의 설치 프로세스를 보여주는 스크린샷.
  • ddrescue를 사용하여 디스크의 파티션 이미지를 만듭니다.

sudo ddrescue /dev/sdb1 /home/$USER/ext.img /home/$USER/ext.map

  • ext4magic을 사용하여 삭제된 파일을 복원합니다. 예를 들어 다음 명령은 Ext4 디스크의 모든 파일을 복원합니다.

sudo ext4magic -M /home/$USER/ext.img

ext4magic의 추출 과정을 보여주는 스크린샷.

장점

  • 저널 파일을 사용하여 파일 복원 지원
  • 파일 시스템에서 문제를 검사합니다.

단점

  • 날짜 범위 옵션은 UNIX epoch 형식을 사용합니다.
  • 이전에 삭제된 파일은 신뢰할 수 없음

자주 묻는 질문

스캔 후에도 Photorec이 여전히 내 파일을 찾을 수 없으면 어떻게 해야 합니까?

경우에 따라 Photorec의 첫 번째 복구 패스에서 중요한 바이트 데이터가 누락될 수 있습니다. 이 문제를 해결하려면 첫 번째 통과 후 “심층 검색” 옵션을 선택하여 Photorec에 재스캔을 지시합니다.

Scalpel에서 모든 파일 확장자 필터를 활성화해도 괜찮습니까?

예. 그러나 “scalpel.conf”의 일부 파일 형식 항목이 많은 잘못된 긍정을 생성할 수 있으므로 Scalpel의 효율성이 감소합니다. 특정 검사에 필요한 옵션만 활성화하는 것이 좋습니다.

Fatcat으로 FAT 이미지 파일을 열 수 없는 이유는 무엇입니까?

이는 이미지 파일과 Fatcat이 예상하는 형식이 일치하지 않기 때문일 가능성이 큽니다. 이 문제를 해결하려면 전체 디스크가 아닌 FAT 파일 시스템이 포함된 파티션에서 ddrescue를 실행하십시오.

이미지 크레디트: Unsplash . Ramces Red의 모든 변경 및 스크린샷.

  • 페이스북
  • 트위터

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다