d라이브러리









컴퓨터 파일복구 어디까지 가능한가

이론적으로는 100%, 현실은 PC상황따라


컴퓨터 파일복구는 수사 과정에서 매우 중요한 기술로 쓰인다. 대부분의 서류는 복잡하지 않기 때문에 거의 살려낼 수 있다고 하는데, 그것도 PC 상황에 따라 다르다.


컴퓨터를 쓰다보면 무심코 중요한 파일ㅇ르 지우는 실수를 범한다. 그럴 때 필요한 것이 파일복구기술이다. 어떻게 하면 쉽게 파일을 복구할 수 있을까.

최근 이종기 변호사의 수임비리사건으로 온 나라가 시끌벅적했다. 아직 수사가 종료된 것은 아니지만 경찰, 검사, 판사 등이 뇌물을 받은 것으로 의심되는 이 사건은 국민적 분노를 사기에 충분했다.

과학동아에서 이런 이야기를 꺼내는 이유는 수사과정에서 이 변호사가 자신의 PC에 저장한 자료를 증거인멸을 목적으로 삭제한 사실이 알려지면서, 삭제한 컴퓨터 파일을 얼마나 복구할 수 있나가 국민들의 관심으로 떠올랐기 때문이다. 검찰은 전문가를 동원해 관심의 대상이 됐던 지운 엑셀파일들을 복구하는데 성공했지만, 수사와는 큰 상관이 없는 것들로 밝혀졌다.

파일삭제는 지난해 김대중 대통령이 취임할 때도 문제가 됐다. 일부 정부기관들이 문서 파기와 삭제를 자행했기 때문이다. 또 PC를 이용한 문서작성이 보편화되면서 파일삭제는 언제 어떻게 골머리를 썩힐지 모르는 지뢰가 되고 있다. 물론 파일삭제는 효율적으로 파일을 관리하기 위해 절대필요한 기능이다.

굳이 이종기 변호사 사건의 예가 아니더라도 PC로 여러 작업을 하다보면 무심코 파일을 지울 때가 한두번은 있기 마련이다. 밤새워 작성한 리포트, 회사에 제출할 기안서나 프리젠테이션 자료, 보고서 데이터 등을 잃어버려 고생했던 끔직한 일도 액땜하듯 생긴다. ‘머피의 법칙’은 이런 때도 어김없이 찾아온다. 간혹 인터넷에서 다운받은 예쁜 여배우 사진은 절대로 실수해 지우는 일이 없어도, 중요한 데이터는 왜 그리 쉽게 지우는 일이 많은지 모르겠다.

그렇다면 의도했든 그렇지 않든 지워진 파일들을 다시 복구할 수 있을까? 만약 복구가 가능하다면 어떻게 어느 정도나 복구할 수 있을까? 이에 대한 궁금증을 풀어 보자.

저장원리부터 이해해야

파일삭제와 파일복구를 이해하려면 먼저 파일이 어떻게 디스크에 기록되는지를 먼저 알아야 한다. 파일이 저장되는 곳은 하드디스크이건 플로피디스크이건 내부에 동그란 디스크가 들어있다. CD의 모양을 떠올리면 된다. 이 디스크에 데이터를 입력하려면 포맷이라는 작업을 거친다. 포맷하면 디스크는 섹터와 트랙으로 나눠진다.

이러한 작업을 도시계획에 비유할 수 있다. 즉 우리가 처음 구매한 디스크를 개발이 예정된 신도시라고 한다면, 포맷은 이곳에 섹터와 트랙으로 구획을 나누는 작업이다. 그 다음 나눠진 섹터와 트랙에 데이터가 파일로 저장되는 과정은 번지수에 따라 시민들이 입주하는 것과 유사하다. 우리가 엑셀이나 ㅎ·ㄴ글과 같은 프로그램으로 데이터 파일을 작성했다면 이 파일들은 특정 섹터, 특정 트랙에 기록된다.

트랙과 섹터가 디스크를 구분하는 물리적인 기준이라면, 클러스터는 논리적인 분할 개념이다. 보고서 문서파일을 저장한다고 했을 때 그 파일에는 순수하게 보고서 내용만 기록되는 것은 아니다. 데이터의 크기, 기록 날짜, 디스크의 어떤 부분에 저장돼 있는지에 대한 주소정보도 함께 기록된다. 이러한 데이터가 저장되는 하드디스크의 최소단위를 클러스터라고 한다. 데이터는 클러스터 단위로 쪼개져 저장되는 셈이다.

파일이 저장되는 디스크의 구조를 이해했다면 다음은 저장되는 파일의 구조를 익혀 보자. 클러스터 단위로 나뉘어 저장되는 파일은 다시 파일에 대한 정보를 담고 있는 영역과 순수한 데이터 영역으로 구분된다. 이때 파일정보를 담고 있는 영역을 FAT(File Allocation Table)라고 부르는데, 대체로 순수한 데이터 앞에 존재한다. 데이터는 클러스터 단위에 따라 디스크의 안쪽부터 차례로 기록된다. 레코드판은 바깥쪽에서부터 연주되지만 컴퓨터의 디스크는 반대로 안쪽에서부터 자료가 저장되고 읽힌다.

