USB 복구 - I/O 오류로 인식 불가 및 쓰기 금지 오류 해결
지난번 아이가 32gb의 USB 메모리를 쓰고 있었는데 갑자기 파일을 복사하려고 하면 쓰기금지가 되어서 더 이상 복사 안된다고 고처달라고 했다.
일단 Windows 10에서 뭔짓을 해도 쓰기 금지가 해결되지 않았다.
우선 인터넷에 공개되어 시도한 방법으로는
1. Diskpart 를 이용한 속성 변경 > 실패
2. Regedit를 이용한 쓰기 금지 값 변경 > 실패
3. Transcend 복구 유틸리티를 이용한 방법 > 실패
무슨 짓을 해도 I/O 에러가 나는 경우라 포맷도, 복구도 불가능했다.
이제부터는 저런 방법 외의 것을 찾기 시작했다.
결국은 해결했는데 러시아 사이트로부터 쉽게 말해 펌웨어를 변경하여 덮어씌웠다.
적어도 물리적인 손상만 없으면 어느 정도 복구의 희망이 있다고 본다.
우선 차후에 또 이런 일이 발생할 우려가 많아서 기록으로 남겨놓는 것도 이 글의 목적 중 하나다.
(아울러, 복구 시도의 방법을 안내하는 것과 기록하는 것이기 때문에 이후 발생되는 문제에 대해서는 책임지지 않습니다.)
다음의 방법은 신뢰할 수 있는 방법은 아니며, 다운로드하는 파일에 트로이목마 등의 악성코드가 있을 수 있다.
때문에 나는 포맷해도 상관없는 노트북으로 관련자료를 다운로드하여서 시도하였다.
먼저 아래 사이트를 방문해 보자.
iFlash - page #1 — FlashBoot.ru
iFlash - page #1 — FlashBoot.ru
flashboot.ru
여기서 보면 VID 값과 PID을 찾아서 입력해 주면 해당 USB의 정보를 알 수 있다.
그런데 내 USB의 값을 그냥은 알 수가 없다. 제대로 인식을 안 하는데 이걸 어떻게 알 수 있냐는 것이다.
그러면 일단 물리적인 손상이 없다는 가정으로 연결하면 일단 작동은 안 해도 USB 연결은 될 것이다.
장치 관리자에서 뜨기만 하면 희망이 있다.
자, 이제 아래 사이트에서 압축파일을 다운로드한다.
ChipEasy v1.5.6.6 EN — FlashBoot.ru
ChipEasy v1.5.6.6 EN — FlashBoot.ru
flashboot.ru
다운로드하여서 압축을 풀고 실행해 준다. 실행 중 악성코드가 있다면서 삭제될 수 있으니 앞에서 이야기한 것처럼 각오하고 진행해야 한다. 삭제되면 보안을 풀고 다시 풀고 실행.
정상적으로 실행하면 여러 가지 정보가 아래와 같이 뜬다.
여기서 볼 것은 우선 VID 값과 PID 값이다.
혹시 모르니 위의 결과창을 캡처해 두자.
Flashboot 사이트에서 우선 VID값과 PID값을 입력하여 정보를 찾는다.
그러면 위의 값에 해당하는 제품들의 리스트가 나타난다.
이제 여기서 Device vendor와 model, 그리고 중요한 Controller를 찾는다.
몇몇 개가 보일 것이다. 그러면 내가 가진 것이 32g이지만 없을 수도 있다. 그러면 가장 근접한 용량의 것을 찾는데 사이트의 상단에 UTILS에 링크가 있어야 한다. 어차피 정보를 읽어오면 해당 용량의 정보도 같이 불러와져서 대부분 쓸 수 있는 것 같다.
이 링크를 통해 해당 USB에 맞는 Controller 프로그램(AlcorMP)을 다운로드하여서 실행하면 아래와 같다.
실제 진행된 자료가 없어서 인터넷에 있는 것을 가져왔다. (정말로 성공할지 몰라서 캡처를 안 했다.)
정상적으로 처리가 되면 1~16번 중에 활성화가 되고 Start버튼을 누르면 제품에 맞는 controller로 입력되게 된다.
성공하면 정상적으로 USB가 인식된다.
다만, 제품에 따라 차이가 있겠지만 용량이 달라질 수 있다. 그래도 살아난 게 다행이다.
그리고 몇몇 복사 및 삭제 테스트를 진행하고 정상임을 확인 후 아이에게 다시 돌려줬다.(뿌듯)
자, 이제 이를 토대로 대략 4~5년 전에 사망한 나의 128gb Transcend USB메모리의 복구 시도를 하게 되었다.
이것도 마찬가지로 별의별 방법을 다 시도했으나 실패했다.
이것도 위의 과정과 마찬가지로 ChipEasy로 실행했으나 인식하지 못했다.
먼저 이 USB의 상태는 분명 물리적으로 이상은 없고 장치관리자에 인식은 하고 드라이브도 보이지만 드라이브를 클릭하면 무한로딩에 빠지는 현상이 있다. USB의 led는 반복적으로 켜졌다꺼졌다를 일반적인 상황보다 빠르게 나타내는 것이었다.
우선 위의 ChipEasy로는 인식을 못해서 다른 툴을 찾았다.
USB Flash Info라는 툴이다. 위의 것은 인식 안 되는 것을 이 녀석은 인식을 했다. 이게 더 낫다는 것이다.
아래 사이트에서 다운로드할 수 있다.
USB Flash Info - определение PID и VID флешек — FlashBoot.ru
USB Flash Info - определение PID и VID флешек — FlashBoot.ru
Программа для Windows, которая показывает основные данные о флешке. А именно это значения PID и VID, с их помощью можно найти утилиту для восстанов
flashboot.ru
이것으로 실행한 결과 다음과 같은 정보를 알 수 있다.
정보를 보면 VID값과 PID 값이 나타난 것을 알 수 있다.
그래서 해당 사이트에서 값을 입력하고 리스트는 나타났으나 역시 128g는 없었다. 그래서 UTILS에 링크가 있고 가장 근접한 64gb의 프로그램을 다운로드하여서 실행했다. 프로그램은 Dyna Mass Storage Production Tool이다.
오류 문제가 심각해서였는지 한 번에 되지 않았다.
그래서 프로그램 문제로 판단하고 TRANSCEND-SM32X-PV1.2.44-BY-USBDEV-Q1022 버전을 같은 사이트에서 찾았다.
그런데 이 프로그램을 찾는 과정이 쉽지만은 않았다. 앞서 링크에 있던 프로그램으로 한번에 안된 이유가 데이터베이스에 해당 것이 없었기 때문이다.
다행인 것은 먼저 받은 프로그램으로 해당 USB의 Status를 확인하는 것인데 중요한 것은 IC Version이다.
Controller의 정보인 것이다. 이 3267AB 정보를 토대로 검색해서 해당 버전을 찾은 것이다.
위의 프로그램과 두 번째 받은 프로그램(SMI Mass Production Tool)에서 먼저 USB의 부트를 계속 지저 주었다. 한 몇십번은 시도한 것 같다.
그러다 결국 초기 오류로 오두방정을 떨던 USB의 led가 서서히 켜졌다 꺼졌다로 반복되는 일반 모드로 돌아왔다. 아직은 인식이 된 상태는 아니며 대기상태인 것이다.
여기서 벽돌이 되냐 복구가 되냐인 것 같다. 어차피 4~5년간 벽돌상태였으니 망가지면 그걸로 끝인셈이다.
시도하는 도중 실패하면 오른쪽 상단에 붉은색 Fail 문자, 성공하면 녹색의 OK가 뜨는것 같았다.
이 대기상태에서 바로 두 번째로 받은 툴을 통해 부트 복구에 성공하게 되었으며 이 과정에서 VID값은 변경된 것 같다.
다만 용량이 기존 128gb에서 118gb로 10gb가 줄어들었다.
아마도 복구하면서 제외시킨 건지, 오류가 있는 부분을 블록처리한 것인지는 모르지만 일단 복구된 것으로 나머지를 쓸 수 있어서 다행이다.
사실, 이것도 정말로 성공할줄은 몰라서 캡처를 안했다.
아직 복구할 16gb 마이크로 SD카드, 128gb SSD 하드가 있는데 혹시나 이런것도 되는지 확인해 보고 캡처해봐야겠다.