흔히 '포맷'을 하는 방법은 대부분 알 것이고 리눅스에서 하드를 청소 하는 방법 또한 이미 많은 사람들이 알고 있을 것이다.

흔히들 알고 있기를 리눅스에서 포맷은 

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>



user@user-test:~$ dd if=/dev/sdx of=/dev/zero



로써 알고 있을 것이다.

하지만 이 방법은 완전한 파일시스템을 제거하는 것이 아니라 'zerofill' 방식으로 (0값으로 덮어 씌우기 : wiping) 하드 디스크의 섹터를 덮어 씌우는 방식이다.

그리고 이러한 와이핑 방식의 포맷은 윈도우에서도 지원을 될 뿐만이 아니라 기술자들이 가지고 있는 복구 솔루션으로 복구가 충분히 이루어 지고 있는 실정이다.

"그렇다면 정말로! 완벽한 하드디스크 소거가 소프트웨어적으로 가능할수는 없을까?"

많은 리눅서들이 알아낸 최고의 방법은 바로 배드블럭을 체크하는 프로그램인 'badblocks'를 활용하는 방법이 그러하다.

일반적으로 프로그램 'badblocks'는 '-v' 명령을 활용하여 하드디스크의 베드섹터 유무를 파악하는 것이 일반적이다. 하지만 '-w'  명령을 활용하여   0xff, 0x55, 0xaa, 0x00등의 값으로 쓰기 테스트를 하기 때문에 하드디스크는 이론적으로 완전히 갈리게 되는 방식이다.

활용 방법은 매우 간단하다.

-- 터미널 텍스트 박스 (Terminal text box) --

<Drag와 복사가 가능합니다.>

// 우선 간단히 타겟 하드디스크를 리셋 시키자.


user@user-test:~$ sudo mke2fs -j /dev/sdx



// 그럼 본격적으로 badblocks 를 활용해 하드디스크를 밭갈아 보자.


user@user-test:~$ sudo badblocks -w -c 600 /dev/sdx


-> 여기서 '-c' 모드는 한번에 쓸 블럭 단위를 설정하는 옵션이다.  기본이 64 블럭이며 최대로 설정해야 처리 시간을 단축 할 수가 있다.



// 다시한번 로우 포맷을 해준다.


user@user-test:~$ sudo dd if=/dev/zero of=/dev/sdx





위의 그림과 같이 포맷된 데이터를 복원 시도를 통해 확인하여도 복구 할수 있는 데이터와 파티션이 일체 나오지 않는 것을 확인 할 수 있다.

그렇다면 실험은 성공한 것이다. 

물론 이 방식도 복구 할 수 있는 더 높은 기술의 복구 기술이 있을지도 모른다.
하지만 실제로 이론적으로 하드디스크의 데이타를 영구삭제 하는 것은 가능하다는 결론을 얻을수 있다.     

    

도움이 되셨다면 '♡' 버튼을 꼭눌러 주시면 감사 하겠습니다.


그리고 글에 부족한 점이 있거나 틀린점이 있는 것 같다면 꼭 댓글로 알려 주시면 감사 하겠습니다.


+ Recent posts