사는 이야기

하드가 죽었슴다 ... orz

lazykuna 2023. 9. 30. 01:00

아... 어느날부터인가 갑자기 컴퓨터가 이상하게 느려지더니만 그 원흉은 다름아닌 두번째 하드디스크였다. 두 번째 하드디스크만 읽으려고 들면 컴퓨터가 놀라울 정도로 느려지는 것이었다. 이녀석이 운명을 달리했구나라는 것을 직감할 수 있었다.

이런 경험은 처음이라 다소 당황스러웠다. 하드를 잘 부숴먹기로 유명한 모 지인분으로부터 구매한 중고 하드라서 빨리 망가 버린 걸까? 같은 개소리도 생각했지만 지금 상황에선 별 의미 없는 이야기고... 당장 해야 하는 일은 역시 데이터 백업이다.

근데 문제가 생겼다. 이미 하드가 심각하게 맛이 가버린 상태인 것이다. 몇 가지 기본적인 조치를 수행해 보았지만 별반 도움이 되지 않았고 이거 답이 없는 절망적인 상황이라는 것만 뼈저리게 느끼게 되었다.

  1. 일단 느리더라도 파일 복사를 시도해보려고 했다 => 파일 복사 자체가 되지도 않는다. 그냥 렉 먹더니 아무 것도 안함.
  2. chkdsk로 배드섹터 복구를 시도해본다 => 뭔가 복구를 하려고 하는 것 같긴 한데, 오히려 컴퓨터 껐다 켜니 파티션이 날아가 버렸다. 하드에 있던 파일마저 익스플로러로 볼 수 없게 되어 버린 것이다.

그리고 chkdsk 수행 전에는 warning 사인 3개가 전부였는데 chkdsk 돌리고 난 이후에 오히려 재할당 섹터 수가 미친듯이 증가하는 기염을 보여주었다.

그리고 디스크 복구 프로그램을 돌려봤는데

  1. 프리웨어 testdisk => 별반 도움이 되지 않는다. 얘는 날아간 파티션 정보를 살리는 데 주력하지 배드섹터가 창궐하는 상태에서는 도움이 되지 않는다.
  2. File Scanvenger => 개개별로 파일을 복구해보려고 했지만 배드섹터가 있는 영역을 건들 때마다 복구속도가 끔찍히 떨어져서 20kb/s 라는 말도 안되는 속도를 보여주었다. 이대로는 도저히 답이 없었고, 배드섹터도 늘어나는 느낌이었다.

저 평균 응답 시간이 보이는가? 배드섹터가 있는 구역을 건들때마다 하드가 그냥 정신을 못 차린다. 이대로는 파일 복구도 절대로 불가능하다.

이대로는 아예 디스크가 못 쓰게 될 조짐이 보여서, 일단 스캔된 파일 목록을 싹다 뽑아서 저장해두었다. 이후에 동일한 파일을 구할수라도 있도록 ...

disk dump + load가 가능해서 disk dump하는 방향으로 전략을 우회했다. 차라리 속도가 훨씬 낫... 지만 얼마 안 있어서 crc 오류가 나고 멈췄다. 전문 기기/유틸리티 없으면 이대로도 진행 불가.


9/30 Update)

배드섹터가 존재하는 디스크를 스냅샷뜨고 복구할 수 있는 마땅한 유틸이 없어 고심하던 찰나 Disk Snapshot이라는 유틸을 전해듣고 바로 공수해왔다. 트라이얼웨어라고 하지만 한달 후 백업이 끊기는 것 빼곤 별다른 제약이 없는 상당히 양심적인 유틸이라 충분히 활용이 가능하다.

하드가 맛이 가서 파티션 선택도 매우 느리지만 어찌어찌 진행은 된다.

무사히 모든 하드 데이터가 덤프띄워지는 것을 확인했다. 덤프된 데이터를 헥스로 따보니 유의미한 데이터가 들어가 있는 것도 확인할 수 있었다. 배드섹터 개수 보소...

배드섹터가 왕창 있는 구간에서는 속도가 아주 느려지니 희망을 잃지말고 기다리면 된다. 참고로 저기 표기되는 용량은 점(.)이 아니라 콜론(,) 으로 읽어야 한다.

