배드섹터

1 개요

Bad Sector. 불량 섹터라고도 불린다.

하드디스크가 물리적 혹은 논리적으로 어떤 섹터가 손상을 입어 제대로 판독할 수 없는 현상 또는 해당 섹터를 말한다. 하드디스크의 입장에서는 암세포 같은 존재. 즉, 일부 배드섹터는 증식도 한다.

섹터가 뭔지는 해당항목 참조.

2 관찰되는 현상

  • 파일 복사 등의 파일 작업을 하다 속도가 느려지거나 오류가 난다.
  • 작업 중 마우스가 멈추거나 하는 등 잠깐씩 느려지거나 반응이 없다가 복구된다.
  • 컴퓨터를 사용하다 갑자기 멈추는가 싶더니 멈춰버린다. 그리고 HDD 액세스 등은 계속 켜져있다. 이같은 경우는 간혹 원래대로 돌아오기도 한다.
  • 부팅을 거부한다.
  • 블루스크린이 발생되는데 이때 발생하는 오류코드가 0x7a[1] 이고 두번째 파라미터가 0x9c 이다.
  • 하드디스크에서 평소에 들리지 않던 괴음이 들린다. 이때 화면이 나가거나 하는 현상을 겸하는 경우도 있다.
  • 사용자가 배드섹터 진단 프로그램 등으로 진단을 시도할 경우 마찬가지로 멈춘다. 자신을 들키지 않으려는 몸부림.
  • FAT 파티션의 경우 분명히 포맷을 했는데 사용 중인 공간이 있다면 배드섹터 발생을 의심해 볼 필요가 있다. NTFS의 경우는 MFT 영역으로 사용할 공간을 할당하기 때문에 포맷을 해도 몇십 MB의 사용중인 공간이 발생한다. 그래도 찜찜하다면 배드섹터 진단 프로그램을 돌려보자. 물론 무참히 깨져나가는 시간들은 감수해야 한다. 500GB기준으로 약 2시간 20분이 걸렸다. 영화 한 편 보면서 하자. 영화는 딴 걸로 보자

3 발생의 원인

크게 두 가지 원인으로 나뉜다. 외부 충격 또는 불량 등 하드웨어에 문제가 발생하거나, 바이러스 등이 임의로 발생시키는 경우다. 전자를 물리적 배드섹터라고 하고 후자를 논리적 배드섹터라고 한다.

3.1 물리적인 경우

  • 하드디스크의 핵심부품인 플래터의 일정 부분이 충격을 받거나 노화로 파손되었을 때. 이때 헤드가 이 섹터를 지나면 변형을 일으켜 손상되지 않은 플래터까지 계속 손상시킨다. 암세포 실제로 배드섹터가 증식을 하는 건 이 경우에 해당한다.
  • 하드디스크에 충격이 가해지면서 헤드가 플래터를 긁은 경우. 헤드는 매우 빠른 속도로 자기(磁氣)디스크 위를 스캔하며 데이터를 읽어들인다. 근데 이때 큰 충격이 가해지면 흠집이 나고, 이게 배드섹터가 된다. 이 경우는 컴퓨터가 꺼져있을 때보다 켜져있을 때 더 많이 일어난다. 당연히 컴퓨터가 느리다고 본체를 때리는 것도 이 "충격"에 포함된다. 컴퓨터를 폭행(?)할 때는 우선 끄도록 하자[2] 안그러면 이렇게 (브금주의) 블로그는 신경쓰지 말자 된다.
  • 영 좋지 않은 파워 서플라이를 사용해도 발생할 수 있다고 한다. 대표적인 것이 묻지마 파워인데, 보통 이런 파워들은 전압이나 전류를 불규칙하게 하드디스크에 공급하기 때문이다.
  • 하드디스크를 제대로 고정하지 않은 상태에서 오랫동안 사용하면 장기간 진동으로 인한 누적데미지로 인해 발생하기 시작할 수 있다.
  • 하드디스크를 삐딱하게 고정하고 장시간 사용해도 발생할 수 있다. 원래 하드디스크는 가로로 눕혀서 고정하거나 90도 각도로 세워서 장착하면 전혀 문제가 없지만, 45도 각도로 기울여서 놓는다던지 하면 장시간 동작시 성능을 보장할 수 없다.
  • 섹터를 나누는 구획의 자성이 잘못된 경우. 즉 플래터 표면에는 문제가 없고 섹터 구획상의 자기적 결함으로 인해 해당 섹터를 인식하지 못하는 상태.
  • 컴퓨터를 사용할 때 재수없게도 지진이 일어나 하드디스크가 긁혔을 경우

