2021.06.14

"디스크가 날아갔다?" A부터 Z까지 정석 데이터 복구법

Ed Tittel | Computerworld
윈도우 10 디스크 드라이브에 저장된 데이터는 분실될 수 있고, 분실 사건은 종종 발생한다. 데이터 분실에는 여러 가지 이유가 있다. 

필자는 2014년 10월 14일 최초의 테크니컬 프리뷰(Technical Preview)가 나온 바로 다음날부터 윈도우 10을 사용했다. 그 후 6년 넘게 사용하면서 최소한 6차례의 상이한 데이터 복구 사건을 겪었다. 저장 매체가 고장난 경우도, PC나 메인보드와 미디어 매체를 연결하는 케이블이나 커넥터가 문제인 경우도 있었고, 디스크 파티션이나 복구 유틸리티를 쓰다가 실수를 한 경우도 있었다. 

문제를 경험하기는 했지만 모든 경우에 필자는 소실된 데이터를 되찾을 수 있었다. 그리고 대다수 사용자도 마찬가지다. 윈도우 10에서 손상된 파일을 복구하는 몇 가지 방법을 소개한다. 먼저 데이터가 분실되는 대표적인 원인부터 짚어보자. 
 

데이터 소실의 대표적인 이유 3가지 

대부분의 경우 데이터 복구가 필요한 이유는 다음 3가지다.

1. 파일 또는 파일 구조의 손상 또는 장애. 기본적으로 파일은 저장 매체 상의 마스터 파일 테이블(또는 이의 등가물)을 통해 서로 연결된 비트, 다시 말해 0과 1의 기나긴 연속에 지나지 않는다. 이 패턴은 여러 이유로 인해 손상되거나 붕괴될 수 있고 그 결과로 소실되거나 읽기가 불가능해진다. 이 경우의 복구란 데이터를 원래의 형식 및 순서로 되돌리는 것을 말한다.

2. 파티션 또는 디스크 구조 변경이나 손상. 윈도우에서, 스토리지 기기는 파일 시스템이 상주하는 논리 볼륨(드라이브)을 생성할 때 특정한 디스크 레이아웃을 이용한다(논리 볼륨은 보통 이름과 드라이브 문자를 지닌다). 각 볼륨은(그리고 윈도우 시스템/부트 디스크 상의 부트-업 및 복구에 연관된 여타 디스크 구조) 최소한 하나의 연관된 온 디스크 파티션을 갖는다. 드라이브는 하나 이상의 파티션 테이블 사본을 유지하며 디스크 익스텐트(Disk extents), 즉 파티션이 (볼륨 및 여타 특별한 디스크 영역) 상주하는 섹터를 추적한다. 

오류나 원치 않은 변경이 일어나 파티션 테이블에 영향을 준 경우에는 볼륨 내의 파일 및 폴더로의 액세스가 일어나기 전에 복구되어야 한다. 이 경우 복구 작업은 파티션 테이블을 원래의 구조 및 내용으로 되돌리는 것이다. 

3. 디스크 드라이브 하드웨어 문제. 회전 디스크에서 플래터의 읽기/쓰기 헤드, 또는 기록 표면의 손상이 생기면 보통 드라이브 섹터의 손실이 나타난다. 심각한 경우 스토리지 매체가 완전히 고장나 내용물을 전혀 읽을 수 없게 된다. SSD는 드라이버 컨트롤러가 하드웨어 오류에 영향을 받을 때, 또는 플래시 메모리 영역이 손상되어 읽을 수 없을 때 비슷한 문제가 발생할 수 있다.

위 두 드라이브의 고장은 흔히 점진적으로 확산된다. 다시 말해 섹터나 메모리 영역 한 두 곳에서 시작했다가 시간이 경과하면서 점차 악화된다. 궁극적으로 기기는 완전히 고장난다. 그 시점에서 최종 사용자가 할 수 있는 것은 없고, 데이터 복구 회사에 의뢰해 값비싼 전문 복구 서비스를 받아야 한다. 

그래서 디스크 문제의 첫 번째 징후가 나타났을 때 바로 행동하는 것이 좋다. 문제를 방지할 시간이 아직 남아있기 때문이다. 복구 작업은 정상 섹터 또는 위치가 잘못되기 전에 유효한 데이터를 캡처하는 것이다.
 

데이터 복구 시 백업은 필수 

항목이 소실되고 있거나 분실된 드라이브의 최신 백업으로의 액세스보다 중요한 것은 없다. 필자는 프로젝트 작업을 2개의 개별 SATA SSD에 유지하고, 윈도우 10이 상주하는 중요한 C:boot/system 드라이브까지 함께 매일 아침 백업한다. 따라서 드라이브에 최악의 사건이 발생해도 기껏해야 하루 분량의 데이터만 잃는다.