물론 이 상태로는 여전히 파티션이 손상되어 있는 상태이기 때문에 데이터를 살릴 수 없다. 상태가 멀쩡한 하드에 통째로 데이터를 복구시킨 후 파티션 복구/데이터 복구를 진행하면 어느 정도 데이터를 살릴 수 있을 것이다. 당장은 여분의 하드가 없어서 진행하지는 못하겠고, 조만간 공수해야겠다.


10/01 Update)

잡다 용도를 위한 스토리지를 하나 더 시키긴 했는데 (2TB 외장 SSD), 아무래도 그 전에 이 백업 데이터를 살릴 수 있는지를 확실하게 검증해봐야 할 것 같아서 백업 데이터 살리는 작업을 해보기로 했다.

일단 Disk Image Restoration 테스트.

처음에는 실패한다. 왜냐하면 손상된 파티션 구조를 복구하면서 하드 연결이 잠시 끊어져버리기 때문이다 (왜?). 하지만 재시도하면 문제 없이 모든 정보가 덮어씌여지는 것을 확인할 수 있었으니, 문제 없이 완료!

그렇다면, 파티션을 살릴 수는 없을까? TestDisk로 재도전해보기로 했다. 파티션이 완전히 망가져서인지 자동인식시 파티션을 Intel 형태가 아닌 EFI 같은 이상한 놈으로 인식하긴 하는데, 제대로 맞춰서 파티션을 찾아도 망가진 파일 시스템 내부는 읽을 수 없었다. :p

그럼 chkdsk를 쓰면 살릴 수 있나?

뭔가 하긴 하는데... 무시무시한 메시지의 향연이 펼쳐지고... 너무 많이 뜨는 거 보니 예감이 안 좋다.

시간이 지나서 보니 오오! 일부 파일이 유실된 거 빼 정상적으로 고쳐진듯 하나

실제 파일을 읽으면 **전부** 깨져 나온다. :p. 극도로 손상된 하드에서는 chkdsk가 힘을 못 쓰는 듯.

이 상태에서 적당한 파일 복구 툴을 돌려보니 문제 없이 파티션에 존재하는 파일들을 읽어올 수 있었다. (여기서는 Disk Snapshot이라는 유틸로 확인함). 하지만 복구 시에는 여전히 손상된 데이터가 읽혀졌다. 아무래도 하드 복제기를 사용할 시간이 온 것 같다.

10/02 Update)

파일들이 99퍼 복구 실패인걸로 봐서 아무래도 이미지 따는 툴이 제대로 작동하지 않았거나 이미 하드가 절멸 상태에 온 것으로 추정된다. 사실 저번에 하드 클론할때 디스크가 어느 순간부터 제대로 동작하지 않는 듯 해서 약간 의심이 들긴 했다. 후자가 아니었으면 좋겠지만... 혹시 모르니 한번 더 시도해보기로 했다.

원래는 하드 클론 기기를 별도로 주문해서 수행해보려고 했으나, 배드섹터가 있는 하드는 하드 복제기로도 잘 복제가 되지 않는다는 글을 보고 다시 고민에 빠졌다. 아무래도 하드 복제기는 최후의 최후 수단으로 써야할 듯 하다.

그렇게 다른 툴을 찾다가 HDD Raw Copy 라는 것을 발견했는데 이쪽은 프리웨어인데다가 깊은 역사를 자랑하는 것으로 보인다 (dd image export가 가능하다는 데에서 더더욱). 주저하지 않고 해당 툴을 사용하기로 결정했다.

섹터 하나하나 읽는게 이렇게 힘겨울수가 없다...! 그래도 뭔가 진행이 있기에 기다려 보자 하였으나,

약 40m 섹터 부근부터 폭주하기 시작하더니 장치 미준비 오류가 계속 뜬다. 이전에 진행했던 덤프때도 비슷한 상황이 있었다. 어디서 듣기로는 특정 섹터를 지나면 하드가 모든 섹터를 배드섹터인것으로 오해하는 문제가 있어서 이를 고쳐야만 덤프를 뜰 수 있다고 들었는데, 지금은 내가 해볼 수 있는 일은 아니다... 😥 실제로 해당 문제가 발생했을 때 하드 전원을 내렸다 올리면(하드리셋) 다시 읽기가 정상적으로 된다.

