※ 일반 포맷의 [오류 검사 vs 제로필] 문제에 대해

현재 글에서는 윈도우의 일반 포맷이 제로필 작업(0 으로 가득채워 기존의 데이터를 지우는 작업)을 진행한다고 설명하고 있습니다. 하지만 일반 포맷은 제로필 작업을 진행하지 않고 단순히 오류 검사만을 진행한다는 내용의 반론이 제기되었습니다. 그에 따라 재차 확인 과정을 거쳐 새롭게 내리게 된 일반 포맷에 대한 결론은 아래와 같습니다.

*. 윈도우 5.x 버전대 및 그 이하의 윈도우들은 제로필 없이 오류 검사만을 진행한다. (윈도우 XP 및 그 이전 윈도우들)
*. 윈도우 6.x 버전대의 윈도우들은 제로필 작업을 진행하여 데이터를 삭제한다. (윈도우 비스타, 7, 8)

이에 대한 좀 더 자세한 테스트 과정과 필요한 설명은 아래의 글에서 확인하실 수 있습니다.


그리하여 현재 글에서 설명하는 일반 포맷에 대한 내용은 윈도우 비스타 이후 윈도우에서 적용되는 내용임을 알려드리며, 우선은 글의 내용을 작성했던 당시 그대로 수정하지 않았음을 알려드립니다.




Ⅰ. 파일 시스템과 포맷

1. 포맷 - 파일 시스템

지난 글에서 포맷이란 무엇이라고 했죠? 저장 장치에 데이터를 기록하기 위한 초석인 파일 시스템을 구축하는 작업이라고 말씀을 드렸습니다. 파일 시스템은 저장 장치에 데이터 즉, 파일의 이름을 지정하고, 저장하고, 읽고, 검색하는 등의 파일을 기록하고 사용하기 위한 조직적인 관리 체제입니다.

저장소에서 파일이 실질적인 데이터라면 파일 시스템은 이를 체계적으로 관리하는 데이터베이스입니다. 이 구조를 아주 간단하게 나타내면 아래와 같습니다.[사실 아래와 같이 단순화시키기엔 좀 무리가 있지만 큰 개념만 보도록 하겠습니다.]


저장소에 저장되는 파일 및 폴더에 대한 모든 정보는 파일 시스템에 기록되고 관리됩니다. 실제로 파일이 디스크의 어느 위치에 저장되어 있는지 등 모든 정보를 총괄한다고 볼 수 있죠. 운영체제인 윈도우는 이러한 파일 시스템을 통해 파일에 대한 정보를 얻고 활용합니다. 즉, 파일 시스템을 통해 구축된 데이터베이스를 참고로 하여 파일을 찾아 읽고 쓰는 것이죠.

또 다시 도서관을 예로 하죠. 도서관에 책들이 얼마나 보관되어 있고 어느 서고의 어느 위치에 저장되어 있는지 해당 책을 읽을 수 있는 권한이 있는 사람은 누구인지를 모두 정리한 일종의 데이터베이스인 보관 기록지가 있습니다. 방문자(사용자)가 사서(운영체제)에게 책(파일)을 요구(읽기, 검색)하면 사서는 직접 도서관의 모든 공간을 돌며 책을 찾는 게 아니라 보관 기록지(파일 시스템)를 보고 책이 도서관의 정확히 어느 위치에 있는지 파악하여 이를 찾아서 방문자에게 책을 전달하는 겁니다. 또한 새로운 책(파일 쓰기)이 들어오면 도서관의 도서 보관 기준(파일 시스템)에 따라 책을 적절한 위치에 넣고 보관 기록지(파일 시스템)에 언제 어느 위치에 보관했는지 기록을 해 두는 것이죠. 필요없는 책은(파일 삭제) 도서관에서 빼고 보관 기록지에서도 해당 기록을 삭제합니다. 간단하죠?[도서관 일을 정확하게 알지 못해 보관 기록지 등의 용어는 틀릴 수 있습니다.]

