현재 하드디스크나 USB 드라이브에서 삭제된 파일과 파티션을 복구하는 프로그램이 매우 다양하게 출시되어 있습니다. 이러한 프로그램들은 모두 하나의 공통된 원리에 기반합니다. 바로 파일 시스템에서 파일이 삭제되더라도, 해당 데이터와 메타데이터는 새로운 파일로 덮어쓰이기 전까지는 물리적 저장 매체에 그대로 남아 있다는 점입니다. PC용 데이터 복구 소프트웨어는 드라이브를 스캔하여 시그니처 분석 또는 미사용 데이터 블록 분석을 통해 삭제된 파일을 찾아냅니다.
그런데 문제는 기존의 클래식한 파일 복구 프로그램들이 SSD(솔리드 스테이트 드라이브)에서는 제대로 작동하지 않는다는 것입니다. 그 이유를 자세히 살펴보겠습니다.
SSD에서의 파일 삭제와 TRIM 명령어
SSD에서 파일을 삭제하는 과정은 기존의 기계식 하드디스크(HDD)와 근본적으로 다릅니다. 파일이 삭제되면 운영체제는 ATA 인터페이스를 통해 TRIM 명령어를 SSD에 전송하여 해당 데이터가 더 이상 필요하지 않음을 알립니다. 그러면 SSD는 해당 셀들을 삭제 대상으로 표시하고, 별도의 가비지 컬렉션(Garbage Collection) 프로세스를 통해 백그라운드에서 모든 셀을 0으로 초기화합니다. 이 덕분에 SSD의 미사용 셀에 빠르게 데이터를 저장할 수 있고, 저장 셀의 수명 저하도 줄일 수 있습니다. 즉, TRIM 명령어는 드라이브가 사용하지 않는 데이터 블록을 물리적으로 즉시 지우도록 강제하는 역할을 합니다.
그 결과로, 어떤 데이터 복구 소프트웨어든 삭제된 데이터가 있던 SSD 셀에서는 0만 확인하게 됩니다. 따라서 SATA 인터페이스로 연결된 SSD 드라이브에서는 삭제된 파일을 복구하는 것이 사실상 불가능합니다. NVMe 방식의 SSD도 마찬가지입니다. NVMe 장치에는 TRIM과 유사한 Deallocate라는 명령어가 존재하며(Windows 8 이상에서 지원), 동일한 방식으로 작동합니다.
Windows에서 SSD 인식 및 TRIM 활성화 조건
Windows는 기본적으로 ATA/IDE/SATA/M.2/PCI Express 인터페이스로 연결되고 AHCI 모드로 작동하는 SSD 드라이브에 대해 TRIM 명령어를 활성화합니다(단, USB 연결은 제외!). 또한 TRIM은 NTFS와 ReFS 파일 시스템에서만 활성화됩니다. 이 조건들이 충족되면 TRIM 명령이 자동으로 실행되며, 파일 시스템에서 파일을 삭제하자마자 SSD의 백그라운드 프로세스가 해당 셀들을 거의 즉시 정리합니다.
macOS에서도 Apple SSD에 대해 APFS 및 HFS+ 파일 시스템 환경에서 TRIM이 기본적으로 활성화되어 있으며, 파일이 삭제되는 즉시 TRIM 명령이 전송됩니다.
SSD에서 삭제된 파일과 파티션을 복구할 수 있는 경우
- SSD가 USB 또는 FireWire 포트를 통해 컴퓨터에 연결된 경우
- 여러 개의 SSD로 구성된 RAID 어레이를 사용하는 경우 (Windows는 이런 스토리지 장치에는 TRIM을 활성화하지 않음)
- 구버전 운영체제를 사용하는 경우: Windows Vista, Windows XP, OS X 10.10.4 이전 버전의 macOS (해당 버전들은 TRIM을 지원하지 않음)
- 운영체제 수준에서 TRIM이 비활성화된 경우
- SSD 자체가 TRIM 명령어를 지원하지 않는 경우 (구형 SSD 모델에서 발생 가능)
- SSD가 NTFS 파일 시스템으로 포맷되지 않은 경우 (예: FAT32, exFAT 등 사용)
EaseUS Data Recovery Wizard로 SSD 데이터 복구하기
그렇다면 TRIM이 활성화된 SSD에서 인기 있는 데이터 복구 소프트웨어인 EaseUS Data Recovery Wizard Free(Mac 및 Windows 버전 제공)를 사용해 삭제된 파일을 복구할 수 있을지 직접 확인해 보겠습니다.
EaseUS Data Recovery Wizard Free 무료 버전은 최대 500MB까지의 삭제된 파일을 복구할 수 있으며, 프로그램을 Facebook이나 Twitter에 공유하면 최대 2GB까지 복구 용량이 확장됩니다.
EaseUS Data Recovery Wizard는 다양한 유형의 드라이브에서 손실된 데이터를 빠르게 복구할 수 있는 최고의 프로그램 중 하나입니다.
주요 기능
- HDD, 메모리 카드, 외장 USB 드라이브에서 데이터 복구
- 삭제 및 빠른 포맷 후 파일 복구
- 파일 시스템 지원: HFS+(macOS), NTFS/NTFS5/ReFS(Windows), ext2/ext3(Linux), FAT/exFAT
- 논리 파티션 복구
전체 기능은 https://www.easeus.com 에서 확인할 수 있습니다.
TRIM 활성화 상태 확인
컴퓨터에 SSD 드라이브가 연결되어 있다고 가정하고, 먼저 PowerShell 명령어로 로컬 디스크(21GB)가 SSD로 인식되는지 확인해 보겠습니다:
Get-PhysicalDisk | Select Number, PhysicalLocation, MediaType, Size
다음으로 TRIM이 활성화되어 있는지 확인합니다:
fsutil behavior query DisableDeleteNotify
아래 결과가 표시되면 TRIM이 활성화된 상태입니다:
NTFS DisableDeleteNotify = 0 (Disabled)
TRIM 활성화 상태에서의 복구 시도
- EaseUS Data Recovery Wizard Free를 다운로드하여 설치합니다. 단, 삭제된 블록이 실수로 덮어쓰이는 것을 방지하려면 반드시 복구하려는 디스크가 아닌 다른 디스크에 프로그램을 설치해야 합니다!
- SSD 드라이브에서 파일 하나를 삭제합니다.
- EaseUS Data Recovery의 데이터 복구 마법사를 실행하여 SSD 드라이브 전체를 정밀 스캔합니다. 스캔이 완료될 때까지 기다립니다. 결과적으로 복구 프로그램은 삭제된 파일을 찾지 못했습니다.
TRIM 비활성화 후의 복구 시도
이번에는 TRIM을 비활성화한 후 다시 시도해 보겠습니다. 아래 명령어를 실행합니다:
fsutil behavior set DisableDeleteNotify 1
TRIM이 성공적으로 비활성화되면 "NTFS DisableDeleteNotify = 1 (Enabled)"이라는 메시지가 표시됩니다.
macOS 환경에서는 다음 명령어로 TRIM을 비활성화할 수 있습니다:sudo trimforce disable
이후 SSD 드라이브에서 다른 파일을 하나 더 삭제하고 EaseUS Data Recovery Wizard로 전체 디스크 스캔을 실행합니다. 이번에는 파일 복구 프로그램이 삭제된 파일을 즉시 찾아내고 복구를 제안합니다.
복구하려는 파일을 선택하고 Recover(복구) 버튼을 클릭합니다. 파일 복구 시에는 원본 드라이브의 메타데이터가 실수로 덮어쓰이지 않도록 다른 디스크를 복구 대상으로 지정하는 것이 좋습니다.
작업이 끝나면 다음 명령어를 실행하여 SSD의 TRIM 모드를 다시 활성화합니다:
fsutil behavior set DisableDeleteNotify 0
결론: TRIM 활성화 SSD에서의 복구는 불가능
결론적으로, TRIM이 활성화된 SSD 드라이브에서는 삭제된 파일을 복구할 수 없습니다. 파일 시그니처 스캔조차 도움이 되지 않습니다.
TRIM 명령이 SSD에 적용되는 것을 방지하려면 다음과 같은 방법을 사용할 수 있습니다:
- USB, FireWire 또는 Thunderbolt 인터페이스를 통해 SSD 장치를 연결
- 운영체제 수준에서 TRIM 비활성화 — 단, 이 경우 SSD의 수명과 최대 쓰기 속도가 저하될 수 있습니다.