본문 바로가기
컴퓨터의 속

하드디스크 '액세스할 수 없습니다' 에러가 발생한 경우(RAW오류), chkdsk 이용하여 복구

by scope 2013. 12. 14.

 

 

하드디스크 '액세스할 수 없습니다' 에러가 발생한 경우(RAW오류), chkdsk 이용하여 복구         

          

 
컴퓨터에 연결된 하드디스크에 들어가려는데 '○:\을(를) 액세스할 수 없습니다.' 라는 오류가 뜬다면.
그리고, 그 이후에 다시 '포맷을 하라'는 메세지가 뜬다면...
이때 아무생각없이 '포맷' 을 누르면 안 된다.
 
하드디스크를 땅에 세게 떨어뜨렸거나 물리적 충격이 가해지지 않았다면, 단순히 파일시스템(FAT32,NTFS)의 오류이므로, 도스에서 chkdsk 명령을 이용해 복구가 가능하다.
USB 외장하드디스크가 이런 에러가 나는 이유는 몇가지가 있는데, 그중 가장 흔한 경우는 대용량 파일을 이동한 이후, '안전하게 제거하기' 기능을 이용하지 않고 그냥 USB연결 케이블을 뺀 경우이거나 혹은 대용량 파일을 넣거나 빼다가 윈도우에서 오류가 발생한 경우이다.
윈도우는 하드디스크를 제어하기 위해 파일시스템이라는 체계를 이용한다.
FAT32 또는 NTFS 같은 체계를 사용하는데, 우리가 그림이나 글씨로 보는 데이터들은 하드디스크에 저장될때 0 이나 1로 이루어진 바이너리 데이터로 저장이 된다.
따라서, 파일 정보가 어디서 부터 어디까지인지 물리적으로 제어하기 위한 체계 정보를 가지고 있고, 윈도우는 파일시스템이라는 관리체계를 통해 바이너리로 이루어진 데이터를 관리한다.
그런데, 컴퓨터에 장착된 장치들 간에 또는 윈도우의 에러로 인해 이 시스템이 오류가 발생하게 되면, 파일시스템에 잘못된 정보가 저장이 되거나 파일시스템의 정보에 오류가 발생하게 되고, 이로 인해 하드디스크 전체를 읽지 못하는 문제가 발생한다.
요즘엔 많이 없어졌지만, USB외장 하드디스크가 쓰이던 초창기에 이런 오류가 제법 많이 발생했던 것으로 기억되는데, 이런 문제가 발생했을때 자체적으로 해결하기 위해 윈도우에서는 도스 프로그램 중에 chkdsk 라는 툴을 제공한다.
물론, 이런 하드디스크 오류는 하드디스크 자체에 물리적으로 베드섹터(물리적으로 오류가 발생한 공간)가 발생한 경우에 흔하게 발생하며, 베드섹터로 인해 오류가 난 경우에는 chkdsk 로도 복구를 할 수 없을수도 있다.
 
P.S.
USB외장하드 케이스에 장착된 보드가 불량인 경우에도 하드디스크 인식 오류가 발생할 수 있는데, 이런 경우에는 외장하드 케이스를 교체해주면 된다.
중국산 저가 외장하드케이스 제품이 많아지면서, 외장 하드케이스 자체의 불량이 발생할 가능성이 꽤 높다.
보통 외장하드케이스가 오류가 나면 아예 인식이 안되는 경우가 더 많다.
 
결론적으로, 윈도우 사용중에 특별히 물리적 충격이 없었고, 하드디스크에 베드섹터가 없다는 전제하에 chkdsk 를 이용하면 복구될 가능성이 매우 높다.
 
도스 콘솔을 열어서, 체크디스크(chkdsk) 옵션을 아래와 같이 주어야 한다.
(시작 → 실행 → cmd 입력)
 
만약, 해당 하드디스크가 G: 라면,
 
chkdsk g: /f
 
위와 같은 옵션으로 명령을 실행한다.
뒤의 /f 옵션은 오류를 고치라는 명령이다.
 
 
에러의 정도, 하드디스크의 크기에 따라 다르겠지만, 대략 2~5분 정도면 작업이 끝나고, 복구 후에 하드디스크가 바로 인식되지는 않는데, 디스크 관리에 들어가서 디스크 목록을 한번 열어주면 약 30초~1분 정도 읽는 시간이 걸리는데, 기다리면 인식이 된다.
이후에는 하드디스크 목록에서 해당 하드가 인식되어 내용을 볼 수 있다.
보다 확실한 방법은 윈도우를 리부팅 하면 원활히 인식이 될 것으로 여겨진다.
리부팅을 하지 않은 상태에서, 복구한 하드디스크의 자료를 옮기니 파일 이동속도가 1M 도 나오지 않는데, 이 문제도 리부팅 후에 파일 이동을 시도하니 이동 속도가 20~30M 정도로 빨라졌다.
체크디스크 실행 후에는 윈도우를 리부팅 해주자.
 
