많은 복구 불가 글이 디스크 전체를 지우는 것을 이야기 하고 있는데,
본 글은 디스크를 쓰고 있으며 (즉 윈도등이 깔려 있고), 사용하고 있는 파일이 있는 상태에서 남은 부분만 복구 불가 하게 지우는 글입니다.
일반적으로 파일 삭제를 하면, 목록만 지우고, 그 실제 데이타가 있던 부분은 그대로 있기에 복구(포렌식)가 가능 합니다.
이 방법은 사용 중인 디스크에서
⚡ 목록만 지우고 실제 남어 있던 데이타가 있어 복구가 가능 하던것을 빈 공간을 완전히 채워 복구 할 수 없게 하는 것 입니다..
📌 목차
- 들머리
- 준비물
- 복사할 파일
- 실행 BAT 파일
- 실행 방법
- 휴지통 비우기
- 파일 다운로드 / 압축 풀기
- BAT 실행
- 디스크가 가득 찼는지 확인
- 작업 파일 정리
💡 1. 들머리
전체 하드디스크를 완전히 지우는 방법은 많지만,
이미 사용 중인 하드에서 “빈 공간만” 완전히 지워서 복구를 막는 방법은 잘 설명된 자료가 없습니다.
어디서 잠깐 일하고 나올때, 퇴사때 혹시 내 정보가 들어 있는 것이 유출이 걱정 될때 필요 한데 말입니다.
이에 하나 만들었읍니다.
이 방법은 삭제된 파일이 남아있는 빈 공간을
무작위 큰 파일로 채워 덮어쓰기 하는 원리입니다.
디스크가 가득 채워지면 이전 데이터는 복구가 어려워집니다.
바쁘신 분들은 "3. 실행"을 보시고,
혹시 코드등 자세한 설명이 궁금 하시면, "2. 준비물" 부터 보셔요.
📦 2. 준비물 (첨부 파일: FillDisk.zip)
✅ 복사할 파일 (3가지 용량)
| f1k.out | 1KB |
| f1m.out | 1MB |
| f500m.out | 500MB |
첨부 zip에는 1KB 파일만 들어있고,
배치 실행 시 자동으로 1MB / 500MB 파일을 생성합니다.
✅ 실행 배치 파일
📄 _FillDisk.cmd
이 bat 파일은 크게 두 부분으로 구성됩니다:
🔹 1) 기본 파일로 큰 파일 만들기
기본 파일 (f1k.out) 로부터 두개 필요 파일 ( f1m.out, f500m.out ) 을 만듭니다.
copy /b f1k.out+f1k.out+f1k.out+f1k.out+f1k.out f5k.out
copy /b f5k.out+f5k.out+f5k.out+f5k.out+f5k.out f25k.out
copy /b f25k.out+f25k.out+f25k.out+f25k.out fhk.out
copy /b fhk.out+fhk.out+fhk.out+fhk.out+fhk.out f5hk.out
copy /b f5hk.out+f5hk.out f1m.out
copy /b f1m.out +f1m.out +f1m.out +f1m.out +f1m.out f5m.out
copy /b f5m.out +f5m.out +f5m.out +f5m.out +f5m.out f25m.out
copy /b f25m.out +f25m.out +f25m.out +f25m.out fhm.out
copy /b fhm.out +fhm.out +fhm.out +fhm.out +fhm.out f500m.out
🔹 2) 생성된 파일을 무한 복사해서 디스크 공간 채우기
만들어진 3개의 복사할 파일을 엄청 많이 ( 500 x 500x 500x 500x 500x 500 번 인가 ? ) 복사 합니다.
rem set file name to be copyed,
set _f1kilo=f1k.out
set _f1mega=f1m.out
set _f500m=f500m.out
rem variables to be count
set /a _fcnt=0
set /a _d1cnt=0
set /a _d2cnt=0
set /a _d3cnt=0
set /a _d4cnt=0
set /a _d5cnt=0
set /a _d6cnt=0
set /a _cntMax=500
:_loop101
cls
echo.
if %_fcnt% EQU 0 (
set _subd=
set _subd=d%_d6cnt%\d%_d5cnt%\d%_d4cnt%\d%_d3cnt%\d%_d2cnt%\d%_d1cnt%
echo %_subd%
set _daa=
set _dbb=
set _dcc=
goto _loop103
:_loop102
echo daa=%_daa% , dbb=%_dbb% , dcc=%_dcc%
if "AA"%_daa% NEQ "AA" goto :_loop105
:_loop103
set _daa=zzz\z5\%_subd%
set _dbb=zzz\zm\%_subd%
set _dcc=zzz\zk\%_subd%
rem sometime _daa is unwanted NULL so goback. then next time it becomes not NULL
if "AA"%_daa% EQU "AA" goto :_loop102
:_loop105
echo daa=%_daa% , dbb=%_dbb% , dcc=%_dcc%
mkdir %_daa%
mkdir %_dbb%
mkdir %_dcc%
)
copy "%_f500m%" "%_daa%\t5%_fcnt%.zip"
copy "%_f1mega%" "%_dbb%\tm%_fcnt%.zip"
copy "%_f1kilo%" "%_dcc%\tk%_fcnt%.zip"
echo.
set /a _fcnt+=1
rem timeout /t 2
if %_fcnt% GEQ %_cntMax% (
set /a _fcnt=0
set /a _d1cnt+=1
)
if %_d1cnt% GEQ %_cntMax% (
set /a _d1cnt=0
set /a _d2cnt+=1
)
if %_d2cnt% GEQ %_cntMax% (
set /a _d2cnt=0
set /a _d3cnt+=1
)
if %_d3cnt% GEQ %_cntMax% (
set /a _d3cnt=0
set /a _d4cnt+=1
)
if %_d4cnt% GEQ %_cntMax% (
set /a _d4cnt=0
set /a _d5cnt+=1
)
if %_d5cnt% GEQ %_cntMax% (
set /a _d5cnt=0
set /a _d6cnt+=1
)
if %_d6cnt% GEQ %_cntMax% (
goto _Daheatda
)
goto _loop101
:_Daheatda
pause
반복 구조로 폴더가 계속 생성되고 디스크가 가득 찰 때까지 복사됩니다.
▶ 3. 실행 방법
📌 1) 휴지통 비우기
휴지통에 파일이 남아 있으면 그 공간은 덮어쓰기가 되지 않아 복구가 가능 합니다.
→ 휴지통 우클릭 → 휴지통 비우기