만약 우리가 워드프로세서 문서를 불러내면 PC는 우선 데이터에 대한 정보가 모여있는 FAT 영역을 살펴보고 원하는 파일이 어떤 주소에 기록돼 있는지 알아낸다. 그 다음 순수한 데이터가 연결된 클러스터를 찾아가 파일을 불러온다.

단순 삭제의 경우

파일삭제와 파일복구 방법을 배우기 전 파일저장의 원리부터 배우는데는 이유가 있다. 흔히 파일을 지울 때 윈도(Windows)의 ‘삭제’ 메뉴나 도스(DOS)의 ‘delete’ 명령을 이용한다. 이 경우 데이터가 하드디스크나 플로피디스크에서 완전히 사라진 것으로 이해하기 쉽지만, 사실은 데이터가 완전히 사라지는 것이 아니다. 그 이유는 파일저장의 원리를 알면 쉽게 이해할 수 있다.

윈도의 ‘삭제’ 메뉴나 도스의 ‘delete’ 명령은 정확히 말하면 데이터 영역과 FAT 영역의 정보를 차단하는 것에 불과하다. 연결된 고리를 끊음으로써, 즉 클러스터 정보를 단절함으로써 컴퓨터는 파일이 어디에 위치했는지 찾을 수 없게 된다. 그러면 진짜로 파일을 없앤 것과 똑같은 효과를 나타난다. 파일을 지울 때는 이런 방식으로 FAT 영역의 맨 앞 부분을 지워놓기만 하면 된다. 그럼 PC는 눈먼 장님이 돼 ‘못찾겠다’를 외칠 수밖에 없다.

이렇게 지운 파일을 복구하는 것도 간단하다. 끊어진 파일정보를 연결만 하면 되기 때문이다. 실제로 ‘undelete’나 ‘unerase’와 같은 명령만 실행하면 바로 끊어진 정보를 되찾아 준다.


하드디스크를 뜯어보면 여러 개의 디스크가 모여 있다.


PC 상태에 따라 복구 확률 달라

이제 상황별로 파일복구가 어떤 방식으로 얼마나 가능한지 알아보자. 이를 안다면 무심코 파일을 삭제했을 때 대처할 수 있는 방법도 익히게 될 것이다.

먼저 단순히 파일을 삭제한 경우다. 윈도에서 파일을 삭제하면 곧바로 지워지지 않고 휴지통 폴더로 이동한다. 따라서 휴지통 아이콘을 마우스 오른쪽 버튼으로 눌러 ‘휴지통 비우기’를 선택하지 않는 한, ‘복원’ 메뉴를 선택하면 간단히 복구된다.

그러나 휴지통을 완전히 비웠거나, 도스에서 파일을 삭제한 경우에는 문제가 커진다. 이때는 우선 자신이 파일을 복구할 수 있는 프로그램이나 undelete 같은 파일을 갖고 있는지를 알아봐야 한다. 만약 이런 프로그램이 있다면 실수로 파일을 지웠다고 인식한 순간 재빨리 이들 프로그램을 이용해 파일을 복구시켜야 한다. 좀 섬뜩한 이야기지만 손가락이 잘렸을 때 가장 염두에 둬야 할 것이 흩어진 신경을 빨리 찾아야 하는 것처럼, 하드디스크 어딘가에 조각난 채로 흩어져 있는 데이터를 서둘러 찾아야 한다. 만일 파일이 지워진 것을 한참 뒤에 깨닫는다면 그만큼 파일복구 가능성은 희박해진다.

파일은 디스크의 안쪽에서부터 자신의 크기에 알맞는 빈공간을 찾아 기록된다. 만약 어떤 파일을 지운 뒤 그 뒤에 다른 파일이나 프로그램을 기록했다면 새로 기록된 파일이 지워진 영역을 점유하게 된다. 따라서 FAT 정보로 파일을 찾는다는 것은 어려운 작업이 된다.

파일을 삭제한 후 새로운 작업을 하지 않은 상태에서 PC를 재부팅하면 어떨까? 흔히 부팅과정에서는 하드디스크가 아무런 작업도 하지 않을 것이라고 생각하지만, 사실 부팅과정에서도 수많은 파일이 하드디스크에 기록되거나 지워진다. 대표적으로 PC가 사용하는 사운드카드, 모뎀, 비디오카드 등의 제어파일이 부팅할 때마다 로딩된다. 그 외에도 시작프로그램으로 설정해 놓은 소프트웨어들이 작동하기 시작하며, 수많은 프로그램이 얽혀있는 윈도 레지스트리 정보도 갱신된다. 이런 정보들이 과거에 내가 지웠던 파일정보가 위치했던 영역에 덧쓰여지지 않을 것으로 기대하는 것은 무리다.

극단적으로 디스크 자체를 포맷하는 경우도 있다. 이 경우에도 데이터를 복구할 수 있는 방법이 없는 것은 아니다. ‘언포맷’(unformat)이라는 명령으로 포맷을 취소하면 된다. 포맷 역시 삭제와 비슷해 디스크에 대한 정보는 따로 저장되기 마련이고, 결국 언포맷으로 디스크 기존정보를 찾아낼 수 있다.