이러한 이유로 운영체제인 윈도우는 파일들에 대한 모든 것을 담은 데이터베이스인 파일 시스템에 전적으로 의지합니다. 실제로 저장소에 파일이 있어도 파일 시스템이 그런 파일은 없다고 하면 그 파일은 없는 게 됩니다.[파일 시스템과 운영체제 입장에서는] 만약 저장소에 저장된 모든 데이터들의 데이터베이스인 파일 시스템이 사라진다면 운영체제는 파일을 찾지도 읽지도 쓰지도 못하는 바보가 되어 버립니다.[사서가 보관 기록지를 잃어버리면 멍 때릴 수 밖에 없는 것처럼]


포맷은 이렇듯 중요한 파일 시스템을 저장 장치에 구축하는 작업입니다. 만약 저장 장치에 기존의 파일 시스템이 이미 존재한다면 포맷은 기존의 파일 시스템은 엎어버리고(지워버리고) 새로운 파일 시스템을 다시 구축하는 작업을 의미하게 됩니다. 이 때 기존의 파일 시스템을 엎어버리는 방식에 따라 포맷은 빠른 포맷과 일반 포맷의 두 가지 방식으로 나누어집니다.



2. 빠른 포맷

빠른 포맷이란 저장 장치에서 데이터는 그대로 놔두고 파일 시스템만 지우고 다시 구축하는 것을 의미합니다.


즉, 데이터들은 그대로 있지만 이러한 데이터에 대한 정보를 담고 있던 데이터베이스만 사라진 것이죠. 새롭게 구축된 파일 시스템은 해당 디스크에 아무 것도 기록되어 있지 않고 깨끗한 상태하고 기록이 되어 있습니다.

새롭게 구축된 파일 시스템에는 현재 저장소에 실제론 남아있는 파일이나 폴더에 대한 아무런 정보가 없습니다. 이는 해당 저장 장치는 아무 것도 없이 "비어있다" 는 것이 되는 것이죠. 파일 시스템에 전적으로 의지하는 운영체제는 이러한 파일 시스템의 기록을 보고 정말로 해당 저장 장치가 비어있는 것으로 인식을 하게 됩니다.

이러한 상태에서 새로운 파일을 기록하면? 현재 남아있는 기존의 데이터 위에 새로운 데이터를 그냥 덮어써버립니다. 그렇게 기존의 데이터는 새로운 데이터에 의해 점차 사라지게 됩니다.

이것이 바로 빠른 포맷입니다. 저장 장치에서 파일 시스템이 실제로 차지하는 용량은 얼마 되지 않기 때문에 이러한 파일 시스템만을 갈아엎는 포맷 과정은 굉장히 빠르게 완료됩니다. 그리하여 빠른 포맷이라고 하는 것 입니다.



3. 일반 포맷

일반 포맷이란 파일 시스템을 구축하면서 저장 영역을 함께 초기화하는 것을 의미합니다.


즉, 새로운 파일 시스템을 구축하면서 이에 맞게 기존의 데이터들도 실제로 모두 삭제하는 것이죠. 기존의 데이터를 모두 삭제하는 방법은 간단합니다. 저장 영역의(파티션, 볼륨) 모든 공간을 0 으로 재기록(데이터 삭제) 하는 것 입니다.

이것이 바로 일반 포맷입니다. 저장 영역의 모든 공간을 0 으로 재기록하는 과정을 거쳐야하기 때문에 저장 영역의 크기에 따라 굉장히 오랜 시간이 걸리기도 합니다.



4. 빠른 포맷과 일반 포맷의 선택

과거에는 일반 포맷을 대체로 많이 사용하였습니다. 하드 디스크와 같은 저장 장치의 생산 기술이 지금보다 떨어지던 시절 알게 모르게 디스크에 문제가 있는 경우가 종종 있었고 모든 저장 공간을 0 으로 재기록하는 일반 포맷을 통하면 1 차적으로 디스크가 데이터를 쓰는데 문제가 없는지 판단할 수 있었기 때문이죠.

