「Failed to apply ‘nosigchk’!」エラーの原因と対処法【Nintendo Switch CFW】

Nintendo SwitchでHekateからCFW(Atmosphère)を起動しようとした際に「Failed to apply ‘nosigchk’!」と表示されて起動できない場合、原因は1つに絞られます。
hekate_ipl.inikip1patch=nosigchkの記述があるのに、SDカード上に対応するsigpatchesが存在しないためです。
この記事では、エラーの仕組みから3つの解決方法まで順を追って解説します。


スポンサーリンク

このエラーの意味

nosigchk(no signature check)は、Switchの署名検証をバイパスするためのKIPパッチです。
hekate_ipl.ini内にkip1patch=nosigchkと記述することで、Hekate起動時にsigpatchesを読み込むよう指示できます。

エラーが発生する状況は以下の2パターンです。

  1. kip1patch=nosigchkの記述があるのに、SDカード上にsigpatchesファイルがない
  2. kip1patch=nosigchkの記述があるのに、sys-patchモジュールのみ使用している(sigpatchesとsys-patchは別物)

GBAtemp.netのコミュニティでは「hekate_ipl.iniがsigpatchを要求しているが、SDカード上にsigpatchが存在せずsys-patchしかない状態」がこのエラーの典型的な原因として説明されています。


対処法

以下の3つのうち、自分の環境に合った方法を選んでください。


対処法1:kip1patch=nosigchkを削除する(sys-patch使用者向け・推奨)

sys-patchモジュールを使用している場合、kip1patch=nosigchkの記述は不要です。
GBAtemp.netの複数スレッドで「sys-patchのみを使う場合はhekate_ipl.iniからnosigchkの行を削除する必要がある」と案内されています。

手順:

  1. SwitchのSDカードをPCに接続する
  2. SDカード内の/bootloader/hekate_ipl.iniをテキストエディタで開く
  3. kip1patch=nosigchkと書かれた行をすべての起動エントリから削除する
  4. ファイルを保存してSDカードをSwitchに戻す
  5. Hekateから起動し直す

削除前の例:

[CFW - emuMMC]
fss0=atmosphere/package3
kip1patch=nosigchk
emummcforce=1
atmosphere=1

削除後の例:

[CFW - emuMMC]
fss0=atmosphere/package3
emummcforce=1
atmosphere=1

注意:kip1patch=nosigchkが複数のエントリ(sysMMC・emuMMCなど)に書かれている場合は、すべての行を削除してください。1か所でも残っていると同じエラーが発生します(GBAtemp.netより)。


対処法2:sigpatchesをSDカードに配置する(sigpatches使用者向け)

kip1patch=nosigchkの記述を残したままsigpatchesを利用したい場合は、対応するsigpatchesファイルをSDカードに正しく配置する必要があります。

ファームウェアバージョンやAtmosphèreのバージョンに対応したsigpatchesが必要で、GBAtemp.netの「Sigpatches for Atmosphere」スレッドで配布されています。

注意点:

  • ファームウェアを更新した後は、そのバージョンに対応した最新のsigpatchesを再取得する必要があります
  • Atmosphèreのバージョンとsigpatchesのバージョンが一致していない場合も同様のエラーが発生します
  • GBAtemp.netのコミュニティでは「現在はsigpatchesよりsys-patchの使用が推奨されている」と説明されています

対処法3:sys-patchに移行する(長期的解決策)

GBAtemp.netの複数の投稿やAtmosphèreコミュニティでは、sys-patch(sys-patch.kip)への移行が現在の推奨手段とされています。

sys-patchは起動時にリアルタイムでパッチを適用するsysmoduleで、ファームウェア更新のたびにsigpatchesを手動更新する手間がなくなります。

移行手順の概要:

  1. kip1patch=nosigchkをhekate_ipl.iniから削除する(対処法1と同様)
  2. 古いsigpatchesのファイル群(atmosphere/exefs_patches内のes_patches・nfim_ctestなど)を削除する
  3. sys-patchの.kipファイルをatmosphere/kips/フォルダに配置する
  4. Switchを再起動する

詳細な手順はGBAtemp.netのsigpatchesスレッドに移行ガイドが掲載されています。


それでも解決しない場合の確認項目

  • Hekate・Atmosphère・sys-patchのすべてが最新バージョンに更新されているか確認する
  • hekate_ipl.ini内に複数の起動エントリがある場合、起動しようとした項目のnosigchk行がすべて削除されているか確認する(別のエントリに残っていても、そのエントリを起動すれば同じエラーが発生します)
  • ファームウェアのバージョンアップ後にCFW関連ファイルも更新したか確認する

まとめ

「Failed to apply ‘nosigchk’!」エラーの原因は、hekate_ipl.inikip1patch=nosigchk記述と実際のSDカード上のファイルの不一致です。
sys-patchを使用している場合はkip1patch=nosigchkの行を削除するだけで解決します。
sigpatchesを引き続き使いたい場合はファームウェアに対応した最新のsigpatchesを配置してください。
長期的にはsys-patchへの移行がコミュニティで推奨されています。


参考情報源:

コメント

タイトルとURLをコピーしました