보통은 위에서 말한 상황들이 복잡하게 얽혀 있기 때문에 컴퓨터를 잘 아는 사람들조차 지운 파일을 살릴 수 있느냐고 물으면 “그럴 수도 있고 아닐 수도 있다”고 모호하게 답변한다. 데이터가 들어있는 클러스터가 산산조각이 났을지라도 이론적으로(때로 실제로) 그 연결고리만 찾아주면 파일을 복구할 수 있다. 즉 파일을 지우고 그 위에 다른 파일을 계속 덧씌운다고 하더라도 흩어진 클러스터만 모을 수 있다면 지운 파일은 언제나 복구할 수 있다는 말이다. 물론 파일을 지우고 덧씌우는 과정이 많을수록 과거의 파일들은 더욱 훼손되기 때문에 복구 가능성은 크게 줄어든다.

그래서 그런 고생을 하느니 잃어버린 파일을 새로 만드는 것이 빠를지 모른다. 물론 이 변호사 사건처럼 중요한 증거자료를 복구해야 할 경우에는 전문가를 동원해서라도 복구하려고 노력해야겠지만. 그러나 대부분의 서민들은 언제 수천만원대 기밀문서를 만들어 볼 기회가 있겠나? 하지만 데이터는 누구에게나 소중한 것이다. 그러기에 데이터를 잃지 않으려면 자주 저장하고 백업하는 것만이 최선의 방법이다.


파일복구를 돕는 프로그램


파일을 복구하는 방법 중 가장 좋은 것은 복구 소프트웨어를 이용하는 것이다. 대표적인 것은 미국 시만텍사가 개발한 노턴 유틸리티로, 도스 시절부터 파일 관리 및 복구로 명성을 날렸다. 이것은 건망증 사용자에게는 구세주와 같은 '노턴 안전휴지통' 기능을 제공한다.

노턴 유틸리티를 설치하면 기존에 사용하던 바탕화면의 휴지통이 노턴 안전 휴지통으로 바뀐다. 이곡을 누르면 '삭제복구 마법사'가 나온다. 삭제복구 마법사는 휴지통을 비워 파일을 삭제했더라도 지운 파일을 단계별로 찾아준다.

삭제복구 마법사를 이용하면 먼저 최근에 지운 파일을 보여준다. 여기에 찾는 파일이 없으면 파일이름, 확장자, 파일에 포함된 단어, 사용한 드라이브 등을 차례로 물어가면서 사용자의 기억을 더듬어 지운 파일을 찾아준다. 그래도 찾지 못하면 노턴으로 복구 가능한 모든 파일을 보여준다. 노턴으로 복구한 지운 파일은 첫글자만 물음표(?)로 바뀌어 있다. 디스크에 파일이 중복저장됐기 때문이다. 즉 노턴은 지운 파일 위에 다른 파일(데이터나 실행프로그램 등)이 덧씌워져 있다고 해도 지운 파일을 찾아낼 수 있다. 그러나 파일이 심각하게 훼손돼 여기서도 이름이 나타나지 않는 지운 파일은 복구하기 힘들다.

노턴 유틸리티 한글버전은 3.0까지 발표돼 있는데, 언포맷 기능이 없다. 대신 영문 3.0버전에서 언포맷 기능을 지원한다. 그러나 윈도가 아닌 도스 환경에서 디스크를 언포맷해야 한다. 이 경우 언포맷을 마친 후 다른 작업을 하지 않으면 앞서 설명한 파일복구 방법으로 파일을 거의 찾아낼 수 있다. 다만 목록에 나타나지 않는 것은 복구가 매우 어렵다.

몇년 전까지 운영체계에는 파일을 복구할 수 있는 undelete.exe파일이 있었다. 그런데 최근 윈도98에서는 이 파일이 사라졌다. 따라서 별도의 프로그램을 사서 파일을 복구할 수밖에 없게 됐다. 노턴 유틸리티는 시만텍 웹사이트(www.symantec.com)에 접속하면 평가버전을 다운받아 사용해 볼 수 있다. 물론 다른 공개된 파일복구 프로그램들을 국내 PC통신 자료실이나 웹사이트를 서핑해 구할 수 있다. 그러나 대부분 시만텍의 노턴 유틸리티와 비슷하거나 못한 것들이다.

만약 소프트웨어를 사용할 만큼 컴퓨터를 잘 모르거나, 중요한 데이터라면 이를 복구해 주는 업체를 이용하는 것도 방법이다. 이런 업체는 용산전자 상가에서 물어보면 쉽게 복구회사를 찾을 수 있으며, 간혹 신문이나 컴퓨터 잡지에서도 소개되고 있다. 명데이타복구센터(02-561-1664), 씨앤씨(02-276-8688) 등이 잘 알려진 업체다.

1999년 02월 과학동아 정보

  • 박세헌 기자

🎓️ 진로 추천

  • 컴퓨터공학
  • 정보·통신공학
  • 법학
이 기사를 읽은 분이 본
다른 인기기사는?