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に切り替えたからといっていまのところは「すっげー動作が早い!!」とは感じていないのですがパーティションが分かれていることでファイルの断片化とかは起こりにくかったりするのかなとかは思ったり思わなかったり。
そのへんはパーティションやファイルシステムについて疎いのでなんともわかりません、詳しい人いたら教えて下さい。
自身を天才と信じて疑わないマッドサイエンティスト。二つ上の姉は大英図書館特殊工作部勤務、額の十字架の疵は彼女につけられた。
コメント
すいません、手順通りやりましたが
Panic occurred while running Atmosphere
Titele id 010041544D530000
Error std::abort 0xFFE
とエラー表示が出てします・・・
お力にはなりたいのですが、一度自分の立場になって考えてみてください。
このコメントだけでは「どこで」「なにをして」エラーがでたのか全くわかりません。
不要なやり取りを避けるためにも「この状態で~すると何度やってもエラーがでる」「~も試してみたが効果がなかった」のようにこちらで再現可能で、手順がわかりやすいようにコメントいただけると幸いです。
大変失礼しました。
EmuNANDを作成し、EmuMMCを起動すると上記エラーが生じます。
SDをフォーマットし、再度試みても同じエラーになります。
本体ver 10.2.0
DeepSea1.8.1
hetake5.3.4
です。
情報ありがとうございます。
海外フォーラムでも同様のエラーを何件か見かけましたが、どこが原因なのか突き止めていきましょう。
まず、エラーの原因がCFWなのかEmuMMCなのか、それともHekateなのかを調べたいところです。
なので、
1. Stock(SysNAND)で起動する
2. CFW(SysNAND)で起動する
としてみるのが良いかと思われます。注意点ですが、CFW(SysNAND)での起動はBANの可能性があるため、事前に必ずインターネット設定を削除してから試してください。
もし1では起動できるのに2では起動できない場合は「CFWに原因がある」ということになり、1でも2でも起動できない場合は「Hekateに原因がある」ということになります。そして、1でも2でも起動できる場合は「EmuMMCに原因がある」ということになり、原因を突き止めやすくなります。
これとは別件ですが、この手のエラーは次のような原因があるようです。
1, SDカードのフォーマットがexFATが使われている(今回はEmuMMCをSD Partitionで作成されたとのことなのでこの可能性は低そうです)
2. SDカードのパーティションが壊れている(フォーマットで直す場合が多いそうですが、フォーマットは試されているそうなのでやはりこの線もなさそうです)
3. SysDVRのようなメモリ消費量が多いモジュールが動いている(一度DeepSea Minimalを試してみてはいかがでしょうか?)
最後に一つ質問なのですが、試された「SDカードのフォーマット」とはTegra Explorerを使ってのフォーマットのことでしょうか?
ご丁寧にありがとうございます。
1. Stock(SysNAND)で起動する
→起動したら任天堂のロゴが出てホーム画面になった
2. CFW(SysNAND)で起動する
→起動したら上記エラー表示になった
DeepSea Minimalでも全く同じ結果でした。
最後に一つ質問なのですが、試された「SDカードのフォーマット」とはTegra Explorerを使ってのフォーマットのことでしょうか
→はい、そのとおりです。
となるとCFWが問題な気がします。
DeepSeaは最新のファームウェアにも対応しているはずなのですが、どこかでコケているのかも知れませんね。
SD PartitionではなくてSD FileのEmuMMCでも同じことが起きるでしょうか?
SD自体の問題もあるんですかね?
SD fileのEmuMMCでも試してみます。
SD FileのEmuMMCでも試みましたが同じエラーでした・・・
CFW(SysNAND)でも同じようにエラーが発生していることからやはりEmuMMCではなくCFWが原因の気がします。
正しくファイルがコピーされているかどうか(特にディレクトリ構造)を再度チェックした上で、別のバージョンのDeepSeaを試されるなどしてみてはいかがでしょうか。
申し訳ございません。CFWでアルバム起動したらエラーが出てくるようになりました。多分hb appストアのHOME何とかというアプリをインストールしてアンインストールしたからだと思います。どうすればよろしいでしょうか?
hbmenuのnroが消されてました。解決しました。
こんばんわ。
DeepSeaのバージョンを1.7.2にしたらCFW起動できました。
次にポケモンソードのデータをChekpointでバックアップし、pkhexでアイテムを増やそうとしたのですが、Chekpointのフォルダにバックアップしたデータがありませんでした。
もし原因が分かればご教授願います。
ゲーム名に日本語が入っていると上手くバックアップがとれない可能性があります。
セーブデータのバックアップ自体はCheckpoint以外にもJKSVやHACGUIなどで行えるので別の方法を試してみるのはいかがでしょうか?
こんにちは!
SD Partitionで改造をしたのですが、sdカードを中身をそのままに、より大きい容量のsdに移行することは可能でしょうか?
なるべくはソフトなども移動したいです
御教授の程よろしくお願いします
SD PartitionのEmuMMCをコピーしようとしたらパーティションごとコピーする必要があるので、それに対応したツールが必要になります。
まだやったことがないので、手元に環境が揃い次第、記事にしてみようと思います。
CFW導入はできたのですが、電源を切って再度起動するとバージョンのeが消えcfwがなくなってしまいます。
どうしたらよいのでしょう?
CFWはRCMを経由しないと起動させられません。よほどのことがない限り、RCMジグをつけっぱなしにしておいてください。