제가 배우기로 하드디스크의 파일 기록은 자기배열입니다. 자기의 N극 및 S극 배열을 이진법의 0과 1로 삼아서 101011101의 이진수로 기록하는 것이죠.
그리고 헤더를 통해 이 기록을 쓰거나 읽어 컨트롤러에서 이를 해석, 파일을 불러오는 식으로 동작합니다.
파일의 삭제는 여기서 기인하여, 파일의 어드레스를 날려버려 읽지 못하게 하는 식으로 간단하게 처리하고 이것이 파일을 실수로 삭제해도 복구가 가능한 원리에 해당하는겁니다.
그런데 여기서 의문이 들었습니다.
Shift + Del 키를 이용한 영구삭제를 해도 복구프로그램으로 어느정도 읽어낼 수 있다면
단순히 어드레스를 지우기만 하는 작업인데도 불구하고 왜 삭제에 어느정도 시간이 걸리는걸까요?
만약 1테라짜리 용량의 외장하드 내용물을 다른 디스크로 옮기고 이를 모두 지운다고 가정합시다.
이 때, 이 1TB 하드가 꽉차있다고 가정하면 이걸 영구삭제로 지우는데 꽤나 많은 시간이 소요됩니다.
하지만 diskpart를 이용하여 파티션을 날리고 새로 지정해주면 10초만에 끝이 나죠.
후자의 경우 주소를 모두 날리고 그 위에 덮어쓰는 식으로 동작할것입니다.
그런데 그렇다면, 영구삭제를 시행하는 앞의 방법과는 무슨 차이가 있어 추가적인 처리와 그에따른 시간이 소요되는건가요?
이 차이를 모르겠습니다. 알려주실 수 있을까요?
긴 글 읽어주셔서 감사합니다 (_ _)
빠른 포멧이나 휴지통 삭제는 위와 같은 방법을 쓰고 섹터 검사과정을 생략하기 때문에 매우 빨리 끝납니다.
허나 빠른 포맷 옵션을 끄는 일반 포맷의 경우는 포맷 속도가 엄청나게 느려집니다. 이쪽은 제로 필이라 해서 전 공간을 모두 0으로 덮어씌워버리는 방식입니다.
진짜로 하드디스크를 싹 다 밀어버리는 방법은 로우 레벨 포맷이라 해서 섹터 자체를 모조리 뒤엎고 재생성하는 방식인데 이쪽은 하드디스크에 부담이 많이 가고 일개 개인이 하면 오히려 배드섹터를 양산하니 하드디스크 제조 공장에서만 가능합니다
그래서 일반 영구 삭제나 빠른 포맷은 파일은 원래 위치에 남아있기에 복구가 가능합니다. 다만 해당 파일이 있는 색터를 다른 파일로 덮어 씌우면 진짜로 삭제가 된 것이기 때문에 복구가 힘들어지죠. 그래서 하드디스크 버리기 전에 포맷 돌리고 영화 파일로 꽉 체웠다가 다시 포맷 돌리라는게 복구 못하게 하도록 하기 위한 방법입니다.
뭐... 이런다 해도 1번정도 덮어씌워진 수준으로는 하드디스크 플레터의 자성 패턴이 남아있어 전문 복구업체의 경우 뚜껑 따다가 플레터의 자성 패턴을 읽어서 복구할 수 있어서 진짜로 안전하게 싹 밀어버리려면 3번 이상은 해야 하죠.