의외로 미미해보이는 충격도 하드디스크에 상당한 손상을 가한다는 것을 알 수 있는데, 하드디스크가 작동하지 않을 시 견디는 한계인 300G가 고작 3cm 높이에서 딱딱한 바닥에 떨어졌을 때와 같다는 것을 감안하면 어찌 보면 당연한 이야기다.

3.2 논리적인 경우

  • 바이러스가 배드섹터를 생성하는 경우.[3] 이런 형태는 논리적 배드섹터이기에 파티션을 날린 다음 제로필 포맷해주면 없앨 수 있다. 아니면 그냥 쉽게 백신으로 점검해주면 치료 가능한 경우도 있다.
  • 소프트웨어가 꼬인 경우. 몇몇 프로그램, 특히 토렌트를 잘못된 설정으로 사용하거나[4] 별로 좋지 않은 백신[5]을 사용하는 경우 등에 파일이 깨지면서 매우 낮은 확률로 배드섹터 판정이 난다.
  • 컴퓨터를 강제종료 했을 경우, 혹은 USB 메모리를 안전제거 하지 않고 그냥 뽑는 경우. 이런 일을 하고 나면 컴퓨터가 디스크 검사를 하겠다고 하는 것도 이 때문이다. NTFS의 경우는 FAT 파일 시스템에 비해 좀 더 안전하기는 하지만, 이런 일이 반복되다 보면 파일시스템 자체가 깨지는 경우도 있다. 또, FAT가 좀 더 구조가 단순하기 때문에 속도와 저장공간의 측면에서 USB 메모리에는 FAT로 포멧되어 있는 경우가 많으므로 USB는 좀 더 조심하는 것이 좋다.

4 비슷한 증상이 나오지만 배드 섹터가 아닌 경우

파일 전송 속도가 느려지거나 오류가 나는데, 하드디스크 배드 섹터 문제가 아닌 경우가 있다. 이 경우는 전송 계통에 문제가 생긴 것으로, 메인보드의 칩셋이나 커넥터, 케이블 등에 문제가 있을 수도 있다. 이 경우는 증상이 다른데, 배드 섹터의 경우에는 오류 위치가 고정되어 있지만 전송 계통의 문제는 오류 위치가 계속 바뀐다. 파일 하나를 복사하다 실패한 후 다시 시도하면 성공할 경우에는 배드 섹터보다는 이쪽을 먼저 의심해봐야 한다.

대표적으로는 케이블 불량. 전송 케이블이 SATA로 거의 바뀐 시점에서는 많이 사라진 일이지만, 옛날 80선짜리 병렬 케이블을 쓰던 시절에는 케이블의 내구도가 낮아 이런 일이 많이 발생했다. 물론 SATA도 케이블을 잘못 만들면 이런 일이 발생하므로, 케이블도 다른 걸로 바꿔보자.

5 관리법과 해결 방법

5.1 내부 데이터 관리법

배드섹터가 발생했을 경우 플래터가 깨진 물리적 배드섹터일 경우에는 그 영역이 계속 확대되기 때문에 발생이 확인된 즉시 데이터를 안전한 곳에 백업해두자. 이러면 나중에 하드디스크는 버려도 데이터는 백업한 만큼 살린다. 하지만 영역이 확대되지 않는 경우도 존재한다.

  • 논리적 배드섹터인 경우. 아예 복구를 해 주는 프로그램도 있다.
  • 물리적 배드섹터라 하더라도, 플래터가 깨진게 아닌 단순한 자기장의 오류로 인해 생기는 배드섹터가 꽤 있다. 이런 경우에는 치료/복구를 하기가 어렵지만 적어도 번지지는 않는다. 하지만 물리적 배드섹터일때 사용자가 구분하는 것은 거의 불가능하므로 일단 배드섹터 복구 프로그램이 복구하지 못하고 메꾸기만 한다면 백업을 해두는 것이 안전하다. 60% 정도의 물리적 배드섹터가 이 경우이다.

5.2 해결 방법

