← 전체 글 보기

SSD에서 지운 파일 복구가 어려운 이유와 처음 몇 분에 할 일

2026년 8월 30일 · DiskRescue 블로그

지운 파일을 되찾으려고 검색하면 "삭제해도 데이터는 디스크에 그대로 남아 있으니 당황하지 마세요"라는 설명이 제일 먼저 나옵니다. 그건 하드디스크 이야기입니다. 파일이 사라진 곳이 노트북 내장 SSD나 NVMe라면 사정이 완전히 다릅니다. 저녁에 시간 날 때 차분히 복구 프로그램을 돌려 보겠다는 계획, 일단 조각 모음이나 드라이브 최적화부터 해 보자는 판단이 SSD에서는 남아 있던 것까지 없애는 방향으로 작동합니다.

빠른 답: SSD는 삭제 직후 TRIM 명령으로 주소 대응표를 끊어 버려, 데이터가 남아 있어도 밖에서는 0으로 읽힙니다. 다만 TRIM이 나가지 않는 상황도 있어서, 스캔해 보기 전에는 결과를 알 수 없습니다.

삭제 버튼을 누른 순간 SSD 안에서 벌어지는 일

SSD는 낸드 플래시에 데이터를 곧바로 덮어쓰지 못합니다. 새로 쓰려면 블록을 통째로 비우는 과정이 먼저인데 이게 느립니다. 그래서 미리 비워 둘 자리를 알려 주려고 만든 명령이 TRIM입니다. 파일이 지워지면 윈도우가 드라이브에 "이 주소들은 이제 안 쓴다"고 알려 줍니다. SATA에서는 TRIM, NVMe에서는 Deallocate라고 부르지만 하는 일은 같습니다.

통보를 받은 컨트롤러는 두 가지를 하는데, 시점이 다릅니다. 먼저 논리 주소와 실제 낸드 위치를 이어 주던 대응표에서 그 항목을 끊습니다. 셀을 실제로 소거하는 일은 나중에 한가할 때 가비지 컬렉션이 처리합니다.

복구에 치명적인 쪽은 대응표를 끊는 첫 번째입니다. 대응표가 끊긴 주소를 읽으면 요즘 SSD 대부분은 0을 돌려줍니다. 0 대신 일정한 고정값을 내놓는 제품도 있습니다. 셀에 전하가 그대로 남아 있어도 바깥에서는 빈 공간으로만 보인다는 뜻입니다. 하드디스크에서 통하던 "전원부터 빨리 뽑아 덮어쓰기를 막는다"가 여기서 힘을 못 쓰는 이유가 이것입니다. 소거가 아직 안 끝났어도 이미 0으로 읽히면 읽어 낼 게 없습니다. 심층 스캔이 소용없는 경우도 같은 사정입니다. 카빙은 섹터를 훑어 JPG 머리글 같은 흔적을 찾는 방식인데, 0으로 채워진 구역에는 찾을 흔적이 없습니다.

다만 이 동작이 모든 SSD에서 똑같지는 않습니다. 대응표를 끊고도 읽으면 예전 내용이 그대로 나오는 오래된 제품이 아직 남아 있습니다. 내 드라이브가 어느 쪽인지는 사양표만 봐서는 알기 어렵고, 실제로 읽어 봐야 드러납니다.

TRIM이 나가는 순간

TRIM은 운영체제가 "이 자리 반납한다"고 판단할 때만 나갑니다. 휴지통 비우기, Shift+Delete, 파티션 삭제가 여기에 해당합니다. 빠른 포맷은 더 넓어서 볼륨 전체 주소에 한 번에 통보가 갑니다.

여기까지는 사용자가 의도한 삭제입니다. 정작 위험한 건 삭제와 무관해 보이는 쪽입니다. 윈도우의 드라이브 최적화는 SSD에서 조각 모음이 아니라 리트림으로 동작합니다. 빈 공간 전체에 TRIM을 다시 뿌리는 작업이고, 윈도우는 이걸 기본적으로 주 1회 예약해 둡니다. 버튼을 누르지 않아도 예약된 시각이 되면 알아서 돈다는 뜻입니다. 하드디스크 기준 안내문에서 조각 모음은 "데이터를 옮기다 덮어쓸 수 있으니 피하라" 정도지만, SSD에서는 최적화 한 번이 남아 있던 흔적을 정리해 버립니다.