허나 지금은 빠른 포맷을 대체로 많이 사용합니다. 저장 장치의 생산 기술이 많이 발전하여 디스크 자체에 문제가 있는 경우는 드물어졌고 무엇보다 저장 장치의 용량이 고용량화 되면서 모든 저장 공간을 0 으로 재기록하는 시간이 엄청나게 길어졌습니다. 즉, 더이상 일반 포맷에 소요되는 시간이 참고 기다릴 수 있을만한 수준을 벗어나 버린 것이죠.

또한 여러가지 굉장히 유용한 디스크 진단 프로그램들이 많이 등장하면서 굳이 일반 포맷을 통하지 않고 이러한 전문적인 디스크 진단 프로그램을 통해 디스크의 상태를 보다 자세하고 정확하게 그리고 선택적으로 판별할 수 있게 되었습니다.

그리하여 현재에는 포맷 = 빠른 포맷이라는 공식이 일반적인 모습이 되었습니다. 단적인 예가 윈도우에 포함된 기본 포맷 기능을 통해 포맷을 하게 되면 빠른 포맷 옵션이 기본으로 선택되어있는 것을 확인할 수 있습니다.





Ⅱ. 포맷과 데이터 복구

포맷을 하거나 파일을 삭제해도 복구할 수 있다는 말을 많이 들어보셨을 겁니다. 이는 위에서 알아본 빠른 포맷에 해당하는 내용이며 알아본 것과 같이 빠른 포맷은 실질적인 데이터는 지우지 않고 그대로 놔두기 때문에 가능한 것입니다. 또한 비단 빠른 포맷 뿐만 아니라 우리가 일반적으로 파일을 삭제하는 작업도 실질적으론 파일 시스템의 데이터베이스에서 해당 파일에 대한 정보만 삭제할 뿐, 실제로 디스크에 기록된 데이터는 삭제하지 않기 때문에 가능한 것이죠.[우리가 흔히 하는 파일의 삭제 작업은 빠른 포맷과 그 방식이 동일하다고 할 수 있습니다.]

파일 복구 프로그램들은 파일 시스템을 통하지 않고 직접적으로 디스크의 저장 공간을 노가다로 소위 말해 일일히 훑으면서 기록된 데이터들을 모두 찾는 작업을 합니다. 그리고 이렇게 일일히 하나하나 찾아낸 파일들을 파일 시스템에 다시 기록함으로써(또는 다른 곳으로 복사함으로써) 다시 해당 파일을 사용할 수 있도록 하는 것 입니다. 이것이 바로 파일 복구의 원리입니다.

이러한 연유로 파일 복구을 하고자 한다면 디스크에서 아무런 쓰기 작업도 하지 말라고 하는 것 입니다.[쓰기를 유발 할 수 있는 모든 행동들] 기존의 데이터 위에 새로운 데이터가 기록이 되면 기존의 데이터는 사라지기 때문이죠.


이를 역으로 이용하는 게 바로 데이터 파괴입니다. 즉, 파일 복구 프로그램들이 기존의 데이터를 찾아서 복구할 수 없도록 (기존의) 데이터 위에 0 으로 재기록하는 작업을 진행하거나, 이러한 흔적까지 역추적하는 전문적인 장비를 동원할 경우를 대비하여 데이터 위에 일정한 규칙에 따라 의미없는 데이터를 여러번 덮어쓰는 작업을 진행하는 하게 됩니다. 이러한 작업은 파일 단위에서 이루어지기도 하며 저장 공간 단위에서 이루어지기도 합니다.

이러한 작업을 전문적인 용어로 와이핑(Wipe, Wiping)이라고 하며 비어있는 저장 공간을 0 으로 재기록하는 작업을 따로 제로필(zero fill, zero filling)이라고 부릅니다. 이는 모두 빠른 포맷과 파일 삭제 작업이 실제 데이터가 아닌 파일 시스템 안에서만 이루어지는 것을 보완하고, 디스크에서 데이터를 실제로 삭제하기 위한 작업들 입니다.

이러한 와이핑에는 여러가지 규격이 있는데[데이터를 어떤 규칙에 의해 삭제할 것인지] 대표적인 것이 바로 미 국방성에서 사용하는 DoD 5220.22-M 입니다.


