Contents
EmuNANDとは
ニンテンドースイッチのシステム領域のコピーをSDカードに作成することで、一つのニンテンドースイッチにあたかも二つの同一のスイッチが有るかのように見せかけるシステムのこと。
それ自体にはBANを回避する性能があるわけでもないし、BANされたときにBAN解除できるわけでもないのだが、改造用のNANDと通常プレイのNANDを切り分けることによって誤って改造用のNANDでオンラインに繋いでしまうというミスを確実に防ぐことができます。
SD File
NANDのバックアップをファイルとしてSDカードに保存する方法です。
SDカードのフォーマットは不要なので簡単に実装できます。
ファイルとして保存してあるので、(気にはならないレベルであるが)動作が少し遅かったりします。
SD Partition
今回紹介する方法がこれで、SDカード内に別のパーティションを作成してそちら側にEmuNANDを実装する方法です。
フォーマットが必要なのでデータは一度全部吹っ飛びますが、高速にデータアクセスができるのでできることならこちらがオススメ。
実際にやってみよう!
全然やり方知らなかったので@is_mp0025氏の記事を参考にさせていただきました。
とってもわかりやすいので多分誰でも導入できるでしょ、これ。
必要なもの
必要なものをまとめていきますが、既に持っている場合もあるのでそのときはスルーしてください。
Nintendo Switch
未対策版が必要になります。現在発売されているバッテリー容量が改善されたモデル(Mariko)は対策済みですのでHackはできません。
シリアル番号から対策済みかどうかをチェックできるサイトがあるので是非どうぞ。
Micro SD(64GB以上が必要)
ニンテンドースイッチのNANDは容量が32GBあるので、最低でも64GB以上のSDカードでないとEmuNANDは作成できません。
64GBあれば容量自体は足りるのですが、結構カツカツなので、その倍の128GB以上を推奨しています。
個人的にはSamsungのEvo Plusモデルを推していますが、SanDiskでも多分大丈夫です。
RCMジグ
ニンテンドースイッチのHackのためにはRCMという特殊なモードに入る必要があるのですが、そのモードに入るときにこのジグがあればめちゃくちゃ簡単に入れます。
値段も安いので買っておいて損はないと思います。
DeepSea
CFWの導入に必要なものが全部入ったパッケージです。現在最新のものはv1.8.1ですのでそれを用意しましょう。
そのDeepSeaの初期設定を済ませた改造版をリリースしておいたので、もし良ければこちらをどうぞ。
- FTPの匿名ログインを有効化
- オリジナルではINIファイルを編集してユーザ登録が必要
- SysNANDでのCFW起動を無効化
- SysNANDでCFWを起動する必要はないので無効化しました
- こうしておくことでNAND切り替え時に誤ってCFW(SysNAND)で起動する心配なし
- いくつかのモジュールを追加
- IPSwitchと5.3.1までの公開パッチを追加
- NXDumpToolを追加(ゲームのバックアップができます)
- Checkpointを追加(セーブデータのバックアップができます)
TegraRcmGUI
RCMのニンテンドースイッチにペイロードをインジェクションするためのGUIツールです。
スイッチの改造には必要不可欠ですのでこれも用意しましょう。
TegraExplorer
SDカードをEmuNAND用にフォーマットしてくれる便利なペイロードです。
RCMで起動しよう
ニンテンドースイッチをCFWで起動するためには、必ずRCM(リカバリーモード)を経由してペイロードをニンテンドースイッチに送る必要があります。
まずは電源ボタンを長押しでニンテンドースイッチの電源オプションを表示させます。
次に「電源を切る」を選択してニンテンドースイッチの電源を完全にオフにします。
次に、RCMジグをニンテンドースイッチの右ジョイコンを差し込むところにセットします。
この状態で「電源ボタン」+「ボリューム+ボタン」を同時に押してみましょう。
「ボリューム+ボタン」を押しながら「電源ボタン」を押すと成功しやすい!同時に押そうとすると先に電源ボタンだけ反応してしまって普通に起動してしまう場合があります。
真っ黒い画面のまま何も変化しなければ無事にニンテンドースイッチがRCMで起動しています。この操作はOFW(または電源オフ状態)からCFWへの切り替えに毎回必要になるので必ず覚えておきましょう。
ここまでできたらUSB-Cケーブルでニンテンドースイッチとパソコンを接続します。
TegraRcmGUIを起動しよう
実行が保護機能によってブロックされる場合がありますが、落ち着いて「詳細情報」を押して「実行する」を選択しましょう。
初めてTegraRcmGUIを起動した場合はRCMのニンテンドースイッチを認識するためのドライバが入っていないので、ドライバをインストールしましょう。
「Install Driver」と表示されているところをクリックすればドライバのインストーラが起動します。適当にOKを押してインストールを完了させましょう。
今はまだAuto Injectのチェックは外しておいたほうが良いです。
もし正しくRCMで起動できていれば「NO RCM」と表示されているところが「RCM O.K」と表示されているはずです。
この状態まできたら、「Inject payload」の左のフォルダボタンを押してニンテンドースイッチに送り込みたいペイロードを選択します。
まずはTegraExplorerをインジェクトしたいので先程ダウンロードした「TegraExplorer.bin」を選択し「Inject payload」をクリックしましょう。
SDカードのフォーマット
すると、以下のような無機質な画面がスイッチに表示されます。