내 드라이브에서 TRIM이 켜져 있는지는 명령 프롬프트에서 fsutil behavior query DisableDeleteNotify로 확인합니다. NTFS 값이 0이면 켜진 상태입니다. 이름에 부정이 두 번 들어가 헷갈리는데, 0은 "삭제 통보를 끄지 않았다", 즉 TRIM이 동작 중이라는 뜻입니다. 확인용일 뿐이라 지금 끈다고 이미 나간 TRIM이 되돌아오지는 않습니다.

SSD인데도 복구되는 경우

"SSD는 복구가 안 된다"도 사실과 다릅니다. 위에 해당하지 않아 TRIM이 닿지 않은 상황이 생각보다 흔합니다.

  • USB 외장 케이스에 넣은 SSD. USB-SATA 브리지 칩이 TRIM을 뒤로 넘기려면 UASP 지원에 더해 명령 변환까지 제대로 구현돼 있어야 합니다. 두 조건을 다 만족하는 케이스는 드물어서, 외장으로 쓰던 SSD는 TRIM이 아예 닿지 않은 경우가 대부분입니다. 이런 드라이브의 삭제 파일은 하드디스크와 비슷하게 남아 있는 편입니다.
  • 지운 게 아니라 고장난 경우. 포맷하라는 창이 뜨거나 RAW로 바뀌었거나 파티션이 사라진 상태는 삭제가 아닙니다. 파일을 지운 적이 없으니 TRIM도 나가지 않았고, 데이터 블록은 여전히 사용 중으로 남아 있습니다. SSD 사고 중에서는 오히려 승산이 있는 쪽입니다.
  • 아직 휴지통 안에 있는 파일. 휴지통으로 보내는 건 숨김 폴더로 옮기는 것이라 자리를 반납하지 않습니다.
  • 원본 말고 사본이 남은 경우. TRIM과는 별개로 다른 자리에 복사본이 있을 수 있습니다. 시스템 보호가 켜져 있었다면 폴더 속성의 [이전 버전] 탭에 남아 있고, 윈도우를 업그레이드했거나 초기화한 직후라면 C:\Windows.old\Users 아래에 이전 사용자 폴더가 통째로 있습니다. 업그레이드 후 10일이 지나면 대부분 자동으로 지워지므로 남았는지부터 봅니다.
  • 아주 작은 파일. NTFS는 수백 바이트짜리 파일을 MFT 기록 안에 통째로 넣습니다. MFT가 쓰는 영역은 파일을 지워도 빈 공간으로 반납되지 않아 TRIM 대상에서 빠집니다. 메모나 설정 파일이 이 경로로 살아남기도 합니다.

처음 몇 분에 할 일

  1. 그 드라이브에 쓰는 동작을 멈춥니다. C: 드라이브에서 지웠다면 브라우저, 윈도우 업데이트, 백신 검사까지 전부 쓰기입니다.
  2. 최적화, 조각 모음, 디스크 정리, chkdsk는 실행하지 않습니다. [드라이브 조각 모음 및 최적화] 창을 열어 해당 드라이브의 예약도 꺼 둡니다. 누르지 않아도 저절로 도는 쪽이라 이것부터 막습니다.
  3. 클라우드 휴지통을 먼저 봅니다. OneDrive는 웹 휴지통에 30일간 따로 보관하고(개인 계정 기준) 구글 드라이브 휴지통도 30일입니다. 로컬에서 사라진 파일이 여기 살아 있는 경우가 흔하고, 확인에 몇 초면 됩니다. 휴지통이 가득 차면 30일을 못 채우고 오래된 것부터 지워지므로 미룰 이유가 없습니다.
  4. 앞에서 짚은 [이전 버전] 탭과 Windows.old를 여기서 확인합니다. 나오면 복구 프로그램이 필요 없습니다.
  5. 그래도 없으면 스캔합니다. 복구 프로그램은 파일을 잃은 드라이브가 아닌 다른 드라이브에 설치하고, 꺼낸 파일도 다른 드라이브에 저장합니다.
  6. 대상이 C: 드라이브이고 파일 가치가 크다면, PC를 끄고 SSD를 빼서 다른 PC에 USB 어댑터로 붙이는 쪽이 안전합니다. 그 상태에서는 윈도우가 그 드라이브에 아무것도 쓰지 않습니다. 이미 나간 TRIM을 되돌리는 조치는 아니고, 아직 안 나간 것을 지키는 조치입니다.

소프트웨어가 손댈 수 없는 지점