윈도우 10에서 파일이나 데이터 복구를 시도할 때는 항상 그 전에 파일 또는 데이터가 상주했던 문제의 드라이브를 백업해야 한다(단계 0). 그래야 복구 작업에서 성과를 거두지 못하더라도 시작했던 곳으로 언제든 되돌아올 수 있다. 그 후 매체를 데이터 복구 회사로 넘기면 된다. 복구 업체는 전문적인 툴과 역량을 지니고 있다.

그러나 이것은 최악의 상황이다. 먼저 다음과 같은 단계를 통해 손상된 데이터를 직접 복구해볼 수 있다.
 

데이터 복구 1단계 : 휴지통부터 확인할 것

데이터 복구가 필요한 전형적인 상황으로 사용자나 프로그램이 의도적으로 윈도우 볼륨으로부터 파일을 삭제한 경우이다. 이후 사용자는 해당 파일의 액세스를 복구하고 싶을 것이다.
너무나 당연해 보이지만, 가장 먼저 분실 파일이 휴지통에 있는지 확인해야 분실한 항목을 복구할 때의 수많은 불필요한 번잡함을 제거할 수 있다. 데스크톱에서 휴지통 아이콘을 더블 클릭하고, 분실한 파일이 있는지 확인하라. 있다면 항목 위에서 우클릭하고 ‘복구’를 선택하기만 하면 파일이 원래 저장된 위치로 복원된다(그림 1 참조). 
 
휴지통에서 발견한 파일을 우클릭해서 ‘복원’을 선택하면 된다. ⓒ ITWorld

파일이 휴지통에 없다면 더욱 복잡한 노력이 필요하다. 
 

데이터 복구 2단계 : chkdsk 