사건의 발단은 이러했다.
이번에 2TB 하드디스크를 구입하고, 윈도우 재설치 후 기존에 하드디스크를 백업용으로 바꾼후, 다른 USB외장하드에 있던 자료를 백업 하드에 옮기던중 에러가 발생했다.
요즘 기분도 가라앉고, chkdsk 를 시도했으나 복구가 되지 않은 관계로 방치했다가, 다시 시도해서 복구를 했다.
에러의 원인은 기존에 사용하던 1TB 하드디스크(웨스턴 디지털)가 가변RPM 이라고 해서, 약간 특수한 형태의 하드디스크다.
가변속도를 지원한다고 해도 막상 체크를 해보니 5400RPM 이었는데, 7200RPM 이 대세인 시대에 자기네들 나름대로 상품 경쟁력이 있어 보이려고 만든 제품인것 같다.
아무튼, 약간은 불안정한 제품인 탓에, 체크를 해보니 CRC 에러가 발생하고 있었다.
이 에러는 바이너리 정보를 쓰고 읽을때 오류가 발생한다는 것이다.
 
윈도우는 어떤 명령을 실행할때 일정시간 동안 기다렸다가 해당 장치가 반응이 없으면 장치가 없는 것으로 인식하거나 오류가 있다고 판단하는데, 1TB 하드디스크가 반응 속도가 느려서 소프트웨어적으로 오류가 발생한것으로 보인다.
 
오류가 난 상황은 다음과 같다.
1TB 하드디스크에 55G USB외장하드디스크의 파일을 모두 선택해서 옮기도록 명령을 실행했다.
그리고, 1TB 하드에 담겨진 영상 파일 하나를 곰플레이어로 시청중 에러 발생.
이후, 하드디스크에 액세스할 수 없다는 에러메시지가 나온 이후, 포맷을 하라는 알림창이 자꾸 뜨는 것이다.
윈도우를 리부팅 해보기도 하고, 케이블을 연결했다 빼보기를 반복해도 계속 에러 발생.
 
파일시스템 에러라면, testdisk 라는 프로그램을 파티션만 복구하면 되지 않겠나 싶어 시도를 해보았으나 실패.
chkdsk 를 이용해서 복구를 시도했는데, 최초 시도시에 명령 옵션을 잘못 줬기 때문인지 복구 실패.
이후, 방치했다가 웹서핑으로 글을 좀 읽어본후 옵션을 제대로 줘서 다시 시도해서 복구를 했다.
문제의 원인은 USB외장하드라기 보다는 반응속도가 느린 1TB 하드디스크에 파일을 이동하는 동시에 동영상 파일을 읽는 등의 작업량이 많은 작업을 요청하자, 하드디스크의 응답 속도가 느려서 윈도우가 하드디스크를 제어하던중 오류가 발생했고, 이로 인해 파일시스템이 깨진 것으로 보여진다.
 
 
장착중인 1TB 하드디스크에서 파일 이동중에 오류가 한번 난 이후에,
하드디스크 상태를 체크하는 프로그램으로 상태를 보니 교체하라고 경고를 한다.
 
 
하지만, 도크를 이용해 USB 외장케이블로 연결하니 전혀 문제가 없다.
 
 
사용중에 자주 무응답 에러가 발생.
 
 
베드섹터가 있는지 체크했으나, 하드디스크 앞부분에 별도의 베드섹터는 없었다.
하드디스크 상태가 불안하니, 일단 중요한 데이터는 새로 구입한 하드로 옮긴 이후,
해당 하드는 혹시 소실되도 상관없는 데이터들을 백업하려고 장착한 이후,
USB외장 하드디스크에 있던 자료들을 옮기던중 에러 발생.
 
 
에러가 발생한 이후, USB외장하드디스크로 접속이 불가능해졌다.
 
 
이벤트 정보를 보니 NTFS 에서 오류가 발생했다는 메세지가 발견된다.
 
 
하드디스크 자체는 정상적으로 인식되는것 같은데, RAW 라는 글자가 붙어 있는 것이 보인다.
 
 
하드웨어 정보에는 0바이트로 표시.
 
 
chkdsk g: /f 옵션 실행.
 
 
 
오류수정한 부분이 굉장히 많았는데,
chkdsk 를 실행해서 오류를 수정하면, 잘못 저장된 파일 정보를 연결해주거나 끊어버려서
파일 시스템이 정상적으로 돌아가도록 해준다.
 
 
이후, 하드디스크가 복구되어 정상적으로 인식 됨.
하지만, 아직 리부팅하지 않은 상태에서는 하드에 쓰거나 읽는 속도가 매우 느렸다.
리부팅 후에는 다시 속도가 빨라짐.
 
 
리부팅 전에 하드디스크에서 파일을 이동하는 속도가 1M 이하.
 
 
리부팅 후에는 이동속도가 20M 대로 정상.
 
복구한 이후에 USB외장하드에 담겨있던 내용을 모두 옮겼는데, 여전히 용량이 남아있는 것으로 표시되는 오류 발생.
 
파일을 모두 옮겼는데도, 위와같이 용량이 잘못 표시되었다.
포맷 실시.
 
포맷을 시도하니, 기본값으로 '4096바이트' 가 지정되었는데, 이를 '기본 할당 크기' 로 지정.
포맷 완료.
 
아무래도 파일시스템 자체에 에러가 났었기 때문에, 파일시스템을 지웠다가 다시 설정하고, 포맷도 한번 실행해준다.