이건 전문업체를 가거나 하지 않으면 절대로 복구 못할듯 하다 ㅋㅋ. 그냥 고이 보내드려야 할 듯... 잘 가라.

10/03 Update)

하드 전체 덤프를 뜰 수 없다는 결론에 다다랐지만, 여전히 일부 살리고 싶은 예전 데이터들(사진 같은 것들)이 있었기에 마냥 포기하기에는 미련이 남았다. 그래서, 읽으면 읽을수록 배드섹터가 증가하는 특성을 감안했을 때 좋지 못하지만 데이터 복구 프로그램을 이용하여 살릴 수 있는 데이터만 선별적으로 살려보기로 결정했다.

대략 하루 정도 붙잡고 늘어진 결과, 의외로 생각보다 많은 사진이나 영상들을 살려낼 수 있었다. 물론 큰 파일들은 살리기 몹시 힘들고(읽다가 배드섹터 수십군데 있는 지역 만나면 거기에서 진행을 못 한다), 비교적 작은 파일들은 70~80% 확률로 많이 살려낼 수 있었다. 다소 아쉽긴 하지만 이 정도만 해도 상당히 많이 살려낸 것이라고 생각한다. 그렇게 약 10gb 정도의 파일을 살려내고 하드를 보내드렸다.

물론 단순 복구 프로그램을 사용하는것"만"으로는 빠르게 파일을 살려낼 수가 없다. 하드가 6시간(혹은 특정 섹터를 지났을 때)이 지나면 죽어버리는 펌웨어 이슈가 있는 듯 하여 주기적으로 하드리셋(전원 내리기)를 시켜줘야 하고, 배드섹터를 밟았을 때 빠르게 요청을 취소하기 위해 기기 연결을 끊어버리는 (걍 usb를 뽑아버렸다) 꼼수 등을 사용했다 (다만 이 경우는 리눅스로 작업했더라면 disk timeout 파라미터를 조절하여 이러한 수고를 덜 수도 있었을 듯 하다). 정말이지 어거지로 복구를 했다고 말할 수 있고, 그만큼 하드 상태가 말이 아니다. 어떻게 아무것도 안 했는데 하루아침에 이렇게 작살이 날 수가 있지... 이해가 안 감!

다만 이러한 작업을 하면서 느낀 점도 있는데, 기존에 존재하는 덤프툴이나 리커버리 툴에도 하드리셋을 감안한 기능이 필요해 보였다. 대부분의 작업들이 Pause가 없고 Abort밖에 없어서, 특정 섹터를 건너뛰거나(섹터 범위를 지정해서 리커버리하거나) 작업도중 하드리셋을 하는 것을 허용하지 않았다. ddrescue에는 섹터 범위를 지정할 수 있는 것 같기도 한데, 잘 모르겠다.

그리고 확실히 고장난 상태에서 하드를 쓸수록 살릴 수 있는 데이터량이 급감하는 것을 확인할 수 있었다. 원래 처음 스캔할 때 하드에 약 12만개 정도의 엔트리를 볼 수 있었는데 이제는 7만개밖에 보이지 않고, 그나마도 폴더명이 날아간 경우가 꽤 많았다.


그래서 얻은 교훈.

  1. 손상된 하드 복구는 프리웨어가 따로 없다. 전문 프로그램을 사용해야 함.
  2. 배드섹터가 있는 하드에 chkdsk 돌리면 ㅈ 된다. 돌리기 전에 하드 상태 먼저 파악하고 물리손상이거나 다발적으로 문제발생했다면 바로 현상유지하고 복구하는 방향으로 가야 함.
  3. 배드섹터가 있는게 확인됐다면 파일 하나하나 복원할 생각 말고 덤프떠서 복원할 각오 해야 한다. 배드섹터 걸린 곳은 복구도 오래 걸려서 사실상 시간안에 처리하기 불가능하기도 하거니와, 배드섹터 접근하면서 계속해서 하드가 손상됨.
  4. (백업은 꾸준히)

그리고 또 하나의 꿀팁은, 하드 복제기(도킹스테이션)을 사용하면 이렇게 종일 컴퓨터 켜고 덤프따는 고생을 덜 해도 되고, 더불어 필요하면 외장하드로도 쓸 수 있어서 꽤 좋은 듯 하다. 하나 구비해 둘만한 듯.