닌텐도 스위치 17.0.0 펌웨어 업데이트 이후 벽돌, 정펌 부팅이 되지 않는 문제의 임시 해결 방법 (사용금지)
정펌에서 스위치의 시스템 펌웨어
를 업데이트한 이후 정펌으로 더 이상 부팅을 할 수 없다는 문의들이 있어 직접 테스트를 진행해보았습니다.
사실 이런 상황은 일반적이지 않은데 보통은 시스템 펌웨어
버전이 올라갔다고 해서 기존 에뮤낸드가 영향을 받는 구조가 아니기도 하지만, 반대의 경우도 마찬가지로 영향이 없는 것이 일반적인 상식입니다.
이런 갑작스런 시스낸드 부팅 불가는 전에 없던 현상으로 저로써는 이해할 수 없는 경우였습니다.
공통적으로 발생하는 증상으로는 커스텀 펌웨어
로의 부팅에는 문제가 없지만, 오직 정펌(Stock)
으로 부팅하는 데에만 문제가 발생한다는 것입니다.
커스텀 펌웨어의 시스 모듈은 Stock(순정)
의 경우 전부 비활성화 되기 때문에 이게 가능한 일인가 싶었는데, 놀랍게도 이번 17.0.0
펌웨어에서 작은 변화가 있었습니다.
본 포스팅의 내용으로 문제를 해결하는 경우 반드시 주의해야할 사항이 있습니다.
만약 최신버전의 아트모스피어(1.6.0)가 아닌 실수로 다른 버전을 사용 시 오히려 기존 구동불가 문제가 한층 더 심각해진다고 합니다.
포스팅은 재미삼아 후기 정도로 읽어 보시거나 건너 뛰시고 여기 를 눌러 안전하게 설치하는 방법으로 이동해주세요.
마침 국내 커뮤니티에도 원인에 대한 내용이 링크 되어 있어 내용을 쉽게 찾을 수 있었습니다.
위 사진처럼 레딧을 통해 해외 유저가 파악한 원인과 해결법을 확인할 수 있었습니다.
저 역시 스위치의 커스텀 펌웨어 구조에 대해 전문가는 아니다 보니 위 문제를 정확하게 100%
이해하고 있지 않습니다.
다행히 한 유저가 아트모스피어 개발자인 SciresM
을 인용해 작성해둔 댓글이 대부분의 내용을 이해하기 쉽게 설명해 두었습니다.
인덱서 목록에 없는 파일은 이전에 시스템 초기화나 eMMC 재구성을 한 사람들에 의해 발생한 것으로 보입니다.
따라서 17.0.0 버전으로 업데이트하면 이와 같은 작업을 수행한 경우 콘솔이 소프트 브릭 상태가 될 수 있습니다.
만약 과거 단 한번이라도 시스템을 삭제한 이력이 있거나 에뮤낸드로 시스낸드를 엎은 경우 특정 파일에 인덱서 목록이란게 빠져있어 마운트에 문제가 생겼을 것이라는 이야기입니다.
물론 이는 에뮤낸드와 시스낸드를 가리지 않고 발생하는 문제이기 때문에 지금은 정펌만 문제가 되는 것 처럼 보이지만 사실 커펌에서도 동일한 문제가 발생합니다.
어쨌든 밴 방지를 위해 공식적인 루트의 공장 초기화가 아닌 로그까지 삭제하기 위해 비정상적인 초기화를 했던 기기들이 위 정펌 부팅 불가 현상이 발생 가능한 대상이 될 것 같습니다.
대표적으로 Haku33
이나 ChoiDujour
혹은 TegraExplorer
같은 툴들은 지금까지 기기에 최소 한번 이상 사용했을 가능성이 높습니다.
특히나 통칭 구구형
이라 불리는 초기 모델의 연식을 생각하면 상당히 많은 기기들이 현 시점에 위 조건에 해당되지 않을까 싶습니다.
테스트를 위해 작업한 기기의 시스템 버전은 16.1.0
이며 에뮤낸드
를 작성 후 시스낸드를 업데이트할 예정입니다.
우선 기존 시스낸드를 복제한 에뮤낸드가 존재하고 이 버전은 16.1.0
버전으로 설치되어 있으니 마찬가지로 커펌 파일은 익숙한 KEFIR 710
을 사용했습니다.
후다닥 17.0.0
대응에 늦고 있는 케피르를 설치해봅니다.
테스트 과정은 자세히 다루지는 않고 간략하게 사진으로 대체하겠습니다.
시스낸드 업데이트를 진행하고 재부팅을 해보니 역시나 닌텐도 로고
이후 블랙 스크린
증상을 보이며 뻗어 버립니다.
이른바 소프트 브릭
이라고 불리는 일종의 벽돌
이 된 셈입니다.
여기에선 12초간 전원을 눌러 강제종료
가 가능하지만, 여전히 정펌으로는 부팅이 진행되지 않고 있습니다.
이는 구버전과 이번 17.X
버전의 파일 마운트 방식의 차이로 발생한다고 하니 그럼 어떻게 해결해야할지 궁금해집니다.
다행히도 문제의 인덱서 목록을 재구축 하는 간단한 방법이 있었습니다.
특정 세이브를 삭제하고 시스낸드 커펌으로 부팅시 HOS에서 해당 파일을 재작성 한다고 하니 레딧의 안내를 따라 그대로 한번 따라 진행해보겠습니다.
1. TegraExplorer(테그라 익스플로러) 다운로드
TegraExplorer 는 Payload
파일만으로 동작이 가능한 일종의 탐색기입니다.
스위치의 OS
인 Horizen OS(HOS)
가 동작하는 시점 이전에 사용이 가능하기 때문에 사실상 스위치의 모든 파일을 건드릴 수 있는 강력한 기능을 가지고 있습니다.
위 TegraExplorer.bin
페이로드 파일을 다운로드 받아 주도록 하겠습니다.
그리고 잘못 켜진 채로 멈춰있는 스위치의 경우
마찬가지로 강제 종료 방법인 전원키를 12초간 길게 누르는 방법
으로 완전히 종료해줍니다.
이후 RCM
모드로 진입해서 페이로드를 주입할 준비를 해줍니다.
TegraRcmGUI
등을 이용해 다운로드 받은 테그라 익스플로러의 페이로드를 주입해줍니다.
테그라 익스플로러로 진입하게 되면 위처럼 CLI
기반의 어둡고 무시무시한 화면이 나타납니다.
다행히 조이콘 지원이 확실하기 때문에 방향키
와 A
버튼을 이용해 사용할 수 있습니다.
먼저 Browse EMMC
를 선택해서 통칭 시스템 낸드
혹은 시스낸드
라 칭하는 EMMC
저장소로 이동합니다.
다음은 아래의 SYSTEM
항목으로 이동하겠습니다.
이번에도 아래의 save
를 선택해줍니다.
수많은 세이브 파일들이 나타나는데 나머진 절대 건드리지 않는게 속 편합니다.
가장 상단의 두번째 항목인 8000000000000120
세이브로 커서를 이동합니다.
삭제하면 부팅시 재생성 된다는 위 파일을 백업하는게 사실 크게 의미가 없을듯 하지만, 레딧에서 알려준 것처럼 SD 카드
에 일단 백업하도록 하겠습니다.
세이브 위에서 A
버튼을 눌러주시면 이번엔 메뉴가 팝업으로 열리게 됩니다.
Copy to clipboard(클립보드에 복사)
를 선택해서 클립보드에 위 세이브를 복사해줍니다.
다음은 B
버튼을 연타해서 테그라 익스플로러의 초기 화면으로 되돌아갑니다.
SD 카드에 복사해둔 세이브를 백업하기 위해 이번엔 첫번째인 Browse SD
를 선택해줍니다.
화면에 들어가자 마자 바로 상단에 나타나있는 Clipboard -> current folder (클립보드 -> 현재 폴더)
메뉴를 선택해줍니다.
세이브 파일이 안전하게 SD 카드로 복사 완료된 모습입니다.
이제 B
버튼 연타로 다시 테그라 익스플로러의 초기 화면으로 돌아가겠습니다.
이번엔 정말 문제의 해당 세이브를 삭제하도록 하겠습니다.
초기 화면에서 다시 Browse EMMC
를 선택하고 SYSTEM
-> save
를 거쳐 8000000000000120
세이브 위에 커서를 두고 A
버튼으로 메뉴를 열어줍니다.
엉뚱한 세이브를 삭제하지 않도록 작업 간에 다시 한번 정확하게 이름을 확인해주세요.
팝업 메뉴 화면에서 붉은색으로 표시된 Delete file
을 선택해줍니다.
다시 한번 정말 삭제할 것이냐 묻습니다.
방향키 우측으로 커서를 이동해 Yes
를 선택해줍니다.
문제의 8000000000000120
세이브가 정상적으로 삭제되었습니다.
이것으로 작업은 모두 끝났습니다만, 다음 조건이 문제입니다.
바로 시스낸드 커펌으로 한번은 정상 부팅을 해야 위 세이브 파일이 다시 재생성된 다는 것입니다.
2. Atmosphere 최신 버전 설치(혹은 Asap등의 17.x 임시 대응 올인원 사용)
시스낸드 커펌
으로 단 한번이라도 부팅에 성공해야만 스위치의 HOS
가 자동으로 누락된 파일들을 생성하게 되니 일단 한번은 정상적인 부팅을 할 필요가 있습니다.
그러나 지금껏 업데이트와 달리 구버전 커펌 파일로는 부팅은 어림도 없으니, 17.0.0
펌웨어를 지원하는 아트모스피어의 최신 버전이 필요합니다.
현재 포스팅 시점 기준으로 프리 릴리즈 버전인 atmosphere-1.6.0-prerelease-8a9eb85e0+hbl-2.4.3+hbmenu-3.5.1.zip
파일과 함께 fusee.bin
을 다운로드해줍니다.
참고로 fusee.bin
파일이 순정 아트모스피어의 payload(페이로드)
파일로써 커펌으로 기동하기 위해 페이로드로 주입되어 사용하게 됩니다.
기존에 사용하던 커펌 파일은 정펌 부팅 문제만 해결되면, 모두 그대로 재사용이 가능할테니 원상복구 작업이 번거롭지 않도록 별도로 백업
등의 폴더를 하나 만들어 파일을 이동시켜줍니다.
다만 Nintendo
폴더와 emuMMC
폴더의 용량은 보통 상당히 크기 때문에 백업을 하지 않고 그냥 두도록 하겠습니다.
이제 SD 카드에는 달랑 위 두 폴더만 남아있게 됩니다.
다운로드 받은 아트모스피어의 최신 버전의 압축을 풀고 파일을 모두 SD 카드로 복사해줍니다.
그리고 아트모스피어 역시 파티션 타입의 에뮤낸드를 지원하고 있기 때문에 이대로 부팅한다면 에뮤낸드로 부팅이 되어버립니다.
위 emuMMC
폴더를 그대로 두고 시스낸드 커펌으로 부팅하도록 설정하는 것 조차 상당히 번거롭습니다.
따라서 간단하게 기존 emuMMC
폴더를 emuMMC2
등으로 잠시 이름을 엉뚱하게 바꾸어 놓도록 하겠습니다.
다음은 TegraRcmGUI
를 이용해 아트모스피어 부팅을 위한 fusee.bin
페이로드를 주입하겠습니다.
만약 잘못된 버전의 아트모스피어로 부팅을 시도하는 경우 기존 벽돌보다 오히려 심각한 문제가 발생할 수 있습니다.
급히 시스낸드 정펌을 이용해야하는게 아니라면 작업을 진행하지마세요.
오랜만에 만나는 정겨운 아트모스피어 부트로고를 지나 정상적으로 커스텀 펌웨어로 부팅이 진행됩니다.
이미 이 시점에서 문제는 해결 되었다고 볼 수 있습니다.
부팅 후 설정
-> 본체
메뉴로 이동해보시면, 현재 시스템 펌웨어 버전은 17.0.0|AMS 1.6.0|S
로 시스낸드 커펌으로 정상적으로 부팅 된 것이 확인됩니다.
정상 부팅을 확인 했으니 이제 더 볼 것은 없습니다.
기기의 전원을 꺼줍니다.
이후부터는 RCM 모드
없이 그냥 전원을 넣어 보겠습니다.
이젠 다행히 정펌으로 부팅 문제 없이 17.0.0
버전으로 구동이 가능한 것을 확인할 수 있습니다.
이렇게 부팅 문제는 모두 해결된 것을 확인했으니 기기를 종료하고 다시 기존 파일을 복구하도록 하겠습니다.
이제 다시 원래의 상태로 되돌리기 위해 에뮤낸드 부팅을 막기 위한 설정이었던, emuMMC2
-> emuMMC
등의 폴더명을 원래대로 변경해줍니다.
잠시 설치해둔 아트모스피어 관련 파일들을 모두 삭제하고 위 사진처럼 Nintendo
, emuMMC
폴더만 깔끔하게 남겨줍니다.
백업 폴더에 복사해 두었던 기존 커펌 관련 파일들을 다시 SD 카드
에 원상복구해줍니다.
기존에 사용하던 페이로드를 이용해 커스텀 펌웨어로 부팅하면 종전처럼 정상적으로 부팅 될 것입니다.
당연한 이야기지만 구버전의 기존 에뮤낸드는 아직 문제가 없습니다.
에뮤낸드등의 설정을 변경한 것이 없으니 미리 구성하신 분들은 알아서 에뮤낸드로 부팅되실겁니다.
물론 문제가 해결 되었으니 정펌으로 몇번을 다시 부팅하더라도 별 다른 부팅 문제는 없습니다.
이제 마음껏 다시 정펌을 사용할 수 있게 되었습니다.
그러나 이를 번복하고 당분간은 조심해야 할 것 같습니다.
갑작스러운 변경으로 상당히 당황했는데 문제를 공유해주신 분들에게 감사합니다.
덕분에 제 기기도 별 탈 없이 수정이 가능했으나 안전한 수정방법은 아니어서 사용을 권장하기는 어려울 것 같습니다.
이와 같은 문제로 인해 앞으로 Haku33
이나 TegraExplorer
의 업데이트 대응에 따라 하드리셋
이 필요한 경우 작업하는 방법도 바뀌어야 할 것 같습니다.
어쨌든 당분간은 17.x
대 버전으로의 펌웨어 업데이트 시에는 위와 같은 특성을 이해하고 작업에 주의하시는 것이 좋겠습니다.
현재 아트모스피어 개발자가 휴가를 떠났으며 돌아오면 새로운 해결책을 제시한다고 하니 당분간만 정말 급한 경우 사용하는 임시 대책이 되겠습니다.
Asap
등의 경우 개발자인 Asadayot
님이 워낙 부지런하셔서 왠지 CFW
용 부팅 스크립트로 내어주시지 않을까 싶어 기대가 되기도 했는데... :)
포스팅 직후 벌써 만들어주셔서 이것도 확인해보아야겠습니다.
도움이 되시길 바랍니다.
감사합니다.