はじめに
Nintendo Switchを長期間使用していると、以下のようなバッテリー表示のトラブルに遭遇することがあります。
- バッテリー残量が短時間で不自然に増減する
- 100%と表示されているのに、数分で電池切れ(スリープ)になる
- 表示されているパーセンテージと、実際の稼働時間に大きな乖離がある
このような症状が出た場合、バッテリー自体の物理的な劣化も疑われますが、実はバッテリー残量を管理するFuel Gauge ICとHOS(Switchのシステムソフトウェア)の間で状態が食い違う「Battery Desync(バッテリー同期ずれ)」が原因になっているケースが多々あります。
この同期ずれを解消するために開発されたのが、CTCaer氏が公開しているHomebrewツール「Battery Desync Fix NX」です。
本ツールは、Switch本体のCAL0(工場出荷時キャリブレーションデータ)を参照してFuel Gauge ICをリセット・再調整し、正しい残量表示を取り戻すことができます。
この記事では、Battery Desync Fix NXの概要から導入方法、正確なキャリブレーション手順、emuMMC環境での注意点まで分かりやすく解説します。
Battery Desync Fix NXとは?

バッテリーの「同期ずれ」を修正する専門Homebrew
Battery Desync Fix NXは、Nintendo Switch内部のFuel Gauge IC(燃料計IC)を、本体内部に保存されている工場出荷時のキャリブレーションデータを基準にして再調整するためのツールです。
本アプリは単なる「バッテリー情報表示ツール」ではありません。残量管理システムの内部状態を強制的に再リセット・調整する仕組みとなっているため、開発者は「実際に残量表示や容量認識に明らかな問題が生じている場合のみ使用すること」を強く推奨しています。
なぜバッテリー表示の同期ずれが起きるのか?
公式READMEによると、同期ずれはFuel Gauge側のハードウェア的な挙動とHOSのデータ保存処理のタイミング問題、または過度な負荷がかかった際などに発生すると説明されています。
特に、Fuel Gaugeが保持しているリアルタイムの数値と、HOSが前回保存した状態との間に大きなズレが生じたまま復元処理が行われると、正しい残量が計算できなくなります。
この問題は「100%まで普通に充電する」だけでは解決しないため、Battery Desync Fix NXを用いてFuel GaugeとHOSの状態を根本から整合させる必要があります。
Battery Desync(同期ずれ)の主な症状と確認方法
残量パーセンテージが不自然に増減する
最も分かりやすい症状が、バッテリー残量パーセンテージのランダムな上下です。
- 例:100% → 87% → 94% → 82%
このように、通常の充放電では起こり得ない不規則な数値の動きをする場合は、同期ずれを起こしている可能性が極めて高いと言えます。
実際の容量と電圧・内部数値が合わない
Battery Desync Fix NXを起動すると、バッテリーに関する詳細な内部パラメーターを確認できます。特に注目すべきは以下のポイントです。
capacity now(現在の容量)とvoltage avg/oc(平均/開路電圧)の不整合Capacity full(満充電容量)の異常な数値
通常、Switchの純正バッテリー満充電容量(初期値)は4,310mAh前後(またはCAL0設定値)ですが、同期ずれを起こしている個体では初期値以上の6,000mAh以上の異常値として認識されてしまうケースがあります。
実際、筆者の環境では以下の画像のようになっており、この場合、「まだ30%残っている」とシステムが誤認していても物理的な限界電圧に達してしまい、突発的な電池切れが発生していました。
Battery Desync Fix NXの導入に必要なもの
今回の手順では、以下の環境を前提として進めます。
- CFW(Atmosphère)が導入されたNintendo Switch
※SwitchへのCFW導入方法については、こちらの記事をご参照ください。 - Battery Desync Fix NX(最新リリース)
Battery Desync Fix NXの導入方法
最新版のダウンロード
GitHubの公式Releasesページより最新版を取得します。
ファイルの配置
ダウンロードしたZipアーカイブを解凍し、抽出されたHomebrew本体(.nroファイル等)を、Switchで利用しているmicroSDカードのswitchフォルダ内へ配置してください。
sdmc:/switch/Battery-Desync-Fix-NX.nro
Battery Desync Fix NXを使用したバッテリー調整手順
キャリブレーションのプロセスには、2回の完全な充放電サイクルが含まれます。単にボタンを押して終了する作業ではないため、時間に余裕のある際に行ってください。
手順1:SYS CFWを起動してツールを実行する
まずは通常どおりSwitchをSYS CFW(SysMMC環境のCFW)で起動します。 ※EMU CFWから作業を開始することも可能ですが、本ガイドでは分かりやすくSYS CFW起点の流れで解説します。
- Homebrew Menuから「Battery Desync Fix NX」を起動します。

- アプリ画面に表示される現在のバッテリー内部情報(残量・容量・電圧など)を確認・メモしておきます。

手順2:Xボタンで初期化を実行する
- アプリ上で Xボタン を押し、強制初期化を実行します。これで Fuel Gauge のキャリブレーション初期化が始まります。

