- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 0KB로 변한 엑셀 파일을 신속하고 안전하게 복구하기 위해 원인별 시나리오와 복구 절차를 체계적으로 정리하여 현장에서 바로 활용할 수 있도록 돕는 것이다.
1. 0KB 파일의 의미와 즉시 조치
0KB 파일은 파일 시스템에 이름만 남고 실제 데이터 블록이 비어 있는 상태를 의미한다. 저장 중단, 네트워크 끊김, 동기화 충돌, 보안 소프트웨어의 차단, 디스크 오류 등으로 발생할 수 있다. 0KB가 됐다고 해서 복구가 불가능한 것은 아니며, 자동복구 파일, 임시 파일, 버전 기록, 섀도 복사본 등 대체 복구 경로가 존재한다.
| 즉시 조치 | 목적 | 세부 방법 |
|---|---|---|
| 원본 파일 복사 | 추가 손상 방지 | 0KB 파일을 다른 드라이브에 복사하여 분석 대상과 보존본을 분리한다. |
| 동기화/백업 중지 | 버전 덮어쓰기 방지 | OneDrive, Google Drive, NAS 동기화 앱을 일시 중지한다. |
| 디스크 쓰기 최소화 | 삭제 복구 성공률 향상 | 해당 드라이브에 새로운 파일 저장을 중단한다. |
2. 원인별 복구 시나리오 개관
현장에서는 동일 증상이더라도 저장 위치와 원인에 따라 최적의 복구 루트가 달라진다. 아래 표에서 자신의 상황을 먼저 식별해야 한다.
| 저장 위치 | 주요 원인 | 우선 복구 경로 | 예상 성공도 |
|---|---|---|---|
| 로컬 PC | 강제 종료, 전원 차단, 디스크 가득 참 | 자동복구 폴더, 임시 파일, Windows 이전 버전, 파일 복구 도구 | 중간~높음 |
| OneDrive/SharePoint/Teams | 동기화 충돌, 네트워크 끊김 | 버전 기록 복원, 클라우드 휴지통 | 높음 |
| NAS/SMB 공유 | 네트워크 끊김, 권한 문제 | 서버 스냅샷(VSS), 백업 서버, 임시 파일 | 중간 |
| 외장 드라이브/USB | 분리 중 쓰기, 파일시스템 오류 | 임시 파일, 파일 복구 도구, CHKDSK 이후 복구 | 낮음~중간 |
| 가상 드라이브/VDI | 세션 만료, 프로필 리셋 | 프로필 경로의 UnsavedFiles, 중앙 백업 | 중간 |
3. 표준 복구 절차: 단계별 체크리스트
3.1 Excel 자체 자동복구 사용
Excel은 비정상 종료 후 다음 실행 시 Document Recovery 창을 통해 임시 저장본을 제시한다. 해당 창이 보이지 않으면 아래 경로에서 직접 찾을 수 있다.
| 운영체제 | 자동복구 경로 |
|---|---|
| Windows | %LOCALAPPDATA%\Microsoft\Office\UnsavedFiles |
| Windows(임시) | %TEMP% |
| macOS | ~/Library/Containers/com.microsoft.Excel/Data/Library/Preferences/AutoRecovery |
확장자는 주로 .xlsb 형식의 임시 파일 또는 임의의 이름으로 저장되어 있다. Excel에서 파일 메뉴의 열기 창에서 파일 형식을 “모든 파일”로 변경하고 위 폴더를 열어 후보 파일을 확인해야 한다.
3.2 “열기 및 복구” 기능
손상된 파일이 0KB가 아니라면 파일 메뉴의 열기에서 대상 파일을 선택하고 열기 버튼 옆 화살표를 눌러 “열기 및 복구”를 사용한다. “복구” 실패 시 “데이터 추출”을 선택하면 서식과 수식을 상당 부분 포기하는 대신 값 위주의 데이터를 확보할 수 있다.
3.3 임시 파일·작업 파일 탐색
저장 직전 Excel이 생성하는 임시 파일에서 데이터를 회수할 수 있다.
-
작업 폴더의
~$파일명.xlsx파일 확인한다. -
%TEMP%경로에서 최근 수정된 .tmp, .xlsx, .xlsb 파일을 시간순으로 정렬하여 후보를 열어본다. - 파일명을 모를 경우 명령 프롬프트에서 최근 24시간 내 생성 파일을 조회한다.
REM 최근 24시간 이내 수정된 Excel 관련 파일 검색 예시(Windows) cd %TEMP% forfiles /S /M *.xl* /D +0 /C "cmd /c echo @fdate @ftime @path"
~$
파일은 잠금 정보가 대부분이지만, 일부 환경에서 편집 스냅샷 단서가 될 수 있다. 동일 폴더의 다른 임시 파일과 함께 확인해야 한다.
3.4 클라우드 저장소의 버전 기록 복원
OneDrive나 SharePoint에 저장했다면 웹에서 파일의 버전 기록을 확인하여 0KB 이전 시점으로 복원한다. Teams 채널의 파일도 SharePoint 문서 라이브러리에 저장되므로 동일하게 복원 가능하다. 로컬 OneDrive 동기화 폴더에 있는 0KB 파일이라도 웹에는 정상 버전이 남아 있는 경우가 많다.
3.5 Windows “이전 버전”과 섀도 복사본
로컬 NTFS 볼륨에서 시스템 보호나 파일 기록이 활성화되어 있으면 파일 또는 상위 폴더의 속성에서 “이전 버전”을 통해 과거 스냅샷을 복원할 수 있다. 관리자 환경에서는 섀도 복사본 목록을 먼저 점검한다.
REM 섀도 복사본 확인 vssadmin list shadows
REM 파일 히스토리 검색(사용 중일 때)
control /name Microsoft.FileHistory
폴더 단위로 이전 버전을 열어 0KB가 되기 전의 동일 파일을 복사한다.
3.6 NAS·SMB 공유의 스냅샷·백업 복구
SMB 서버 또는 NAS는 주기 스냅샷을 제공하는 경우가 많다. Windows 클라이언트에서는 공유 폴더의 속성에서 이전 버전을 확인하거나, 서버 관리자에게 스냅샷 시점 복원을 요청한다. 동시 편집이나 네트워크 지연으로 발생한 0KB에 대해서도 서버측 스냅샷은 정상 데이터를 보유할 가능성이 높다.
3.7 삭제·손상 파일의 저수준 복구
자동복구·버전 기록·스냅샷이 모두 실패했다면 파일 복구 도구를 활용할 수 있다. 논리 삭제 후 디스크 블록이 재사용되기 전에 스캔하면 성공 확률이 높아진다. 단, 0KB 파일 자체는 복구 대상이 아니다. 동일 경로의 과거 데이터 블록과 임시 파일 잔존물을 대상으로 원본 조각을 탐색해야 한다. 조직 보안 정책에 따라 승인된 도구만 사용해야 한다.
4. 상황별 플레이북
4.1 전원 차단 또는 강제 종료 후 0KB
- 자동복구 폴더와 %TEMP%에서 최근 파일을 확보한다.
- 열기 및 복구로 검사한다.
- 이전 버전 또는 파일 기록에서 복원한다.
- 없으면 파일 복구 도구의 시그니처 스캔으로 .xlsx, .xlsb 헤더를 탐색한다.
4.2 OneDrive 동기화 중 0KB
- 동기화 일시 중지한다.
- 웹의 버전 기록에서 정상 버전으로 복원한다.
- 로컬 UnsavedFiles와 %TEMP%에서 임시본을 병행 확인한다.
- 복원 후 캐시 충돌 방지를 위해 새 파일명으로 저장한다.
4.3 NAS 공유에서 저장 중 오류로 0KB
- 네트워크 연결 상태를 고정하고 동일 경로 쓰기를 중단한다.
- 서버 스냅샷 또는 백업에서 파일을 가져온다.
- 작업 클라이언트의 %TEMP%와 최근 사용 문서 임시 파일을 확인한다.
4.4 USB 또는 외장 드라이브에서 0KB
- 즉시 사용 중단하고 다른 PC에서 읽기 전용으로 연결한다.
- CHKDSK로 파일시스템 오류를 진단한다.
chkdsk X: /f
- 임시 파일과 복구 도구로 원본 조각을 탐색한다.
5. 데이터 무결성 검증과 부분 복구 전략
복구된 파일은 수식 손상, 외부 연결 끊김, 피벗/데이터 모델 무결성 오류가 있을 수 있다. 아래 점검 순서를 따른다.
- 압축 무결성 점검을 위해 .xlsx를 복사하여 확장자를 .zip으로 변경 후 정상 압축 구조를 확인한다.
-
xl\worksheets의 시트 XML이 손상되면 해당 파일을 제거 후 열고, 시트 일부만 재구성한다. - 피벗캐시와 연결이 깨진 경우 피벗을 복제 후 데이터 소스를 재지정한다.
- 외부 링크는 데이터 탭의 “쿼리 및 연결”에서 차단 후 필요한 링크만 재연결한다.
6. Excel 데이터 모델·Power Pivot 관련 0KB 대응
데이터 모델을 포함한 통합문서는 저장 실패 시 손상 위험이 크다. 다음 절차로 구조적 복구를 시도한다.
- 복구된 통합문서에서 데이터 모델을 비활성화하고 테이블을 값으로 내보낸다.
- 새 통합문서에서 데이터 모델을 재구성하고 테이블을 다시 로드한다.
- Power Query는 원본 쿼리 M 스크립트를 백업하여 새 파일에 붙여넣는다.
REM Power Query M 스크립트 내보내기 팁 - 쿼리 편집기 > 고급 편집기에서 전체 복사 - 텍스트 파일로 보관 후 새 통합문서에 붙여넣기
7. 보안 소프트웨어·락 파일 충돌 시나리오
바이러스 백신이나 DLP가 저장 시 파일을 잠그면 0KB 또는 저장 실패가 발생할 수 있다. 예외 경로를 정책에 맞게 등록하고,
~$
잠금 파일 삭제 후 재시도한다. 기업 환경에서는 IT 보안팀 절차를 따른다.
8. 예방 전략: 0KB 재발 방지 체크리스트
- 자동 복구 저장 간격을 5분 이하로 설정한다.
- 중요 파일은 클라우드 버전 기록을 활성화한다.
- 배터리 방전과 전원 차단에 대비해 노트북의 절전 임계치를 높인다.
- 저장 중 애플리케이션 강제 종료를 피한다.
- 대용량 데이터 모델은 단계 저장과 버전 분기를 사용한다.
- 디스크 S.M.A.R.T. 경고 모니터링과 여유 공간 15% 이상을 유지한다.
| 설정 | 권장값 | 효과 |
|---|---|---|
| 자동 복구 간격 | 5분 | 비정상 종료 손실 최소화 |
| 버전 기록 | 사용 | 롤백 보장 |
| 저장 방식 | 단계적 다른 이름 저장 | 덮어쓰기 리스크 축소 |
| 스토리지 여유 | >=15% | 저장 실패 예방 |
9. 고급: 수동 구조 복구 절차
압축 구조 자체가 살아 있는 경우 다음 수동 복구를 고려한다.
- .xlsx를 .zip으로 복사해 압축을 연다.
-
xl\worksheets\sheet*.xml,xl\sharedStrings.xml,xl\styles.xml을 검증한다. - 손상된 시트 XML을 제거하고 열어 시트 단위로 재생성한다.
-
필요 시
xl\drawings,xl\charts를 제외하고 데이터만 우선 확보한다.
10. 현장용 결정 트리
[시작] -- 파일 0KB 확인 ├─ 클라우드 저장인가? ── 예 ──> 웹 버전 기록 복원 ─ 성공? ─ 예 ─ 완료 │ └─ 아니오 ─ UnsavedFiles·%TEMP% 확인 └─ 로컬/NAS 저장인가? ── 예 ──> UnsavedFiles·%TEMP% 확인 ─ 후보 있음? ─ 예 ─ 열기 및 복구 └─ 없음 ─ 이전 버전/스냅샷 확인 ─ 존재? ─ 예 ─ 복원 └─ 없음 ─ 파일 복구 도구 시도
11. 실무 점검 스크립트 모음
:: 최근 2시간 내 수정된 Excel 임시 파일 찾기 forfiles /P %TEMP% /S /M *.xl* /D +0 /C "cmd /c echo @ftime @path"
:: UnsavedFiles 폴더 바로 열기
explorer "%LOCALAPPDATA%\Microsoft\Office\UnsavedFiles"
# PowerShell: 최근 1시간 임시 Excel 파일 Get-ChildItem $env:TEMP -Recurse -Include *.xlsx,*.xlsb,*.tmp | Where-Object { $_.LastWriteTime -gt (Get-Date).AddHours(-1) } | Sort-Object LastWriteTime -Descending | Select-Object LastWriteTime, FullName
12. 자주 겪는 함정과 대응
- 동기화 재시작으로 정상 버전이 0KB로 덮이는 문제를 피하기 위해 복원 전 동기화를 중지한다.
- 자동복구 파일을 원본과 동일한 폴더에 저장하며 기존 0KB 파일을 덮지 않도록 다른 이름으로 저장한다.
- 복원 파일을 바로 공유하지 말고 수식 무결성, 링크, 피벗 동작을 점검한다.
- 보안 정책 하에서만 복구 도구를 사용하고 외부 반출을 금지한다.
FAQ
0KB 파일의 크기를 복구 도구로 확장하면 내용이 돌아오나
아니다. 0KB 파일 자체에는 데이터 블록이 없으므로 크기만 변경해도 내용은 생기지 않는다. 임시 파일, 버전 기록, 스냅샷 등 데이터가 남아 있는 다른 위치에서 원본을 찾아야 한다.
자동복구 파일은 언제 생성되나
설정한 자동 저장 간격마다 백그라운드로 생성되며 비정상 종료 시 Document Recovery 창에서 제시된다. 간격이 길면 손실 범위가 커지므로 5분 이하로 권장한다.
공유 폴더에서 동시 저장 시 0KB가 발생했는데 무엇을 먼저 확인하나
서버 스냅샷과 백업을 먼저 확인한다. 클라이언트 임시 폴더의 후보 파일도 병행 점검한다. 권한 충돌이나 네트워크 지연이 원인이면 동일 폴더 쓰기를 잠시 중단하고 복구를 진행한다.
복구 후 수식이 전부 값으로 바뀌었다
“데이터 추출” 옵션은 값을 우선 회수하는 절차이므로 수식 손실이 발생한다. 가능하면 자동복구 본이나 버전 기록에서 수식이 포함된 버전을 우선 찾고, 없으면 수식은 재작성해야 한다.
Time Machine이나 파일 기록이 꺼져 있었다
스냅샷이 없다면 임시 파일, 클라우드 버전 기록, 복구 도구가 남은 경로이다. 재발 방지를 위해 백업을 활성화하고 저장 간격을 단축해야 한다.
피벗과 Power Query만 손상되었다
피벗과 Power Query만 손상되었다
데이터 표가 살아 있으면 피벗은 재생성 가능하다. Power Query는 M 스크립트를 고급 편집기에서 복사해 새 통합문서에 붙여넣어 복원한다.