BIOS나 디스크 관리 화면에 아예 뜨지 않는 SSD, 인식됐다 사라지기를 반복하는 SSD는 컨트롤러나 전원부 쪽 문제일 수 있습니다. 이 상태는 복구 프로그램의 영역이 아닙니다. 전원을 넣었다 뺐다 반복하는 시도가 상황을 더 나쁘게 만들기도 하니, 데이터 가치가 크면 전문 복구 업체에 맡기는 편이 낫습니다.

TRIM이 지나간 자리도 마찬가지로 소프트웨어 밖의 일입니다. 게다가 요즘 SSD 상당수는 컨트롤러가 내부 키로 데이터를 암호화해 저장하기 때문에, 낸드 칩을 떼어 내 직접 읽어도 원문으로 돌아오지 않습니다.

DiskRescue 무료 평가판으로 확인할 수 있는 것

DiskRescue 평가판은 가입이나 SNS 공유 없이 내려받아 바로 실행합니다. 윈도우 10과 11(64비트)에서 동작합니다.

스캔은 읽기 전용이라 대상 디스크에 아무것도 쓰지 않습니다. 스캔 자체가 남은 데이터를 건드릴 걱정은 없다는 뜻입니다. 정상 인식되는 NTFS 드라이브라면 삭제된 파일을 원래 이름과 폴더 위치 그대로 찾아 주므로, TRIM이 닿지 않은 외장 SSD에서는 이 방식이 가장 깔끔하게 나옵니다. RAW로 바뀌었거나 포맷하라고 뜨는 드라이브는 파일시스템을 건너뛰고 내용을 기준으로 찾습니다. 이때는 이름과 폴더 구조 대신 파일 내용만 복원됩니다.

인식이 들쭉날쭉한 디스크라면 통째로 .img 파일에 백업해 두고 그 백업본에서 복구하는 DiskRescue의 2단계 방식을 씁니다. 원본을 한 번만 읽고 끝내는 방법이라 부담이 적습니다. 백업 파일은 원본 용량만큼 빈 공간을 요구합니다.

스캔이 끝나면 목록에서 미리보기로 실물을 확인합니다. 여기까지가 무료이고, 파일이 보이면 크기 제한 없이 20개까지 그대로 저장할 수 있습니다. 목록이 비어 있다면 TRIM이 지나갔을 가능성이 큽니다. 대상 드라이브를 제대로 골랐는지, 파일시스템이 NTFS가 맞는지도 함께 확인해 봅니다. 그 자리를 다른 파일이 이미 덮어썼거나, 디스크 읽기 자체가 실패하는 중일 수도 있습니다. 어느 쪽인지는 목록을 받아 보고 나서야 갈립니다. 원본을 읽기만 하는 작업이니 판단은 그 목록을 보고 내리면 됩니다.

해외 복구 프로그램과 비교하면

평생 라이선스 기준으로 DiskRescue는 아래 해외 유명 복구 제품의 약 1/6 가격이고, 한 번 결제 후 자동 갱신 없이 평생 사용할 수 있습니다.

DiskRescue EaseUS Data Recovery Wizard Pro Disk Drill PRO
가격 평생 29,900원 — 출시 가격 평생 180,900원 (연간 120,900원) 평생 약 226,000원 (연간 약 135,000원)
결제 방식 한 번 결제 · 평생 사용 — 자동갱신 없음 월·연·평생 라이선스 중 선택 연·평생 라이선스 중 선택
무료로 되는 것 미리보기 후 20개 무료 복구 (크기 제한 없음 · 공유·가입 없이) 미리보기 후 500MB 복구 (SNS 공유 시 2GB) 미리보기 후 100MB 복구
고장 디스크 복구
지운 파일 복구
파일 완전삭제 — (기능 목록에 없음)

가격·기능·무료 한도는 각 공식 사이트(Windows 버전) 기준(2026-07-14 확인)이며, 할인·환율·정책에 따라 달라질 수 있습니다. 가격 비교는 DiskRescue 출시 가격(29,900원)과 각 사 정가 기준입니다. EaseUS 무료 한도는 기본 500MB이며 SNS 공유 시 2GB까지 확대됩니다(kb.easeus.com). Disk Drill 무료 한도는 공식 표기 100MB입니다(cleverfiles.com). Disk Drill 원화는 1,517원/USD(2026-07-09 확인) 환산 기준입니다.

함께 읽으면 좋은 글