- 処理完了後、Bボタン を押してアプリを正常終了します。 ※アプリを閉じずに直接電源を切るなどの操作は避け、必ずBボタンで終了してください。
手順3:OFW(Stock)環境への反映(必要な場合)
SYS CFWだけでなく、通常のOFW(純正OS・Stock環境)でも正しく残量を反映させたい場合は、このタイミングで一度本体を再起動し、OFW/Stockを起動します。 HOSの電源シャットダウン・再起動時にキャリブレーションコンテキストが保存されるため、この手順を踏むことでOFW側にも設定が正常に引き継がれます。
手順4:【最重要】2回のフル充放電を実行する
公式READMEで指定されている通り、以下のサイクルで正確に2回のフル充放電を行います。
[現在の残量] ➔ 100%(満充電) ➔ 0%(完全放電) ➔ 100%(満充電) ➔ 0%(完全放電) ➔ 100%(満充電)
充放電時の重要な注意点
- 低残量時の動作について: 残量が少なくなるとHOSが自動でスリープに入ります。その場合は本体を復帰させ、画面に「赤色のバッテリーアイコン」または「空のバッテリーアイコン」が表示されて電源が切れるまで放電を繰り返してください。
- 完全電源OFFからの復帰時: 放電により完全に電源が落ちた後は、充電器を接続してHOSを起動します。もし画面に小さな充電アイコンが表示されたまま進まない場合は、少し時間をおいてから充電ケーブルを抜き差しし、HOSを起動させてください。
- 環境切り替えの禁止: この2回の充放電工程の途中で、別環境(SYSからEMUなど)へ再起動・切り替えを行わないでください。 途中で環境を変えるとコンテキストが破棄され、作業が最初からやり直しになります。
手順5:キャリブレーションデータをSDカードへ保存する
2回のフル充放電が完了し、バッテリーの認識が正常化したら、再度Battery Desync Fix NXを起動します。
- Aボタン を押して、調整されたキャリブレーションデータ(
batt.cal)をSDカードへ保存します。 - 保存が完了したらBボタンで終了します。
この保存機能を利用することで、次に説明するemuMMC環境へキャリブレーション結果を簡単に複製・適用できます。
emuMMC環境を使用している場合の運用方法と注意点
sysMMCとemuMMCは個別に処理が必要
HOSのバッテリー管理情報は各ストレージ環境(sysMMC / emuMMC)ごとに保持されています。そのため、sysMMC側で同期ずれを修正しても、そのままemuMMCを起動すると古い同期ずれデータが上書きされ、再び表示が狂ってしまう可能性があります。
マルチエミュ環境を構築している場合は、必ず以下の手順でキャリブレーションデータを同期させてください。
emuMMC側での復元手順(Yボタン操作)
- sysMMC側で「2回のフル充放電」と「SDカードへの保存(Aボタン)」を完了させます。
- 続いて、EMU CFW(emuMMC環境)を起動します。
- Battery Desync Fix NXを起動し、今度は Yボタン を押してSDカード内のキャリブレーションデータを復元(Apply)します。

- 複数のemuMMCが存在する場合は、それぞれのemuMMCを順次起動して同様にYボタンで復元を行います。
Battery Desync Fix NX(v1.5.1)の追加機能
最新バージョン(v1.5.1)では、バッテリーキャリブレーション機能に加え、より詳細な状態診断機能が追加されています。
- Voltage Limit(電圧上限)の表示: HOSが充電制御時に使用している Voltage Limit 情報が視覚的に確認できるようになりました。
- バッテリー化学情報とCAL0不一致アラート: バッテリーの化学情報(Chemistry)を表示します。また、CAL0に記録されている値とHOSが認識しているプロファイルに差分が存在する場合、対象テキストが黄色ハイライトで表示され、設定不整合をひと目で識別可能です。
- バッテリー交換後の充電サイクル数リセット: サードパーティ製や新品のバッテリーへ物理交換した際、保存・復元機能を用いて充電サイクル数をリセットする高度な機能が追加されました。(※通常の同期ずれ修正時に手動編集する必要はありません)
使用時の注意点・前提条件
1. 物理的なバッテリー劣化・故障を修復するものではない
本ツールが解消できるのは、あくまで「Fuel Gauge ICとHOS間の数値の不一致(表示上のバグ)」です。 バッテリー自体の化学的寿命、物理的な膨張、セル破壊による極端な容量低下などのハードウェア障害は修復できません。物理的な劣化が原因の場合は、バッテリー自体の交換を行ってください。
2. 正常な状態のSwitchには使用しない
開発者は「実際に残量表示や容量認識に異常が見られるユーザー向け」と明記しています。予防保全や定期メンテナンス目的での安易な実行は推奨されていません。
おわりに
Switchのバッテリー残量が急激に減ったり、残量があるのに電源が落ちたりすると「バッテリーの寿命かな?」と判断してしまいがちです。
しかし、その多くはFuel Gauge ICとHOS間の同期不全(Battery Desync)が原因であり、適切なキャリブレーションを行うことで正常な状態へ復元できる可能性があります。
「Battery Desync Fix NX」は2回の完全充放電を要するなど少し手順にコツが必要ですが、バッテリー交換の手間や費用をかける前に、試してみる価値が十分にある強力なHomebrewユーティリティです。同様の症状でお悩みの方は、ぜひ本記事の手順を参考に調整を行ってみてください。


コメント