영향을 받은 드라이브가 윈도우 10에서 여전히 읽을 수 있고 열린다면, 다시 말해 드라이브 문자가 파일 탐색기에 여전히 나타나고 그 안의 파일 또는 폴더가 여전히 표시된면, 다음 복구 단계는 명령줄 디스크 검사 유틸리티, 즉 chkdsk.exe를 이용하는 것이다. Chkdsk.exe는 관리자 권한 명령 프롬프트에서나 관리자 권한 파워쉘 세션에서 실행해야 한다. (윈도우 검색 상자에서 cmd 또는 powershell을 입력하고, 결과 목록에서 ‘명령 프롬프트’ 또는 ‘윈도우 파워셸’을 우클릭한 후 ‘관리자 권한으로 실행’을 선택하고, 필요하다면 비밀번호를 입력한다. 

디스크 복구를 실행하려면 2가지 매개 변수 중 하나를 이용할 수 있다. chkdsk에 관한 마이크로소프트 Dos 윈도우 명령어 자료에 잘 설명되어 있다. 

/f: 디스크 오류를 교정한다. 디스크는 반드시 잠겨있어야 한다. chkdsk가 드라이브를 잠글 수 없다면 컴퓨터를 다시 시작할 때 드라이브를 검사할 것인지 묻는 메시지가 나타난다. 
/r: 불량 섹터를 파악하고 읽기 가능한 정보를 복구한다. 디스크는 반드시 잠겨 있어야 한다. /r은 /f의 기능을 포함하고, 물리적 디스크 오류를 추가적으로 분석한다. 

윈도우 boot/system 디스크를 복구하는 유일한 방법은(대개 드라이브 문자 C:) 다음 번 재시작 시 복구 옵션을 선택하는 것이다. 이후 PC를 재시작하면 된다. 

경미한 디스크 장애나 손상의 경우 이 두 번째 단계까지 오면 거의 해결된다. 이게 효과가 있다면 운이 좋은 것이고, 즉시 백업을 시행해야 한다. 
 

데이터 복구 3 단계 : 윈도우 파일 리커버리  

마이크로소프트는 2004년 및 그 이후의 버전의 윈도우 10에 ‘윈도우 파일 리커버리’라는 우수한 파일 복구 유틸리티를 제공한다(winfr.exe). 마이크로소프트 스토어에서 다운로드할 수 있다. 

이 유틸리티는 관리자 명령 프롬프트 세션에서 시작하고, 명령줄에서 실행된다. 필자는 다운로드 파일을 복구하기 위해 이 명령을 이용한 적이 있다(그림 2 참조). 사용하려면 우선 학습이 필요하지만, 온라인에서 사용자 매뉴얼을 읽을 수도 있고, 명령줄에서 파일 및 폴더 복구를 시도하려는 사람이라면 읽고 탐색할 만한 가치가 있다. 만약 어떤 데이터가 사라졌고 그 데이터의 저장 위치를 알고 있다면 특정한 필터를 써서 파일을 신속하고 간단히 복구할 수 있다(필자가 오래된 다운로드 파일을 복구할 때 배운 것처럼, 관련 정보는 구체적일수록 더 유리하다). 
 



2021.06.14

"디스크가 날아갔다?" A부터 Z까지 정석 데이터 복구법

Ed Tittel | Computerworld
윈도우 10 디스크 드라이브에 저장된 데이터는 분실될 수 있고, 분실 사건은 종종 발생한다. 데이터 분실에는 여러 가지 이유가 있다. 

필자는 2014년 10월 14일 최초의 테크니컬 프리뷰(Technical Preview)가 나온 바로 다음날부터 윈도우 10을 사용했다. 그 후 6년 넘게 사용하면서 최소한 6차례의 상이한 데이터 복구 사건을 겪었다. 저장 매체가 고장난 경우도, PC나 메인보드와 미디어 매체를 연결하는 케이블이나 커넥터가 문제인 경우도 있었고, 디스크 파티션이나 복구 유틸리티를 쓰다가 실수를 한 경우도 있었다. 

문제를 경험하기는 했지만 모든 경우에 필자는 소실된 데이터를 되찾을 수 있었다. 그리고 대다수 사용자도 마찬가지다. 윈도우 10에서 손상된 파일을 복구하는 몇 가지 방법을 소개한다. 먼저 데이터가 분실되는 대표적인 원인부터 짚어보자. 
 

데이터 소실의 대표적인 이유 3가지 

대부분의 경우 데이터 복구가 필요한 이유는 다음 3가지다.

1. 파일 또는 파일 구조의 손상 또는 장애. 기본적으로 파일은 저장 매체 상의 마스터 파일 테이블(또는 이의 등가물)을 통해 서로 연결된 비트, 다시 말해 0과 1의 기나긴 연속에 지나지 않는다. 이 패턴은 여러 이유로 인해 손상되거나 붕괴될 수 있고 그 결과로 소실되거나 읽기가 불가능해진다. 이 경우의 복구란 데이터를 원래의 형식 및 순서로 되돌리는 것을 말한다.

2. 파티션 또는 디스크 구조 변경이나 손상. 윈도우에서, 스토리지 기기는 파일 시스템이 상주하는 논리 볼륨(드라이브)을 생성할 때 특정한 디스크 레이아웃을 이용한다(논리 볼륨은 보통 이름과 드라이브 문자를 지닌다). 각 볼륨은(그리고 윈도우 시스템/부트 디스크 상의 부트-업 및 복구에 연관된 여타 디스크 구조) 최소한 하나의 연관된 온 디스크 파티션을 갖는다. 드라이브는 하나 이상의 파티션 테이블 사본을 유지하며 디스크 익스텐트(Disk extents), 즉 파티션이 (볼륨 및 여타 특별한 디스크 영역) 상주하는 섹터를 추적한다. 

오류나 원치 않은 변경이 일어나 파티션 테이블에 영향을 준 경우에는 볼륨 내의 파일 및 폴더로의 액세스가 일어나기 전에 복구되어야 한다. 이 경우 복구 작업은 파티션 테이블을 원래의 구조 및 내용으로 되돌리는 것이다. 

3. 디스크 드라이브 하드웨어 문제. 회전 디스크에서 플래터의 읽기/쓰기 헤드, 또는 기록 표면의 손상이 생기면 보통 드라이브 섹터의 손실이 나타난다. 심각한 경우 스토리지 매체가 완전히 고장나 내용물을 전혀 읽을 수 없게 된다. SSD는 드라이버 컨트롤러가 하드웨어 오류에 영향을 받을 때, 또는 플래시 메모리 영역이 손상되어 읽을 수 없을 때 비슷한 문제가 발생할 수 있다.

위 두 드라이브의 고장은 흔히 점진적으로 확산된다. 다시 말해 섹터나 메모리 영역 한 두 곳에서 시작했다가 시간이 경과하면서 점차 악화된다. 궁극적으로 기기는 완전히 고장난다. 그 시점에서 최종 사용자가 할 수 있는 것은 없고, 데이터 복구 회사에 의뢰해 값비싼 전문 복구 서비스를 받아야 한다. 

그래서 디스크 문제의 첫 번째 징후가 나타났을 때 바로 행동하는 것이 좋다. 문제를 방지할 시간이 아직 남아있기 때문이다. 복구 작업은 정상 섹터 또는 위치가 잘못되기 전에 유효한 데이터를 캡처하는 것이다.
 

데이터 복구 시 백업은 필수 

항목이 소실되고 있거나 분실된 드라이브의 최신 백업으로의 액세스보다 중요한 것은 없다. 필자는 프로젝트 작업을 2개의 개별 SATA SSD에 유지하고, 윈도우 10이 상주하는 중요한 C:boot/system 드라이브까지 함께 매일 아침 백업한다. 따라서 드라이브에 최악의 사건이 발생해도 기껏해야 하루 분량의 데이터만 잃는다.

윈도우 10에서 파일이나 데이터 복구를 시도할 때는 항상 그 전에 파일 또는 데이터가 상주했던 문제의 드라이브를 백업해야 한다(단계 0). 그래야 복구 작업에서 성과를 거두지 못하더라도 시작했던 곳으로 언제든 되돌아올 수 있다. 그 후 매체를 데이터 복구 회사로 넘기면 된다. 복구 업체는 전문적인 툴과 역량을 지니고 있다.

그러나 이것은 최악의 상황이다. 먼저 다음과 같은 단계를 통해 손상된 데이터를 직접 복구해볼 수 있다.
 

데이터 복구 1단계 : 휴지통부터 확인할 것

데이터 복구가 필요한 전형적인 상황으로 사용자나 프로그램이 의도적으로 윈도우 볼륨으로부터 파일을 삭제한 경우이다. 이후 사용자는 해당 파일의 액세스를 복구하고 싶을 것이다.
너무나 당연해 보이지만, 가장 먼저 분실 파일이 휴지통에 있는지 확인해야 분실한 항목을 복구할 때의 수많은 불필요한 번잡함을 제거할 수 있다. 데스크톱에서 휴지통 아이콘을 더블 클릭하고, 분실한 파일이 있는지 확인하라. 있다면 항목 위에서 우클릭하고 ‘복구’를 선택하기만 하면 파일이 원래 저장된 위치로 복원된다(그림 1 참조). 
 
휴지통에서 발견한 파일을 우클릭해서 ‘복원’을 선택하면 된다. ⓒ ITWorld

파일이 휴지통에 없다면 더욱 복잡한 노력이 필요하다. 
 

데이터 복구 2단계 : chkdsk 

영향을 받은 드라이브가 윈도우 10에서 여전히 읽을 수 있고 열린다면, 다시 말해 드라이브 문자가 파일 탐색기에 여전히 나타나고 그 안의 파일 또는 폴더가 여전히 표시된면, 다음 복구 단계는 명령줄 디스크 검사 유틸리티, 즉 chkdsk.exe를 이용하는 것이다. Chkdsk.exe는 관리자 권한 명령 프롬프트에서나 관리자 권한 파워쉘 세션에서 실행해야 한다. (윈도우 검색 상자에서 cmd 또는 powershell을 입력하고, 결과 목록에서 ‘명령 프롬프트’ 또는 ‘윈도우 파워셸’을 우클릭한 후 ‘관리자 권한으로 실행’을 선택하고, 필요하다면 비밀번호를 입력한다. 

디스크 복구를 실행하려면 2가지 매개 변수 중 하나를 이용할 수 있다. chkdsk에 관한 마이크로소프트 Dos 윈도우 명령어 자료에 잘 설명되어 있다. 

/f: 디스크 오류를 교정한다. 디스크는 반드시 잠겨있어야 한다. chkdsk가 드라이브를 잠글 수 없다면 컴퓨터를 다시 시작할 때 드라이브를 검사할 것인지 묻는 메시지가 나타난다. 
/r: 불량 섹터를 파악하고 읽기 가능한 정보를 복구한다. 디스크는 반드시 잠겨 있어야 한다. /r은 /f의 기능을 포함하고, 물리적 디스크 오류를 추가적으로 분석한다. 

윈도우 boot/system 디스크를 복구하는 유일한 방법은(대개 드라이브 문자 C:) 다음 번 재시작 시 복구 옵션을 선택하는 것이다. 이후 PC를 재시작하면 된다. 

경미한 디스크 장애나 손상의 경우 이 두 번째 단계까지 오면 거의 해결된다. 이게 효과가 있다면 운이 좋은 것이고, 즉시 백업을 시행해야 한다. 
 

데이터 복구 3 단계 : 윈도우 파일 리커버리  

마이크로소프트는 2004년 및 그 이후의 버전의 윈도우 10에 ‘윈도우 파일 리커버리’라는 우수한 파일 복구 유틸리티를 제공한다(winfr.exe). 마이크로소프트 스토어에서 다운로드할 수 있다. 

이 유틸리티는 관리자 명령 프롬프트 세션에서 시작하고, 명령줄에서 실행된다. 필자는 다운로드 파일을 복구하기 위해 이 명령을 이용한 적이 있다(그림 2 참조). 사용하려면 우선 학습이 필요하지만, 온라인에서 사용자 매뉴얼을 읽을 수도 있고, 명령줄에서 파일 및 폴더 복구를 시도하려는 사람이라면 읽고 탐색할 만한 가치가 있다. 만약 어떤 데이터가 사라졌고 그 데이터의 저장 위치를 알고 있다면 특정한 필터를 써서 파일을 신속하고 간단히 복구할 수 있다(필자가 오래된 다운로드 파일을 복구할 때 배운 것처럼, 관련 정보는 구체적일수록 더 유리하다). 
 



X