📥 2) 필요 파일 다운로드
첨부된 ZIP 파일을 받습니다.
📁 FillDisk.zip
👉 압축을 원하는 폴더(예: D:\zz)에 풀어주세요.

👉 2개의 파일이 나옵니다.
▶ 3) BAT (_FillDisk.cmd ) 파일 실행하기
- 명령 프롬프트(CMD) 실행
- 압축을 푼 폴더로 이동: d:\> cd d:\zz
- c:\> d:
- 스크립트 실행:
d:\zz> _FillDisk.cmd

👉 시간이 꽤 오래 걸릴수 (몇 시간 ?) 있습니다 (디스크 크기 에 따라 다름).
💽 4) 디스크 가득 찼는지 확인
실행이 끝나면 디스크가 거의 100% 가득 찬 것을 확인할 수 있습니다.

500MB 파일을 수백만 번 복사하므로, 10TB 이상 디스크도 실행 중간에 꽉 찰 수 있읍니다.
- 실행 뒤 d:\zz 를 보시면 그안에 몇가지 파일과 d:\zz\zzz 라는 디렉토리가 생긴것을 볼수 있읍니다.
- d:\zz\zzz 안에는 수만개의 복사된 파일이 있읍니다.

❌ 5) 작업 파일 정리
- 작업 하였던 전체 폴더 (D:\zz)를 삭제 를 하셔요.
- "휴지통 비우기" 를 다시 한번 하셔요
이제 빈 공간에 새로운 파일로 완전히 덮어 써지고 지워져,
본 작업 이전 삭제 한 데이터에 따라 생긴 빈 공간의 데이타는 사실상 복구 불가능 상태가 됩니다.
혹시 포렌식 등 복구를 시도 하더라도 나오는 파일들은 방금 썻다 지운 파일들 뿐일 것 입니다.
🎯 4. 마무리
이 방법은 복구 방지에 효과적이며,
내 정보 유출이 걱정될 때 사용할 수 있는 방법입니다.
도움이 되셨으면, 댓글 부탁합니다. 😊
댓글 하나에 힘이 됩니다.
읽어주셔서 감사합니다 🙏
고맙읍니다.
▶ 5. 뒷 글
📌 1) 왜 3개 파일
> 처음에는 500 메가 짜리 한개만 하니 빨리 끝나기는 한데, 문제가 있네요.
종료뒤 디스크 꽉 찾다 했을때, 실제 499 M 짜리 공간이 남을 수 있어, 1 M, 1K 를 추가 한 것입니다.
그럼 종료뒤 1 K 짜리도 들어 갈 수 없게 복사된거니 남은 공간이 1 k 도 아닌 상태 입니다.
📌 2) goto 문이 많은데
> 이것도 작업 하다 보니 set 명령이 동작 안할때(?) 가 있네요.. 뭘 잘 못 했는지,
그래서, 이거 저거 해보다, 그리 된 것 입니다..
(어째든, 돌아는 가니 - 더 좋게 하여 댓글 달아 주시던지요. )
'개발 > ms window' 카테고리의 다른 글
| clawPDF: pdf, image(jpg,png) 로 만드는 가상 프린트 Virtual Print (0) | 2026.01.08 |
|---|---|
| win10 한 파티션 설치 (파티션을 100M 로 만들고 확장 ) (0) | 2025.12.28 |
| WinRE(Windows Recovery Environment), 고급 시작 옵션, 고급 부팅 옵션 (0) | 2025.09.10 |
| win10, win11 암호 분실 하였을때 복구 방법 (6) | 2025.08.20 |
| DOS: FTP 백업 자동 cmd 배치(bat)파일 "1개"로 하기 (1) | 2025.06.13 |