Team Xecuterが、Fusée Geléeと同じNVIDIA Tegraの脆弱性を利用したNintendo Switchハック製品Xecuter SXで使用するOS(カスタムファームウェア)SX OS v2.0をリリースしていました。(ナナシさん、ISA Garageさん情報ありがとね)
今回のアップデートはTeam Xecuter曰く「メジャーアップデート」で、その呼び方にふさわしい内容となっています。最も大きな変更は、3DSで使われた手法と同じEmuNANDサポートです。
EmuNAND
Switchも3DSと同じく、セーブデータなどのデータを含め、すべてのシステムソフトウェアをFlashストレージチップに保存しています。
そのストレージをまるごとコピーを作成し、SX OSを起動させることができます。これによりオリジナルファームウェアに手をつけずSX OSで使う専用ファームウェアとしてそのコピーを使えます。Switchを古いファームウェアのままでEmuNANDだけ最新のファームウェアにするといった芸当も可能です。古いファームウェアのままの方がよりSwitchハックには適しているとはいえ、まだ発売されて2年を経過していないSwitchの場合最新ファームウェアを要求されることが多いため、EmuNANDはその解決策として非常に有効です。
また、EmuNANDはオンラインでのBANのリスク軽減にも役立ちます。ステルスモードを有効にしてEmuNANDでSX OSを起動すればオリジナルファームウェアで起動したときにEmuNANDのシステムは見えなくなるためSX OSの痕跡も分からなくなります。
ただし、3DSのEmuNANDをイメージすると若干異なる部分があります。それはEmuNANDがmicroSDカードに作成されるのではなくSwitchの内蔵NANDに専用パーティションとして作成されるというところです。そうすることにした理由の一つは、32GBのmicroSDカードだとEmuNANDが占領してしまい非常に無駄が多いためです。また内蔵Flashメモリを使うことによりパフォーマンスと信頼性向上が見込めます。
SX OS boot menu (Volume +ボタン長押しで起動)で起動して”Options”メニューからEmuNANDをセットアップできます。デフォルトではSX OSはEmuNANDパーティションとして15GBを割り当てます。サイズを変更したい場合はEmuNAND作成前に”advanced”ボタンを押すことで変更が可能です。
SX OSは有効なEmuNANDパーティションを見つけるとEmuNANDで起動します。EmuNANDで起動させたくない場合はSX OS Boot menuでEmuNAND起動を無効化する設定が可能です。
NANDのダンプ/リストア
アドバンスドユーザー向けになりますが、NAND Flashストレージのダンプ/リストアを行う簡単な方法が用意されました。またNANDに不具合が発生してしまった場合に修復するための”GPT Repair”も追加されました。GPT(GUIDパーティションテーブル)の修復は必要に応じてNANDのパーティションテーブルの修復を行えます。システム領域を操作することになるため、何をしようとしているのかを理解できるアドバンスドユーザー向けとされています。
6.0でのLayeredFS
SX OS v1.7で6.0.0に対応しましたが、6.0.0でlayeredFSが有効だとクラッシュしたり固まったりするるためSX OS v1.8では6.0.0だと自動的にlayeredFSを無効化する対応が取られました。SX OS v2.0では不具合を修正し、正常にLayeredFSが動作するようになりました。
Homebrew NSP対応
コミュニティでは、主にeショップ タイトル向けとしてインストールを行う形式のNSP(Nintendo Submission Package)フォーマットでHomebrewを配布するようになってきました。SX OSではその動きに対応しNSPフォーマットをサポートすることにしました。NSPファイルをHOME画面から起動できます。
EmuNANDが実装されましたので、Switchシーンでは今後SX OS以外でもEmuNANDから起動できるように何らかの動きが出てくるでしょう。個人的には速度が遅くてもいいのでmicroSDカードにEmuNANDパーティションを作成し、本体Flashは触らないようにした方がより安全かと思います。古いファームウェアだとmicroSD最大容量32GBの壁がありますが。それとも実はFlashにパーティション作ったのはmicroSDへのリダイレクトができなかったから?
[追記]
hexkyz氏がEmuNANDの仕組みを解析して解説してくれています。ちょっと専門的です。NANDは半分の容量でコピーされ、そのコピーを起動しているだけでNANDのエミュレートというものではない、ということのようです。
And now for the controversial EmuNAND solution in 2.0:
– Everything is handled by the bootloader which starts by mounting 3 devices: "0:" (SDCard), "1:" (EmuNAND) and "3:" (original NAND);
– The original NAND partition is shrunk to about half of it's dimension;— Mike Heskin (@hexkyz) September 23, 2018