GitHubで、SciresM氏がFusée Gelée(NVIDIA Tegraプロセッサの脆弱性を利用し起動時に任意のコードを実行するcoldboot exploit)を利用したりModチップを利用したりすることで起動することができるNintendo SwitchのカスタムファームウェアAtmosphere 1.6.1 prerelease(7f4450f93)をリリースしていました。
Happy June 15th! Atmosphere 1.6.1 is now in pre-release: https://t.co/KtGinrG1Gr
An improved solution was added for the problem bricking some consoles on update to 17.0.0. For details, see the writeup I made: https://t.co/Lpo3kjqOo0
I hope you all enjoy! :)
— Michael (@SciresM) October 16, 2023
今回は1.7.0に更新後にbrickする事案が多発していたことからその対応が盛り込まれました。Atmosphere 1.6.0でSciresM氏が外出先でいつものPCを持ってなかったことから実装できなかった改良も盛り込んだためバージョンの数字も更新されました。
So, this issue where updating to 17.0.0 can brick units which have wiped emmc in the past. It's more common than I'd hoped.
I'll be updating atmosphere to automatically fix it after-the-fact (without users needing to follow multiple steps), in addition to the when-happening fix.
— Michael (@SciresM) October 16, 2023
17.0.0にアップデートすると、過去にeMMCを消去していた場合にbrickする可能性があります。思っていたよりも普通に起こっているようです。
そのためAtmosphereのアップデートで、ユーザーが何の操作も不要で自動的にその問題を修復できるようにします。
先日リリースされたNintendo Switch システムバージョン 17.0.0に対応したAtmosphereですが、SciresM氏が言及しているように以前eMMCを消去していた場合に17.0.0へのアップデートでSwitchがbrick(文鎮化)することが想像以上に発生していました。今はその原因がeMMCに起因することが分かっていますが、当初更新してbrickさせてしまったユーザーは焦ったと思います。
17.0.0で任天堂はファイル管理の保存に関する内部変更を行っていました。これが任天堂が提供したものではない非公式な方法でeMMCをリセット/消去していた場合に起動に失敗してしまうことがbrickの原因と判明しました。
SciresM氏はこれがAtmosphere対策のような意図的なものではなく、内部変更に伴い副次的に発生したものだろうとしています。
先日お伝えしたSYSTEMパーティションの中にあるSAVEフォルダの8000000000000120というのが問題でした。8000000000000120はコンテンツメタデータベースのIDで、どのOSモジュールがインストールされているかを追跡するためのデータが格納されています。
eMMCのリセット等の動作はコンテンツメタデータベース以外のものを消去する仕組みでしたが、17.0.0でそのコンテンツメタデータベースの保存方法が変わり、OSがコンテンツメタデータベースを見つけられなくなって起動できなくなっていたというのが17.0.0アップデートでbrickする理由です。
Atmosphere 1.6.1ではこの問題を自動的に修復して正常に起動できるような仕組みが導入されました。
Atmosphere 1.6.1の変更点は以下です。
・17.0.0へのアップデートで、以前にSYSTEMパーティションをリビルトしたコンソールがbrickしてしまう不具合に対する改善策追加
・USBファイル転送用のHomebrewアプリケーションhazeのパフォーマンス大幅改善
Atmosphereを起動すると、この不具合を自動的に検出し、この状態に陥ってしまっているコンソールのbrickが解除されるようになりました。またAtmosphere 1.6.0で実装できなかったhazeの改良も盛り込まれました。
プレリリース版になりますので何らかの不具合があった場合は修正されます。その場合はビルドし直して差し替えされますが、ハッシュ(7f4450f93)が代わるので判別できます。実は実際すでに1回差し替えされており、7f4450f93は差し替え後のハッシュです。
問題がなければこのまま正式版となります。