참고로 디스크에 저장된 데이터 파괴의 가장 마지막 단계는 디스크의 물리적인 파괴(소각, 분쇄, 용해) 입니다.

재주 있으면 여기에서 데이터 찾아봐~ 주지사께서 할 짓이 없어서 그 뜨거운 용광로로 퐁당~ 입수하신 게 아니란 말씀!






 

 

신고
캐플 블로그에 공개된 글은 반드시 원본 글의 링크를 포함시키는 조건으로 자유롭게 이용하실 수 있습니다.
하지만 블로그의 발전을 위하여 되도록이면 링크로 글을 소개해주시길 부탁드립니다. ^^

- 상업적인 용도의 사이트는 대상에서 제외됩니다. -
- 글에는 오류가 있을 수 있고, 추후 수정 또는 재발행될 수 있습니다. -
  1. 돌산 2013.01.16 10:57 신고  댓글주소  수정/삭제  댓글쓰기
    포맷에 대해서 잘 설명해 주셨군요.
    몇 년전이었을 겁니다.그 때 영화 파일을 삭제하면서 용량이 큰 파일이 금방 삭제되길래,"음..아직 삭제되지 않고 삭제작업이 진행중일거야.."하고 한참을 그냥 기다린 적이 있었습니다.ㅎㅎㅎ
  2. 나그네 2013.02.14 16:55 신고  댓글주소  수정/삭제  댓글쓰기
    제가 알고 있는 포맷의 개념과 비슷하지만 결론은 상이하네요...

    과거에 휘사모란 사이트의 강좌에서 보고 익힌 내용입니다.
    (아닌가... 오래돼서 가물가물하네요... ㅡ.ㅡㅋ 어쨌든...)
    그 땐 kpj666님이 도서관이 아니라 책에 비유해서 설명을 해주셔서 아주 쉽게 이해했습니다.

    파일 시스템은 책의 목차이고 데이터는 책의 본문이라고 하셨죠...
    그러면서 포맷의 개념에 대해 설명했는데...

    -------------------------------------------------------------------------
    빠른 포맷은 책의 목차의 맨 앞과 맨 뒤만 설정하는 것이고
    일반 포맷은 책의 목차를 완전히 지우고 다시 쓰는 것이며
    로우 레벨 포맷은 책의 목차는 물론이거니와 책의 본문까지 싹 다 지워버리는 것입니다.
    -------------------------------------------------------------------------

    라는 내용이었죠...

    실제로 FinalData란 복구 프로그램으로 포맷한 하드디스크를 들여다 보면 위의 내용이 맞다라는 걸 알 수 있습니다.
    빠른 포맷하면 이전의 폴더 트리가 그대로 살아 있고
    일반 포맷하면 폴더 트리가 싹 다 지워지더군요...
    하지만 데이터 영역을 스캔하면 웬만한 자료는 고스란히 남아 있습니다.
    대신 데이터 영역 스캔하는 데는 엄청난 시간이 소비되더군요...
    몇 시간의 개념이 아니라 며칠의 개념입니다.
    말 그대로 물리적으로 하드디스크 플래터를 맨 앞서부터 맨 뒤까지 읽어드리니 당연한 결과죠...
    제 경우 다행히 복구하고자 했던 자료가 하드 앞부분에 위치해 스캔이 완료될 때까지 기다릴 필요 없이 중간에 끊고 복구했습니다만... 7~8 시간이 걸리더군요...

    따라서 일반 포맷을 [b]모든 공간을 0으로 재기록(데이터 삭제)[/b]하는 과정으로 표현하신 것은 잘못된 것입니다.
    여러 과정으로 해당 결론을 내리신 것 같은데 사용하신 프로그램이 잘못돼서 결론을 잘못 내리신 것 같습니다.
    저만의 생각은 아닌 것 같으니 네이버에서 검색해보시고 다시 한번 확인해보시길 권해드립니다.
    • BlogIcon CApple 2013.02.14 19:36 신고  댓글주소  수정/삭제
      좋은 지적 감사하며, 일단은 제가 접했던 자료들과 테스트 내용과는 좀 다른 부분들도 있고, 정확한 확인이 필요할 듯 하네요. 아무튼, 동일한 내용이니 이전의 답글의 내용을 그대로 다시 가져오도록 하겠습니다.

      -----------------------------------------------------------

      음... 그렇다면 현재 디스크 또는 볼륨의 섹터 내용을 살펴볼 수 있는 WinHex 나 HxD 와 같은 프로그램으로 살펴보았을 때 빠른 포맷에서는 디스크의 일반 데이터 영역의 내용이 남아 있지만, 일반 포맷을 진행한 후에 살펴보면 일반 데이터 영역의 내용이 모두 0 으로 제로필된 결과는 어떻게 받아들여야 할까요? 제 최종적인 결론은 해당 내용을 토대로 내린 것이고, 이 글에서 이야기한 파일 복구 프로그램을 통한 설명은 좀 더 쉽게 설명하기 위해 선택한 것이었는데 말이죠. 해당 내용은 아래의 글에 설명되어 있습니다.

      http://cappleblog.co.kr/290

      일반포맷이 제가 이야기한대로 제로필 작업을 진행하는가 아닌가에 대한 결론은 아무래도 좀 더 이 분야에 대해 전문적인 지식을 갖춘 분께 조언을 구해야 할 듯 싶습니다.

      -----------------------------------------------------------
  3. 나그네 2013.02.14 17:02 신고  댓글주소  수정/삭제  댓글쓰기
    제가 캐플님만큼 고수가 아니니
    참고로 파이널데이터의 홈페이지에 올라온 FAQ 내용을 발췌해서 덧붙입니다.

    --------------------------------------------------------------------------------------
    Windows NT/2000/XP에서 휴지통을 비우셨을 때, 그리고, 하드디스크를 퀵포맷 했거나, [u][b]보통 포맷했다면[/b][/u], 단순히 디렉터리 검색만으로 삭제된 파일들을 발견할 수 없습니다. 이럴 때에는 클러스터 검색까지 해야, 삭제된 파일들을 찾을 수 있습니다.
    --------------------------------------------------------------------------------------
  4. win7초보 2013.07.14 14:51 신고  댓글주소  수정/삭제  댓글쓰기
    저... 윈도우7 설치할때는 항상 빠른 포멧으로만 설치가 가능하잖아요,

    갠적으로 깔끔하게 포멧하고 설치하고 싶어서 그런데

    그렇게 하려면 설치전에 pe모드 들어가서 c드라이브 포멧 할 수 있나요?
    아니면 설치이미지 부팅되었을때 shift + F10 누르고 포멧 명령어 내려서 포멧한 뒤에 설치하면 될까요??
    그리고 가능하다면 그냥 format C: 요렇게만 커맨드하면 되는건가요??

    초보라서 잘 모르겠네요ㅠ 친절한 답변 부탁드립니다ㅠ
    • win7초보일까? 2013.09.10 14:55 신고  댓글주소  수정/삭제
      개인적으로 쓰실거면 구지 일반포멧을 할 필요가 있을까요? 어짜피 빠른포멧후 설치하면서 덮어쓰기과정을 거치게 돼서 기존에 열결만 끊어놓은 데이터들은 삭제될겁니다. 사실 제로필도 0이란 데이터를 덮어쓰는 과정입니다.
      하드디스크나 SSD를 판매하신다면 당연히 일반포멧을 권장합니다.

댓글을 달아 주세요

- 댓글에선 예의를 지켜주시기 바라며, 블로그지기는 댓글에서 따로 활동하지 않습니다.

* 티스토리 사용자는 여기를 클릭하시면 로그인 됩니다.

BBCode 안내   굵게 밑줄 기울임 취소선   취소선 취소선 취소선 취소선   왼쪽 정렬 가운데 정렬 오른쪽 정렬   코드박스 인용구 이미지   이미지 업로드-Imgur.com