音量ボタンで操作して、SD formatを選択します。

いろいろあるのですが、「Format for EmuMMC setup (FAT32/RAW)」を選択します。
選択したあとで十秒待ってから再び電源ボタンを押せばフォーマットが始まります。
256GBのフォーマットには二分ほどかかりました。

フォーマットが終わったSDカードをパソコンで読み込むと一つしかSDカードを差し込んでいないのにUSBドライブとして二つ認識されると思います。
一方は中身を見ることができません(画像の場合はDドライブ)が、そちらがEmuNAND用にフォーマットした領域になります。
空き容量が表示されている方のドライブは今まで通り使えます。
DeepSeaの導入
ダウンロードしたDeepSeaを解凍してそのままSDカードにコピーするだけです。

必須ではありませんが、bootloader/hekate_ipl.ini
を以下のように編集してCFW(SysNAND)を無効化しておくと幸せになれます。
[config] autoboot=0 autoboot_list=0 bootwait=3 verification=1 backlight=100 autohosoff=0 autonogc=1 updater2p=1 {DeepSea/DeepSea v1.9.4} {} {Discord: invite.sdshrekup.com} {Github: https://github.com/orgs/Team-Neptune/} {} {--- Custom Firmware ---} [CFW (EMUMMC)] emummcforce=1 kip1patch=nosigchk fss0=atmosphere/fusee-secondary.bin atmosphere=1 logopath=bootloader/bootlogo.bmp icon=bootloader/res/icon_payload.bmp kip1=atmosphere/kips/* {} {--- Stock ---} [Stock (SYSNAND)] emummc_force_disable=1 fss0=atmosphere/fusee-secondary.bin stock=1 icon=bootloader/res/icon_switch.bmp {}
ネットワーク設定の消去
さて、このままEmuNANDを作成してCFWを起動してしまうとWi-Fi設定までコピーされてしまい、CFWを起動した瞬間にインターネットに繋がってしまいます。
これはBANの危険性が伴うため、まずはOFWからインターネット設定を消去する必要があります。
登録済みのネットワークから選択。
設定の消去を選択。
消去します。
複数設定されている場合は全て消去しましょう。
ネットワークに繋がらなくなっていたら成功です。
EmuNANDの作成
先程はTegraRcmGUIから「TegraExplorer.bin」を選択しましたが、今度は「hekate_ctcaer_5.3.4.bin」を選択しましょう。
RCMでないとペイロードをインジェクトできないので、先程と同じように「電源を切る」→「RCMで起動」→「TegraRcmGUIでインジェクト」の手順を踏むこと。
今後はずっと「hekate_ctcaer_5.3.4.bin」をインジェクトするので「Auto Inject」にチェックを入れてしまうのも良いでしょう。
すると以下のような画面が表示されます。
ここから「emuMMC」をタップします。
「Create emuMMC」をタップします。
今回はSD PartitionでEmuMMCを作成するので真ん中の「SD Partition」をタップします。
パーティションがみつかると確認画面がでるので「Continue」をタップします。
SDカードの転送速度にも依りますが10~15分くらいでEmuMMCのセットアップが終わると思います。
それ以上かかる場合はSDカードの書き込み速度が遅いので別のものを購入したほうが良いかもしれません。
EmuMMCの作成ができたらCloseをタップして一つ前の画面に戻ります。
現状はまだDisabledになっているので「Change emuMMC」をタップします。
「SD RAW 1」をタップします。
このような画面が表示されればEmuMMCの設定は完了です。
EmuMMCの起動
最初の画面に戻って「Launch」をタップしましょう。
CFW (EMUMMC)を選択すればEmuNAND上のCFWが起動します。
Stock (EMUMMC)は現段階ではまだサポートされていない。あればいいのだけれど…
システム画面から現在のバージョンの最後にEと書かれていたらEmuNANDで起動しています。
やっておくと良いこと
ここから先は本題であるEmuNAND導入とは少し話が異なりますが、やっておいたほうが良いことのまとめです。
90DNSの設定
90DNSを設定することで、インターネットには繋がるがニンテンドーネットワークに繋がらないという便利な環境をつくることができます。
CFWを導入するのであれば絶対に整えておきたいです。
無線で接続する場合は必ずManual Setup(手動設定)から行なうこと!!そうでないとパスワードを入力した時点でインターネットに繋がってしまい、FWのアップデート要求などがされてしまいます。
優先の場合は接続前に設定の変更が行えるので安全です。
設定方法
無線の場合はSSIDと暗号化方式を正しく設定した上でパスワードを入力します。
パラメータ | 値 |
優先DNS | 207.246.121.77 |
代替DNS | 163.172.141.219 |
おまけ | 045.248.048.062 |
この三つの中から適当に二つ設定すればいいと思います。
FTPの設定
デフォルトのKosmosだとFTPがオフになっているので有効化しておきましょう。
「Kosmos Toolbox」を選択します。
「Background services」を選択します。
「sys-ftpd-light」をOnにすればその時点で有効化されます。
あとはWinScpなどで接続すれば良いでしょう。詳しいやり方はこの記事で解説しているので読んでください。
nosigpatchの導入
Kosomosが採用しているCFWであるatmosphereは海賊版対策として証明書がないNSPをインストール出来ないようになっているので、自分でダンプしたNSPでさえもチケットが本体に保存されていないとインストールや起動ができません。
なのでnosigpatchを導入してこの制限を取っ払う必要があります。
カートリッジからゲームを起動している方は不要です。あと、現在のnosigpatchは9.2.0までしか対応していません。
が、どうもnosigpatchをリリースしていたレポジトリが消えてしまったみたいなので新規導入はレポジトリ復活までは難しそうです、残念。
本体の初期化
どうもスイッチには初期化するたびに内部固有のIDが設定されるのですが、NANDをコピーするとその値までコピーされてしまいます。
その状態だとプロコンのペアリングがおかしくなったり、EmuNANDを起動したときにSysNAND側でNSOのアカウント連携がおかしくなることがあります。
具体的にはスプラだとガチマッチはできるのにフレンド全員がずっとオフラインになってしまいます。この状態になるとSysNAND側を本体の初期化する以外に解決する方法がありません。
なので本体の初期化をすることをオススメするのですが、もしもコピーしたNAND側でNSO連携をしていた場合はEmuNANDを初期化する際にNSO連携を外すためにインターネット接続を要求されます。
しかし、NSO連携を外すのはニンテンドーネットワークで行われるため、これはCFWでeShopに接続するのと同じくらいキケンです。一応、スイッチの仕組み上はインターネット接続なしでも初期化しようとすることはできるのですが、EmuNAND上で実行するとatmosphereがクラッシュしてしまいます。
ChoiDujourNXを使った初期化
というわけで、スイッチをオフラインで初期化できるChoiDujourNXを使いました。
インストールするファームウェアのデータが必要なのであらかじめデータを本体から抽出しておく必要があります。
が、これは結構難しいです。法律的には(恐らく)アウトですが、インターネット上で有志が公開していたりするものを探す方が得策かも…
ぼくの場合はnosigpatchを使いたかったので初期化ついでに9.2.0にダウングレードすることにしました。
ファームウェアバージョンが10.X系だと同一バージョンへのダウングレードは失敗してしまいます。必ず異なるバージョンのファームウェアを使うようにしましょう。
アップデータを読み込んだらファームウェアを選択します。exFATでない方が安定するとの噂なので「9.2.0」を選択します。
ここまで読み込めたら「Select firmware」を選択します。
ここが一番大事で、左にある「System initialize (full factory reset)」をタップします。
警告がでてきますが、無視して「Destroy it all」をタップ。
あとは「Start installation」を押せばスイッチのダウングレードと初期化が行われます。
Goldleafを使った初期化
推奨はしていないのですが、Goldleafでも恐らく初期化ができます。
削除するファイルを間違えるとブリックを招きます。非推奨であるということを理解した上で、必ずEMUNANDで実行してください。本体がブリックしても責任は取れません。
Goldleafを起動したら「Explore content」を選択します。
「Console memory (SYSTEM)」を選択します。
「save」を選択します。
いくつかファイルがあると思うのですが、Aボタンで選択して削除していきます。
注意点
GBATEMPの記事によれば削除するのは8000000000000120以外のファイルでないとダメだということです。
しかし、実際にはそのようなファイルは存在せずFWのアップデートでファイル名が変わってしまった可能性があります。
ちなみに自分で試してみたところ80000…と続いたあとに「10004」のように五桁の数字が並んでいるファイル以外を消せば初期化されました。
が、現状「どれが削除してはいけないデータなのか」あるいは「どのデータも削除していいのか」がわかっていないので、システムファイルの削除はEmuNANDのブリックを伴うかもしれないキケンな行為であることを十分認識しておいてください。
まとめ
@is_mp0025氏の記事をベースに少し発展させた感じでまとめてみたのですがいかがでしょうか?
SD Partitionに切り替えたからといっていまのところは「すっげー動作が早い!!」とは感じていないのですがパーティションが分かれていることでファイルの断片化とかは起こりにくかったりするのかなとかは思ったり思わなかったり。
そのへんはパーティションやファイルシステムについて疎いのでなんともわかりません、詳しい人いたら教えて下さい。
自身を天才と信じて疑わないマッドサイエンティスト。二つ上の姉は大英図書館特殊工作部勤務、額の十字架の疵は彼女につけられた。
コメント
いつも楽しみに拝見させて頂いております。理解が及ばなくて申し訳ありません。
当記事の通りemuNANDとsysNANDを完全に環境分離した状態であればofwで公式更新した最新ファームがcfwに対応していなくてもemuNAND側のファームを古いものを維持してcfw稼働させることが可能という認識で宜しいでしょうか?
それとも公式でアップデートしたsysNAND側ファームがcfwに対応していなければemuNAND側のcfwも起動不可となるのでしょうか。
はい、hekateによるSysNANDとEmuNANDの切り替えはatmosphereが起動する前の任天堂による対策が不可能な場所でおこなわれるので、たとえSysNAND側がCFWがまだ対応していないバージョンにアップデートされてもEmuNAND側を古いバージョンで維持しておけばEmuNAND側でCFWを起動することが可能です。
ただ、SysNANDのFWバージョンにhekate自体が対応していない場合は、Stock(ヒューズを焼かずにOFWとして起動する)ができないことにご注意ください。その場合はhekateのメニュー画面からStockではなくOFWとして起動する必要があります(もちろん、その際にヒューズは焼かれます)
えむいー様
迅速な返信ありがとうございます。hekate未対応の場合、Stock起動不可である旨理解致しました。
fuseが焼かれてしまう件ですが、SysNANDバックアップさえ取得していればStcok起動対応しているFWバージョンのNANDをリストアし、hekate経由なら古いFWバージョンでStock起動可能という認識でよろしかったでしょうか?
他の記事も読ませて頂いたうえでバックアップさえあればfuseが焼かれるデメリットが現状そこまであるように見えないのですが何か見落としがありますでしょうか?
お忙しい中、連投申し訳ありません。
はい、SysNANDのバックアップをとっていればhekateからNANDの復元をおこなうことでStock(もしくはCFWを)起動なバージョンに復元することができます。
ただ、SysNANDを非改造でオンラインを楽しむ用途として使用する目的であるならば、NANDの復元によってバージョンを下げることはオンライン接続できなくなることと等しいので、やる価値があるかどうかは微妙なところです。
fuseが焼かれるデメリットは、ダウングレードが不完全なものになってしまうことですが(hekate経由で起動しないとパニックモードになり起動できない)、EmuNANDという仕組みが確立している以上、現状ほとんどないと言って良いでしょう。
自分はSysNAND側はfuseが焼かれることを全く気にせずにどんどんアップデートし、EmuNANDは90DNSでアップデートをブロックしてFW9.2.0を維持しつつFWでいろいろ弄っていますがこの環境で困ったことは今まで一度もありません。
えむいー様
ご自身の環境についてもご教示頂き、大変参考になりました。
お忙しい中、返信頂きありがとうございました。これからもCFWや脱獄記事の更新を楽しみにしております。
SD Partition化に挑戦しようと思っています。
今持っている64Gのカードで成功したら容量の大きい物にしようと考えています。
一旦SD Partition化してしまうと元状態に戻せるでしょうか?
ソフトウェア的にパーティションをわけているだけなので戻せますよ。Windowsで認識できない領域なので標準のフォーマット機能でなく専用のツールを使う必要があると思いますが、難しくはないはずです。
返信ありがとうございます。
以前にFAT32でEMUNANDが起動しなかったので、失敗時に元に戻せるか知りたかったんです。
一度ツールをさがしてみようと思います。
後、KOSMOSの開発が終了しDeapSeaなる物が出てきたようですが、こちらでは取り上げる予定はないですか?
えむいーさんの記事が読みやすく分かりやすいので、もし良ければ宜しくお願いします。
一旦KOSMOSの最終バージョンで試してみたいと思います。
DeeSea自体は気になっていたのでちょっとばかり触ってみた感想を記事にしました。
ほぼほぼKosmosと同じ感じで扱えて、デフォルトでsigpatchがあたっているので(海賊版に対するポリシーとして正しいかどうかは別として)利用者側は使いやすいのではないかと感じました。
打ち間違えていました。
一旦SD Partition化してしまうと元のSDカードに戻せるでしょうか?
が正解です。
宜しくお願いします。
ChoiDujourNXを使って初期化しようと思うのですがstart installationを押してから30分ぐらい待っても全然画面が変わったりしないのですが普通何分くらいかかるのでしょうか?
普通は10分かからずに初期化できますので、ファームウェアが間違っている可能性があります。また、ChoiDujourNXが最新のFWに対応していない可能性もあります。
空き容量が表示されている方のドライブは今まで通り使えます。とありますが、
EmuNAND側にPCでファイルを追加することは出来ないのですか?
EmuNAND側はニンテンドーのシステムファイルやインストールされたゲームしか入っていないためファイルをWindowsから追加するという機会がそもそもありません。
romfsでのModは従来と同じようにSDカードにコピーしておけば動作します。
なのでファイルの追加などの心配をしなくても大丈夫です。
すみません ジョイコンが反応しなくなるんですけどゲーム。。
すみません、吸い出し機でおすすめのCFWソフトはありますか?Switchのバージョンは10.2.0です。
ジョイコンは大丈夫です!
HACGUIかNXDumpToolが良いかと思われます。