배드섹터의 유무 자체는 CrystalDiskInfo 같은 하드디스크의 S.M.A.R.T 정보를 볼 수 있는 프로그램을 돌려보면 알 수 있다. CrystalDiskInfo 기준으로 "현재 보류 중인 섹터 수(Current Pending Sector Count)"가 논리 배드섹터, "수정 불가능 섹터 수(Uncorrectable Sector Count)"가 물리 배드섹터를 의미한다. 여기에 "주의" 표시가 뜬다면 배드 섹터가 있다는 뜻이다. 단 S.M.A.R.T 정보는 배드섹터의 유무만 알려줄 뿐 위치까지 알려주지는 못한다. 위치를 알고 조치를 취하려면 아래에 있는 프로그램들을 써야 한다.

개인의 경우 프로그램을 사용해 배드섹터를 잡을 수 있는데, 대표적인 프로그램이 상용프로그램인 HDD Regenerator 이다. 다만, 이러한 프로그램들은 배드섹터를 진단해 해당 섹터를 사용하지 못하게 닫아 버리는 정도의 역할만 할 뿐이지, 실제로 배드섹터를 치료해주지 않는다. 잉여[6]
그렇기 때문에 백업은 반드시 해놓은 상태에서 사용하는 것이 적절하다. 증식하는 물리적 배드섹터는 여전히 진행 중 이기 때문에 HDD Regenerator만 믿고 쓰다간 어느 순간에 하드디스크 말썽으로 컴퓨터를 못 쓰게 될수도 있다. 하드디스크 A/S 기간이 지나버린 상태고, 백업도 해놔서 언제든지 멈춰도 상관없다면 충분히 쓸 만하다.

저것 말고도 러시아 개발자가 개발한 Drevitalize 라고 하는 상용프로그램도 있다.[7] 공식 홈페이지 이 프로그램은 논리적 베드섹터에 한해 실제 치료도 가능하다. 다만 물리적 베드섹터라면 마크만 해버릴 뿐이다. 또 다른 특징이 있다면 베드섹터 치료 프로그램이라 그런지 검사 속도가 워낙 안습이다...

윈도우즈도 배드섹터 진단, 처리 프로그램 비슷한 것을 제공한다. chkdsk라고 명령어 형태로 사용하며 각 옵션에 따라 작동하는 방식이 다르므로 이는 여기를 참고 해보길 바란다. 관련 옵션을 준 경우에 한해 배드섹터가 발견된 경우 해당 오류를 수정한다. 물론 여기서 복구하는 것은 읽을 수 없는 파일을 읽게 해주는 정도다. 동영상의 경우를 예를 들자면 화면이 부분적으로 깨져서 나오거나 소리가 깨져서 나오지만 어쨌든 일부분이라도 재생이 되는게 어딘가?

로우 레벨 포맷으로 해결하는 경우가 있는데 이러면 하드디스크를 섹터 단위로 다시 구성하므로 해결방법이 될 수도 있다. 다만, 소프트웨어를 구하기가 어렵고[8] 제조사가 이런저런 사정으로 일반의 로우 레벨 포맷을 막아버려서 이쪽은 어렵다. 무엇보다 이 방법은 논리적인 배드섹터만 해결해줄 뿐, 물리적인 배드섹터는 해결해주지 못한다.

배드섹터가 발생한 섹터와 그 근처의 섹터를 피해 파티션을 다시 만들어 사용하는 경우도 있다. 이 경우 해당 영역만큼의 공간은 잃지만 그렇지 않은 만큼은 건진다.

사실 위에서 소개한 방법들은 배드섹터가 발생한 하드디스크의 수명을 최대한 연장시키는 방법이고 배드섹터를 깔끔하게 날려버리려면 속편하게 A/S를 보내 교환받는 것이 좋다. 그리고 데이터도 날아가겠지. 보내기 전에 데이터 백업을 최대한 해두자.

모든 문제들이 그렇듯 예방이 최선이다. 동작중인 하드디스크는 절대 옮기거나 충격을 줘선 안되고 규격나사를 사용해 케이스에 튼튼하게 고정해주는 것도 예방법 중 하나다. 그냥 SSD를 쓰자[9]

5.3 실제 확인법

