서론
저처럼 구형 MacBook을 사용하고 계신다면, 기기 내부의 SSD를 업그레이드하셨을 수도 있습니다. 그때는 모든 게 완벽하고 멋졌죠. 저는 OpenCore Legacy Patcher로 Ventura를 설치한 1TB NVMe SSD MacBook Air 2015를 사용해 왔습니다. 방법이 궁금하시다면 이 글을 확인해 보세요.
그야말로 최강이었는데, 갑자기 상황이 바뀌었습니다.
문제
몇 달을 잘 사용하던 어느 날, MacBook이 무작위로 멈추고 다운되는 현상이 시작되었습니다. 로그인하자마자 기기가 다운될 정도로 심각해졌죠. 보고서 버튼을 눌러 크래시 리포트를 읽어 보니 이런 내용이 있었습니다:
panic(cpu 0 caller 0xffffff8016542836): nvme: "3rd party NVMe controller. Loss of MMIOspace. Write. fBuiltIn=1 MODEL=Kingston FW=S5Z42105 CSTS=0xffffffff US[1]=0x0US[0]=0x5a VID=0x1987 DID=0x5012 CRITICAL_WARNING=0x0.\n"@IONVMeController.cpp:6053이 보고서를 읽어 보니 NVMe 컨트롤러와 관련된 문제라는 것을 알 수 있었습니다.
해결책 찾기
“시스템 설정에서 설치한 업데이트 때문인가?”라고 스스로에게 말했죠. 아무튼 OpenCore를 업데이트하고 다시 패치해 보며 드라이버 문제인지 확인했지만 소용이 없었습니다. 그래서 Google에 검색해 보았습니다.
똑같은 문제를 겪는 사람이 꽤 많았는데, 공통점은 모두 MacBook에 서드파티 NVMe SSD/M.2 드라이브를 업그레이드했다는 것이었습니다. 그러려면 어댑터(이상적으로는 Sintech)를 사용하거나 특정 모델의 SSD를 사용하는 등의 방법을 썼죠. 사람들이 말하는 대로 다 따라 했는데도 여전했습니다.
Apple 지원 포럼과 다른 웹사이트들도 확인했습니다. 심지어 인터넷 복구로 MacBook을 Monterey 공장 초기 상태로 재설치했는데도 똑같은 이유로 다운되었습니다. 그래서 소프트웨어 문제가 아니라는 결론을 내렸습니다.
다른 사람들에게 효과가 있었던 방법
SSD 펌웨어 업데이트
SSD 펌웨어를 업데이트해서 해결했다는 사람들도 있었습니다. 저도 그렇게 했습니다. 크래시 리포트에서 모델을 확인할 수 있는데, 위에서 보시다시피 제가 사용하는 모델은 Kingston이고 펌웨어 번호는 S5Z42105입니다. Kingston 공식 웹사이트에서 제 A2000 SSD의 최신 펌웨어가 S5Z42109라는 정보를 찾았습니다.
어려운 점은 Windows 설치 프로그램만 제공한다는 것입니다. 서드파티 SSD가 macOS에 설치되도록 만들어진 게 아니니 이해는 갑니다. 따라서 사용 중인 드라이브가 macOS에서 드라이버 업데이트를 지원하지 않는다면, 기술에 익숙하지 않은 분들은 다음과 같이 할 수 있습니다:
- MacBook에 Windows를 설치하고, Windows 안에서 드라이버 업데이트를 다운로드해 실행합니다. 그런 다음 인터넷 복구 도구나 macOS USB로 디스크 또는 백업(Time Machine)을 설치해 macOS를 되살립니다. Windows를 다운로드하고 설치해야 하므로 시간이 많이 걸리며, 전체 과정에 최소 몇 시간이 소요됩니다. Apple의 인터넷 복구가 터무니없이 오래 걸린다는 것은 말할 것도 없죠. 복구를 끝내는 데 하루 종일 걸린다고 생각하세요.
- 원하는 Linux 라이브 부팅 USB를 만들어 라이브 모드로 부팅합니다. 그런 다음 아래처럼
nvme명령으로 설치합니다.
출처: 이 GitHub 저장소에서 안내를 찾았습니다. 그분께 감사를 표합니다. 하지만 기억하세요, 안내만 사용하고 파일은 사용하지 마세요. 여러분과 저는 서로 다른 브랜드의 다른 드라이브를 사용하고 있으니까요.
완료하면 아무 일도 없었던 것처럼 macOS로 재부팅할 수 있습니다. 다만 부팅 가능한 Linux 라이브 USB를 만드는 지식이 필요합니다. 그렇게 어렵지도 않고 시간도 덜 걸리며, macOS를 지울 필요도 없습니다. 이런 튜토리얼을 따라 하시면 됩니다.
그래서 절차는 다음과 같습니다:
Linux 라이브 USB 만들기 > Linux를 라이브 모드로 부팅 > 최신 SSD 드라이버를 찾아 다운로드 > 위 안내를 따르기 > 종료하고 Linux USB 분리 > macOS로 다시 부팅.
섀시 열기
- SSD 재장착 - 제가 찾은 한 댓글 작성자는 SSD를 다시 장착(물리적으로 분리했다가 단단히 다시 연결)하니 문제가 해결되었다고 했습니다. 하지만 섀시를 열려면 MacBook 전용의 그 이상한 드라이버가 필요합니다.
- SSD 및 메인보드 청소 - Apple 지원 포럼의 또 다른 댓글 작성자는 SSD가 있는 근처에 젤리 같은 것이 있었는데, 그것을 제거하는 것만으로 크래시가 해결되었다고 했습니다.
새 SSD와 어댑터 구매
이건 정말 최후의 수단입니다. 이 구형 MacBook 하나 때문에 누가 SSD를 또 사겠습니까?
또한 한 댓글 작성자는 원래 SSD로 되돌리니 문제가 해결되었지만, 새 SSD를 다시 넣으니 문제가 재발했다고 했습니다.
사람들은 SSD를 잘 사용하다가 몇 달 또는 1년 후에 이 문제를 겪고 있습니다. 새로 사서 몇 달 후에 같은 문제를 다시 겪는다면 어떨까요?
제 문제를 해결한 방법
자, 여러분이 여기까지 온 이유입니다. 이건 백만 달러짜리 정보입니다.
제가 발견한 것
섀시를 열지 않고 가능한 모든 것을 필사적으로 시도한 끝에 - Linux만 사용하고 macOS를 포기해 보기도 했지만, 맙소사, Linux도 똑같이 멈추더군요! SMC와 NVRAM 초기화도 해 보았습니다. 그래서 하드웨어와 관련된 문제라는 것을 알았습니다.
소프트웨어 문제가 아니에요, 정말로!
인터넷 사람들이 제게 말하는 것과는 꽤 상반되는 이야기죠.
사람들은 재장착으로 해결되었다고 했고, 어떤 이들은 하루 사용 후 문제가 다시 발생했다고 했습니다. 즉, 실제로 문제가 해결되긴 했지만 일시적이라는 뜻입니다. 뭔가는 제대로 된 것이지만, 전부는 아니라는 의미죠.
방법은 이렇습니다:
MacBook의 전원을 껐습니다.
오른손으로 주먹을 쥐고, 왼손으로 닫힌 MacBook을 거꾸로 들었습니다.
그런 다음 MacBook 뒷면을 고르게 때렸습니다. 부수려는 게 아니라 고치려는 정도의 힘으로요. 무슨 말인지 이해할 만큼 똑똑하시다면 아실 겁니다.
부팅했더니, 짜잔.
이틀 연속 크래시가 없었습니다.
저는 옛날식 “TV를 때려서 신호를 좋게 만드는” 방식으로 MacBook 기술 문제를 해결했습니다.
어르신들의 지혜가 좋네요.
저는 미치지 않았습니다
설명하자면, 제가 한 일은 간단합니다. MacBook 내부의 일부 연결이 불안정했던 것입니다.
어디서, 왜, 어떻게인지는 모르겠지만, 분명 그런 것이 있었습니다.
어떤 사람에게는 SSD 재장착이었고, 다른 사람에게는 젤리나 부스러기가 원인일 수 있습니다. 알 방법이 없죠. 저는 그 드라이버도 없었습니다.
때리면 - 부스러기가 있다면 떨어져 나갈 것이고, 사소한 연결 문제라면 제자리로 돌아갈 수 있습니다(초기화처럼).
최종 레시피
그래서 적합한 드라이버도 없이 절박한 마음에, 진동이 작은 이물질을 제거하는 데 도움이 될 거라는 생각과, 제가 지닌 옛 지혜, 그리고 조급한 분노를 결합했습니다.
이 짜증나는 “3rd freaking party NVMe controller” 문제를 해결했다고 자랑스럽게 말할 수 있습니다, 그렇습니다! 드디어 다시 일할 수 있게 되었습니다.
당시 저는 뒷면을 때리기 직전에 iPhone으로 새 MacBook을 찾아보고 있었고, 속으로 “도움이 안 되면 새로 사자. 되면 좋고.”라고 생각했습니다.
잃을 게 없었죠.
댓글은 언제나 환영입니다.
(댓글 섹션이 보이지 않으면 AdBlock을 끄고 페이지를 새로고침하세요)
이 방법으로 문제가 해결되셨다면, 아래에 메시지를 남겨 주시고 공유해 주세요.
그래야 사람들이 이게 진짜라는 걸 알 수 있으니까요, 정말 효과가 있습니다!
MacBook을 때리며 즐거운 시간 보내세요!
Apple 포럼 참고 자료:
-
Google에서 “3rd party NVMe controller”로 검색되는 모든 것.