현재의 하드디스크는 자체적으로 예비 영역을 두고 배드섹터가 생길 경우 예비 영역으로 대체하여 외부(운영체제)에서는 이를 신경쓰지 않고 이용할 수 있게 하고 있기 때문에 윈도우즈 체크디스크에서 배드섹터가 생겼다는 메시지를 볼 일은 거의 없다. 만약 체크디스크에서 배드섹터가 있다고 나오면 바이러스나 시스템 오류 등 논리적인 문제로 인한 가능성이 크지만, 그렇지 않고 예비 영역이 다 떨어질 만큼 많은 배드섹터가 생겼을 수도 있다.

이를 확인하기 위해서는 프로그램으로 하드디스크의 SMART 정보를 보면 되는데, 항목 중 '현재 치환 예정인 섹터 수/Current Pending Sector Count'와 '고칠 수 없는 섹터 수/Off-Line Uncorrectable Sector Count'(프로그램 및 제조사에 따라 항목은 다를 수 있다)와 같은 항목이 있는데 전자가 '읽기/쓰기가 잘 안된 적이 있어서 만약 문제가 더 생기면 배드섹터로 체크하려고 대기하는 섹터 수', 후자가 '얄짤없이 배드섹터'를 뜻한다. 특히 이 중 후자의 수치가 중요한데, 만약 이 수치가 너무 크거나(한 수십~수백 이상), 작더라도 시간이 지날수록 점점 커진다면 하드디스크를 새것으로 교체하는 것이 좋다. 놔뒀다가는 어느 날 데이터를 못 읽게 될 수 있다.

6 여담

원리가 똑같은 플로피디스크에서도 배드섹터는 발생한다. 하드디스크에 비해 전염(?)은 잘 되지 않지만 애시당초 용량이 작다보니 1KB의 배드섹터 하나가 크게 느껴지는 편. 또 플래시 메모리 기반의 SSDUSB 메모리에서도 배드섹터가 발생할 수 있다. 플래시 메모리에 생긴 배드섹터를 보통 '배드 셀'이라 부르고 있다. 단, 이러한 경우는 드물고 발생했다 하더라도 초기불량이거나 정전기 혹은 낸드 수명이 다 되어서 생긴 것이므로, 초기불량이거나 보증기간 내 불량인 경우 새것으로 교환받으면 된다.

배드섹터까지는 아니지만 잘 읽히지 않는 섹터를 마지널 섹터 또는 마지널 블록이라고 부르기도 한다. (배드섹터만큼 흔히 사용되는 표현은 아니다.) 이러한 섹터는 읽으려면 읽히긴 하지만 시간이 오래 걸릴 수 있으며 배드섹터가 되어버리는 경우도 있다. SMART에서 '현재 치환 예정인 섹터 수' 는 보통 이러한 섹터를 가리킨다. 한국에서 흔히 사용되는 표현은 아니지만 외국 문서에선 보이기도 한다.
  1. 요청받은 커널 데이터 페이지 파일을 메모리에서 읽지 못했음을 의미한다.
  2. 물론 꺼진 상태에서도 충격을 가하면 한 방에 골로 가는 경우가 있다. 그냥 충격이 안 가게 조심스럽게 다루는 것 말고는 답이 없다.
  3. 실제로 과거에 자신을 보호하기 위해 바이러스 데이터를 설치해 두고 그 부분을 배드섹터로 마킹하는 형태가 존재했다.
  4. 쓰기 버퍼 설정과 다운로드 시작시부터 모든 공간을 미리 할당하는 옵션 같은.
  5. 알약이 백신 주제에 이상한 파일을 파괴하는 것으로 말이 많았다.
  6. 그래도 배드섹터로 인한 나쁜 증상들은 해결할 수 있으니 쓰는 것을 권장한다.
  7. 이전 버전에서 각종 국내외 블로그에 크랙버전이 올라온 것을 보고 무료 프로그램일 가능성이 높다고 했으나 엄연히 정가 35$의 상용 프로그램이다. 그러니까 어떤 IP처럼 귀차니즘으로 구글링하다가 사과하게 되지 말자.
  8. 대부분의 로우 레벨 포멧 유틸리티라고 하는 프로그렘들은 대부분 제로필을 해주는 유틸리티일 뿐이다. 유틸리티의 이름에 속지말자. 심지어 어떤 유틸리티는 그냥 공장초기화를 한다.
  9. SSD도 배드섹터는 발생한다. 구입 당시 양품을 뽑으면 수명이 다 될때까진 물리적 배드섹터가 발생할 확률이 극히 낮을 뿐. SSD 참고.