NAND Fix Pro Switch: Difference between revisions
More actions
No edit summary |
2.2.0 |
||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 4: | Line 4: | ||
|description=A comprehensive GUI tool for Nintendo Switch NAND repair, designed to simplify complex recovery processes into a user-friendly, step-by-step interface. | |description=A comprehensive GUI tool for Nintendo Switch NAND repair, designed to simplify complex recovery processes into a user-friendly, step-by-step interface. | ||
|author=sthetix | |author=sthetix | ||
|lastupdated= | |lastupdated=2026/03/30 | ||
|type=PC Utilities | |type=PC Utilities | ||
|version=2.0 | |version=2.2.0 | ||
|license= | |license=MIT | ||
|download=https:// | |download=https://github.com/sthetix/NANDFixPro/releases | ||
|website=https:// | |website=https://sthetix.info/unbricking-the-switch-with-level1-method-using-the-nandfix-pro/ | ||
|source=https://github.com/sthetix/NANDFixPro | |source=https://github.com/sthetix/NANDFixPro | ||
|donation=https://www.buymeacoffee.com/sthetixofficial | |donation=https://www.buymeacoffee.com/sthetixofficial | ||
| Line 18: | Line 18: | ||
|image=NANDFixProSwitch.png | |image=NANDFixProSwitch.png | ||
|image_alt=NAND Fix Pro | |image_alt=NAND Fix Pro | ||
}} | }}<!--NANDFixProSwitch.7z--> | ||
NAND Fix Pro is a powerful and user-friendly GUI application designed to simplify the process of repairing a Nintendo Switch's NAND. | |||
When you connect your Switch in Hekate UMS mode, NAND Fix Pro will automatically detect whether you're working with physical eMMC or an emuMMC raw partition. After completing a repair process, the "Copy BOOT to SD" button will automatically place boot0 and boot1 files in the correct directory structure for your setup. | |||
'''Disclaimer:''' This tool interacts directly with your console's internal memory (eMMC). While it includes safety measures, any interruption during a write process (e.g., power loss, cable disconnection) or use of incorrect files can lead to a permanent brick. | |||
== | == Features == | ||
* ''' | * '''Three-Tiered Repair System''' - Choose the right level of repair for your specific issue. | ||
* ''' | * '''User-Friendly GUI''' - A modern, dark-themed interface that guides you through every step. No command-line knowledge required. | ||
* ''' | * '''Automatic Path Detection''' - The application automatically finds its required tools from the <code>lib</code> folder. | ||
* ''' | * '''Safety First''' - Critical actions require user confirmation to prevent accidental data loss. Buttons remain disabled until all required files and paths are correctly configured. | ||
* '''Erista & Mariko Support''' - Automatically detects the console model from its PRODINFO and applies the correct settings for boot file generation. | |||
* '''Automated Dependency Management''' - The included launcher ensures Python and required libraries are installed automatically. | |||
* '''Built-in Admin Elevation''' - Automatically prompts for administrator rights, which are required for direct eMMC access. | |||
* '''Robust Logging''' - All operations are logged to the screen and saved in an <code>error_log.txt</code> on crash, making troubleshooting easy. | |||
* '''Disk Space Validation''' - Automatically checks for sufficient free space (60GB) before starting any repair process. | |||
==== | == User guide == | ||
===The three levels of repair=== | |||
* | '''Level 1: System Restore (Data Preserved)''' | ||
* | *What it does: Dumps the SYSTEM partition from your Switch, replaces the core OS files with clean ones generated from your firmware, and flashes it back. | ||
*When to use it: Ideal for fixing boot issues caused by a failed system update, a bad custom theme, or general software corruption where your save games and installed titles are still intact. | |||
*Outcome: Your console's OS is repaired, and all your user data (saves, games, profiles) is preserved. | |||
'''Level 2: Full Rebuild (User Data Erased)''' | |||
*What it does: Uses your Switch's unique PRODINFO to rebuild the entire NAND using clean, pre-packaged donor partitions. | |||
*When to use it: Use this when multiple partitions (not just SYSTEM) are corrupt, but your console's PRODINFO is still readable and intact. | |||
*Outcome: Your console is restored to a factory-like state. All user data will be erased. | |||
*New Advanced Option - Fix USER Partition: This level now includes a separate, advanced function to repair only a corrupt USER partition without touching the rest of the OS. This is a faster alternative if your problem is isolated to user data corruption (e.g., being unable to boot past the setup screen). Like the full rebuild, this process will also erase all user data. | |||
'''Level 3: Complete Recovery (Last Resort)''' | |||
*What it does: Reconstructs a complete NAND from scratch using a donor PRODINFO file and a pre-built NAND skeleton. It automatically detects the eMMC size (32GB/64GB) to use the correct template. | |||
*When to use it: This is the final option for a completely dead or lost NAND where even the original PRODINFO is gone or corrupt. | |||
*Outcome: A brand new, functional NAND is written to the eMMC. This is a total overwrite. | |||
=== Important notes === | |||
* You are using this tool at your own risk. | |||
* Always make a full NAND backup with Hekate before attempting any repairs. | |||
= | * The author is not responsible for any damage to your console. | ||
* | |||
* | |||
The | |||
==== | === What you need === | ||
* <code>prod.keys</code> file dumped from your own console. | |||
* A folder containing an extracted firmware. | |||
* (Level 3 only) A decrypted donor <code>PRODINFO</code> file if your original is lost. | |||
* Download and the latest <code>NAND-Fix-Pro</code> (self-extracting archive) from [https://github.com/sthetix/NANDFixPro/releases releases]. The downloaded <code>.exe</code> file is actually a 7-Zip self-extracting archive. When you run it or extract it, Windows Defender may flag the <code>NANDFixPro.exe</code> launcher as a potential threat. This is because it: | |||
** Automatically elevates to administrator privileges | |||
** Installs a portable Python environment | |||
** Executes system-level operations required for eMMC access | |||
=== Folder structure === | |||
= | |||
The tool relies on a specific folder structure to function correctly. Ensure your extracted folder looks like this: | The tool relies on a specific folder structure to function correctly. Ensure your extracted folder looks like this: | ||
| Line 177: | Line 91: | ||
├── SYSTEM.7z | ├── SYSTEM.7z | ||
├── USER-32.7z | ├── USER-32.7z | ||
└── USER-64.7z</pre> | └── USER-64.7z | ||
</pre> | |||
=== How to use === | |||
'''1. Prepare Your Console and Files | |||
* '''CRITICAL:''' Create a full NAND backup using Hekate before doing anything else. This is your essential safety net and must be done regardless of which repair level you plan to use. Without this backup, you cannot recover if something goes wrong. | |||
* Get your unique console files. Use :Lockpick RCM: to dump your <code>prod.keys</code> file. You must copy this file from your Switch's SD card to your computer, as the tool needs it for all operations. | |||
* If you're performing a "Level 3: Complete Recovery", you will also need a decrypted donor <code>PRODINFO</code> file. If you used the <code>prodinfo_gen</code> tool to create one, ensure you copy this file to your computer as well. | |||
* Prepare a USB cable to connect your Switch to your computer. Use a USB 2.0 port - connecting via USB 3.0 can cause instability and booting issues during eMMC access. | |||
'''2. Connect and Configure with Hekate | |||
* Boot your Switch into Hekate. | |||
* Navigate to the "USB Tools" menu. | |||
* Ensure the "Read-only" option is disabled. This will allow the tool to write to your eMMC. | |||
* Select "eMMC RAW GPP". This makes your Switch's eMMC accessible to your computer. | |||
'''3. Run NANDFixPro.exe | |||
* The launcher will automatically perform a one-time setup: | |||
** It will install an embedded, portable version of Python. | |||
** It will install the necessary Python dependencies (<code>wmi</code>). | |||
** It will then start the NAND Fix Pro application for you. | |||
'''4. Flash the Generated Boot Files | |||
* After the tool generates the new <code>boot0</code> and <code>boot1</code> files, you must flash them to your console. | |||
* Copy the generated <code>boot0</code> and <code>boot1</code> files into the <code>backup/<your-emmc-id>/restore</code> folder on your Switch's SD card. The <code><your-emmc-id></code> is a unique alphanumeric ID based on your eMMC chip, for example, <code>e4ff5e48</code>. | |||
* In Hekate, go to the "Tools" section. Select "Restore eMMC", then choose "eMMC BOOT0 & BOOT1" to flash these files back to your console. | |||
== Media == | |||
'''UNBRICKING THE SWITCH WITH LEVEL 1 METHOD USING THE NANDFIX PRO''' ([https://www.youtube.com/watch?v=fjyCAI31KAY sthetix]) <br> | |||
<youtube>fjyCAI31KAY</youtube> | |||
'''UNBRICKING THE SWITCH WITH LEVEL 2 METHOD USING THE NANDFIX PRO 2.0.0''' ([https://www.youtube.com/watch?v=2xnXaUqiq9A sthetix]) <br> | |||
<youtube>2xnXaUqiq9A</youtube> | |||
'''UNBRICKING THE SWITCH WITH LEVEL 3 METHOD USING THE NANDFIX PRO 2.0.3''' ([https://www.youtube.com/watch?v=tqyvgR6lOro sthetix]) <br> | |||
<youtube>tqyvgR6lOro</youtube> | |||
== Changelog == | |||
'''v2.2.0''' | |||
* What's New | |||
** Split NAND Support | |||
*** Automatically detects split NAND sets when browsing for a RAWNAND file | |||
*** Supports two formats: | |||
**** '''emuMMC SD files''' — numbered parts (<code>00</code>, <code>01</code>, <code>02</code>...) + <code>BOOT0</code> + <code>BOOT1</code> | |||
**** '''Hekate split backup''' — <code>rawnand.bin.00</code>, <code>rawnand.bin.01</code>... | |||
*** Seamlessly joins split parts before processing (Level 1 & Level 2 offline) | |||
*** Re-splits the fixed NAND back to the original format and chunk size after processing | |||
*** Output written to <code>joint_nand/</code> subfolder inside the temp directory | |||
*** Works with both 32GB and 64GB NAND sizes | |||
* Improvements | |||
** Added progress for Level 3 NAND image copy | |||
** Added <code>run.bat</code> launcher for easier startup | |||
** Minor code cleanup (duplicate except block removed) | |||
* Notes | |||
** Split/join applies to '''Level 1 and Level 2 offline mode''' only | |||
** Level 3 always generates a complete <code>RAWNAND.bin</code> from scratch — no split input required | |||
** Temp directory cleanup on Reset now correctly removes all <code>switch_gui_*</code> working folders | |||
'''2.1.1''' | |||
* Console Type Detection Feature | |||
** Level 3: Console type now displayed immediately when selecting a PRODINFO file | |||
** Level 3: Console type shown in "Get Keys from SD" success popup | |||
** Level 1/2: Console type detection support for users with customized lockpick (dumps/prodinfo.dec) | |||
* UI/UX Improvements | |||
** Updated terminology: "donor PRODINFO" → "PRODINFO" (more accurate for various use cases) | |||
** Added application icon - now displays on taskbar and window title | |||
** Improved user feedback with console type information in key workflows | |||
'''2.1.0''' | |||
* | * What's New in v2.1.0 | ||
* | ** Offline Mode / File Mode: Version 2.1 introduces a major new feature: Offline Mode (File Mode). You can now toggle between Live Mode and Offline Mode depending on your workflow. | ||
* Live Mode (Original) | |||
** Works directly with your Switch's eMMC via USB connection | |||
** Requires Hekate's USB Tools (eMMC RAW GPP mode) | |||
* Offline Mode (New) | |||
** Works with RAWNAND.bin backup files | |||
** No need for live eMMC connection | |||
** Perfect for working with existing backups or troubleshooting without the console connected | |||
'''v2.0.4''' | '''v2.0.4''' | ||
*Key Features | * What's New in v2.0.4 | ||
**Automatic detection of emuMMC raw devices (USBSTOR\DISK&VEN_HEKATE&PROD_SD_GPP) | ** emuMMC Raw Partition Support Added comprehensive support for detecting and working with emuMMC raw partitions exposed through Hekate's UMS mode. | ||
**Track drive type (eMMC vs emuMMC) throughout the entire repair workflow | * Key Features | ||
**Smart boot file placement based on detected drive type: | ** Automatic detection of emuMMC raw devices (USBSTOR\DISK&VEN_HEKATE&PROD_SD_GPP). | ||
**eMMC: backup/[emmcID]/restore/ | ** Track drive type (eMMC vs emuMMC) throughout the entire repair workflow. | ||
**emuMMC: backup/[emmcID]/restore/emummc/ | ** Smart boot file placement based on detected drive type: | ||
**Enhanced user interface feedback showing detected drive type | *** eMMC: backup/[emmcID]/restore/. | ||
**All Level 1/2/3 repair processes now support both eMMC and emuMMC targets | *** emuMMC: backup/[emmcID]/restore/emummc/. | ||
** Enhanced user interface feedback showing detected drive type. | |||
** All Level 1/2/3 repair processes now support both eMMC and emuMMC targets. | |||
* Compatibility | |||
** Works with all existing Level 1, Level 2, and Level 3 repair workflows. | |||
** No configuration needed - detection is fully automatic. | |||
** Supports standard Hekate emuMMC raw partition configurations. | |||
'''v2.0.3''' | '''v2.0.3''' | ||
*New Feature: Console Type Override | * What's New in v2.0.3 | ||
*A | ** This update introduces a critical feature for users encountering mismatch errors when attempting Level 1 or Level 2 repairs on hybrid (Erista/Mariko) consoles. It also includes general application cleanup and better state management. | ||
**Solve Mismatch Errors: This is specifically designed for users whose Switch console (e.g., a Mariko V2, Lite, or OLED) reports an incorrect boot chip ID to the software, often leading to a boot chain crash with error messages like "Erista pkg1 on Mariko" or "Wrong pkg1 flashed". | * New Feature: Console Type Override | ||
**Manual Selection: When enabled, a new dialog appears, allowing the user to manually select the correct console type (Erista | ** A new '''"Override Console Type Detection"''' option has been added to the '''Level 1''' and '''Level 2''' tabs. | ||
*General Improvements and Fixes | ** '''Solve Mismatch Errors''': This is specifically designed for users whose Switch console (e.g., a Mariko V2, Lite, or OLED) reports an incorrect boot chip ID to the software, often leading to a boot chain crash with error messages like "Erista pkg1 on Mariko" or "Wrong pkg1 flashed". | ||
**Improved Application Reset: | ** '''Manual Selection''': When enabled, a new dialog appears, allowing the user to manually select the correct console type ('''Erista''' or '''Mariko''') for the EmmcHaccGen process, overriding the automatic detection from the PRODINFO. | ||
* General Improvements and Fixes | |||
** '''Improved Application Reset''': The '''Reset App''' function has been enhanced to be more thorough. It now correctly clears the console type override checkbox state and resets the manual console type selection. It also clears the temporary paths (<code>keys</code>, <code>prodinfo</code>, and <code>firmware</code>) from the application's configuration file (<code>config.ini</code>). | |||
'''v2.0.2''' | '''v2.0.2''' | ||
*Hotfix: eMMC Write Stability | * What's New in v2.0.2 | ||
**Advanced USB Error Detection: Added specific detection for "Bad file descriptor" errors (OSError: errno 9). This error often occurs due to an unstable USB connection, a bad cable, or a port issue during the raw write process. | ** This is a targeted hotfix release focused on improving the stability and error handling of the most critical part of the application: writing the NAND image to the eMMC. | ||
**New User-Friendly Dialog: If | * Hotfix: eMMC Write Stability | ||
**More Robust Write Loop: | ** '''Advanced USB Error Detection''': Added specific detection for "Bad file descriptor" errors (<code>OSError: errno 9</code>). This error often occurs due to an unstable USB connection, a bad cable, or a port issue during the raw write process. | ||
**Safer File Handle Closing: | ** '''New User-Friendly Dialog''': If this <code>errno 9</code> error occurs, a new dialog box will now appear. It explains the potential causes (bad cable, USB 2.0 vs 3.0 port, etc.) and suggests concrete solutions to the user instead of just failing. | ||
** '''More Robust Write Loop''': The <code>os.write()</code> command inside the raw copy function is now wrapped in its own <code>try...except</code> block. This allows the app to immediately catch a write failure ''as it happens'' and report it, rather than failing silently or ambiguously. | |||
** '''Safer File Handle Closing''': The <code>os.fsync()</code> and <code>os.close()</code> commands are now in separate <code>try...except</code> blocks. This ensures that even if <code>fsync</code> fails (which is normal on some systems), the app will still attempt to properly close the file handle to the eMMC, preventing it from being left in a locked state. | |||
'''v2.0.1''' | '''v2.0.1''' | ||
*Bug Fixes & Quality of Life Improvements | * What's New in v2.0.1 | ||
*Smarter SD Card & File Handling | ** This release is a maintenance update focused on fixing bugs, improving workflow stability, and enhancing the overall user experience. | ||
**Manual SD Card Selection: If automatic detection of the Hekate SD card fails, you will now be prompted to select the drive manually. This provides a crucial fallback and ensures the application is always usable. | * Bug Fixes & Quality of Life Improvements | ||
**Context-Aware "Get Keys from SD": The tool is now smarter. It will only look for, validate, and import a | ** Smarter SD Card & File Handling | ||
**Robust Session Management: Fixed a critical bug where temporary paths | *** '''Manual SD Card Selection''': If automatic detection of the Hekate SD card fails, you will now be prompted to select the drive manually. This provides a crucial fallback and ensures the application is always usable. | ||
*Enhanced Cleanup & Application Reset | *** '''Context-Aware "Get Keys from SD"''': The tool is now smarter. It will only look for, validate, and import a donor <code>PRODINFO</code> file if you are on the "Level 3" tab, preventing confusion and unnecessary file operations for Level 1 and 2 users. | ||
**Complete Cleanup After Copy: The "Copy BOOT to SD" function now performs a full cleanup. After successfully copying the files, it automatically deletes the entire temporary working directory, as well as the | *** '''Robust Session Management''': Fixed a critical bug where temporary paths for <code>prod.keys</code>, <code>prodinfo</code>, and <code>firmware</code> were saved to <code>config.ini</code>. The app now starts with a clean slate for these paths every time, preventing errors from using stale data from a previous session. | ||
**Supercharged "Reset App" Button: The reset button is now far more powerful. It will: | ** Enhanced Cleanup & Application Reset | ||
***Delete any | *** '''Complete Cleanup After Copy''': The "Copy BOOT to SD" function now performs a full cleanup. After successfully copying the files, it automatically deletes the entire temporary working directory, as well as the temporary <code>prod.keys</code> and <code>PRODINFO</code> files, leaving your system clean. | ||
***Find and remove | *** '''Supercharged "Reset App" Button''': The reset button is now far more powerful. It will: | ||
***Reset all workflow states and clear the log for a truly fresh start. | **** Delete any temporary <code>prod.keys</code> and <code>PRODINFO</code> files. | ||
**Improved Exit Cleanup: The application now properly cleans up temporary files and folders if you close it before completing the "Copy BOOT to SD" step. | **** Find and remove all <code>switch_gui_*</code> temporary folders created by the app. | ||
*Under-the-Hood Optimizations | **** Reset all workflow states and clear the log for a truly fresh start. | ||
**Smoother Progress Bar: The visual progress bar has been refactored to update on a single line without flickering. It now uses a more efficient rendering method for a smoother user experience during long operations. | *** '''Improved Exit Cleanup''': The application now properly cleans up temporary files and folders if you close it before completing the "Copy BOOT to SD" step. | ||
**Persistent Temporary Folders: Fixed a critical issue where the temporary folder containing the | ** Under-the-Hood Optimizations | ||
**Dependency Check on Launch: The application startup script now verifies that required Python packages (wmi, psutil) are installed, and will attempt to install them automatically if they are missing. | *** '''Smoother Progress Bar''': The visual progress bar has been refactored to update on a single line without flickering. It now uses a more efficient rendering method for a smoother user experience during long operations. | ||
*** '''Persistent Temporary Folders''': Fixed a critical issue where the temporary folder containing the final <code>BOOT0</code> and <code>BOOT1</code> files could be deleted prematurely if an operation failed or the app was closed. The folder now persists until it is successfully used or manually reset. | |||
*** '''Dependency Check on Launch''': The application startup script now verifies that required Python packages (<code>wmi</code>, <code>psutil</code>) are installed, and will attempt to install them automatically if they are missing. | |||
'''v2.0.0''' | '''v2.0.0''' | ||
*Self-Extracting Package | * What's New in v2.0.0 | ||
**One-Click Installation: Version 2.0.0 is packaged as a self-extracting executable (SFX) | ** Self-Extracting Package | ||
**Simply double-click | *** '''One-Click Installation''': Version 2.0.0 is packaged as a self-extracting executable (SFX) | ||
**No manual extraction needed: No need for 7-Zip or WinRAR to unpack the archive | *** '''Simply double-click''' the downloaded <code>.exe</code> file and it will automatically extract all files to your chosen location | ||
*Automatic Dependency Installation | *** '''No manual extraction needed''': No need for 7-Zip or WinRAR to unpack the archive | ||
*The NANDFixPro.exe launcher now handles all dependencies automatically on first run. | ** Automatic Dependency Installation | ||
**OSFMount: Automatically installs PassMark OSFMount silently in the background | *** The NANDFixPro.exe launcher now handles all dependencies automatically on first run. | ||
**Python Runtime: Installs a portable Python environment without affecting your system | *** '''OSFMount''': Automatically installs PassMark OSFMount silently in the background | ||
**.NET Framework: Ensures required .NET components are installed silently | *** '''Python Runtime''': Installs a portable Python environment without affecting your system | ||
**Python Packages: Auto-installs required libraries (wmi, psutil) without user intervention | *** '''.NET Framework''': Ensures required .NET components are installed silently | ||
**Zero Configuration: Just run the launcher and everything is set up for you | *** '''Python Packages''': Auto-installs required libraries (wmi, psutil) without user intervention | ||
*Built-in PRODINFO Editor | *** '''Zero Configuration''': Just run the launcher and everything is set up for you | ||
*Edit your PRODINFO file directly within the application without external tools. | ** Built-in PRODINFO Editor | ||
**Serial Number Modification: Change the 14-character serial number with validation | *** Edit your PRODINFO file directly within the application without external tools. | ||
**WiFi Region Selection: Update region codes (America, Europe, Japan, Asia, Australia) | *** '''Serial Number Modification''': Change the 14-character serial number with validation | ||
**Frame Color Customization: Modify bezel and main body colors with a visual color picker | *** '''WiFi Region Selection''': Update region codes (America, Europe, Japan, Asia, Australia) | ||
**Real-time Preview: See color changes instantly before applying | *** '''Frame Color Customization''': Modify bezel and main body colors with a visual color picker | ||
**Integrity Verification: Built-in CRC16 and SHA256 validation to ensure file integrity | *** '''Real-time Preview''': See color changes instantly before applying | ||
**Automatic Checksum Recalculation: All checksums are automatically updated when you save changes | *** '''Integrity Verification''': Built-in CRC16 and SHA256 validation to ensure file integrity | ||
**Access via Menu: Available from the new "PRODINFO Editor" menu (enabled after loading a PRODINFO file) | *** '''Automatic Checksum Recalculation''': All checksums are automatically updated when you save changes | ||
*Visual Progress Tracking | *** '''Access via Menu''': Available from the new "PRODINFO Editor" menu (enabled after loading a PRODINFO file) | ||
*No more wondering what's happening during long operations. | ** Visual Progress Tracking | ||
**Progress Bars: Visual progress bars for all 7z extractions, file copies, and eMMC writes | *** No more wondering what's happening during long operations. | ||
**Real-time Updates: See exactly how much data has been processed and estimated time remaining | *** '''Progress Bars''': Visual progress bars for all 7z extractions, file copies, and eMMC writes | ||
**Percentage Display: Clear percentage indicators for all major operations | *** '''Real-time Updates''': See exactly how much data has been processed and estimated time remaining | ||
**Cleaner Log Output: Progress bars update on a single line instead of flooding the log | *** '''Percentage Display''': Clear percentage indicators for all major operations | ||
*Enhanced Workflow Management | *** '''Cleaner Log Output''': Progress bars update on a single line instead of flooding the log | ||
*Streamlined process from start to finish with intelligent button states. | ** Enhanced Workflow Management | ||
**Smart Button States: Buttons change color to indicate status (blue=active, green=completed, gray=disabled) | *** Streamlined process from start to finish with intelligent button states. | ||
**"Get Keys from SD" Integration: One-click import of prod.keys and donor PRODINFO from SD card | *** '''Smart Button States''': Buttons change color to indicate status (blue=active, green=completed, gray=disabled) | ||
**Automatic PRODINFO Detection: Finds generated_prodinfo_from_donor.bin, PRODINFO, or PRODINFO.bin automatically | *** '''"Get Keys from SD" Integration''': One-click import of prod.keys and donor PRODINFO from SD card | ||
**"Copy BOOT to SD" Button: Automatically detects the correct backup folder and copies files | *** '''Automatic PRODINFO Detection''': Finds generated_prodinfo_from_donor.bin, PRODINFO, or PRODINFO.bin automatically | ||
**Reset Application State: New "Reset App" button to start fresh without restarting the program | *** '''"Copy BOOT to SD" Button''': Automatically detects the correct backup folder and copies files | ||
**Workflow Persistence: Completed steps stay green so you always know where you are in the process | *** '''Reset Application State''': New "Reset App" button to start fresh without restarting the program | ||
*Improved Hardware Detection | *** '''Workflow Persistence''': Completed steps stay green so you always know where you are in the process | ||
*More reliable detection using Windows Management Instrumentation (WMI). | ** Improved Hardware Detection | ||
**Precise eMMC Detection: Identifies Switch eMMC by exact hardware ID (VEN_HEKATE&PROD_EMMC_GPP) | *** More reliable detection using Windows Management Instrumentation (WMI). | ||
**SD Card Recognition: Detects Hekate SD card mounts by hardware signature (VEN_HEKATE&PROD_SD_RAW) | *** '''Precise eMMC Detection''': Identifies Switch eMMC by exact hardware ID (VEN_HEKATE&PROD_EMMC_GPP) | ||
**Automatic Backup Folder Location: Finds backup/[emmcID]/restore folders without manual navigation | *** '''SD Card Recognition''': Detects Hekate SD card mounts by hardware signature (VEN_HEKATE&PROD_SD_RAW) | ||
**Safer Operation: Multiple drive detection prevents accidental writes to wrong devices | *** '''Automatic Backup Folder Location''': Finds backup/[emmcID]/restore folders without manual navigation | ||
*Advanced Options & Settings | *** '''Safer Operation''': Multiple drive detection prevents accidental writes to wrong devices | ||
*More control over the application's behavior. | ** Advanced Options & Settings | ||
**Custom Temporary Directory: Choose where to store temporary files (useful for drives with more space) | *** More control over the application's behavior. | ||
**Automatic Cleanup: Temp directories are properly cleaned up after operations complete | *** '''Custom Temporary Directory''': Choose where to store temporary files (useful for drives with more space) | ||
**Disk Space Validation: Pre-flight check ensures 60GB free space before starting operations | *** '''Automatic Cleanup''': Temp directories are properly cleaned up after operations complete | ||
**Dependency Auto-Install: Automatically installs required Python packages (wmi, psutil) on first run | *** '''Disk Space Validation''': Pre-flight check ensures 60GB free space before starting operations | ||
*Better Logging & Debugging | *** '''Dependency Auto-Install''': Automatically installs required Python packages (wmi, psutil) on first run | ||
*Comprehensive logging system for troubleshooting. | ** Better Logging & Debugging | ||
**Save Log Function: Export logs to timestamped text files for sharing or analysis | *** Comprehensive logging system for troubleshooting. | ||
**Clear Log Function: Clean the log view without closing the application | *** '''Save Log Function''': Export logs to timestamped text files for sharing or analysis | ||
**Detailed Error Messages: More informative error messages with context | *** '''Clear Log Function''': Clean the log view without closing the application | ||
**Crash Recovery: Unhandled exceptions are logged to error_log.txt with full stack traces | *** '''Detailed Error Messages''': More informative error messages with context | ||
*Quality of Life Improvements | *** '''Crash Recovery''': Unhandled exceptions are logged to error_log.txt with full stack traces | ||
**PRODINFO Menu Integration: Dedicated menu item for PRODINFO editing (disabled until file is loaded) | ** Quality of Life Improvements | ||
*** '''PRODINFO Menu Integration''': Dedicated menu item for PRODINFO editing (disabled until file is loaded) | |||
'''v1.0.3''' | '''v1.0.3''' | ||
*New "Help" Menu & Detailed Usage Guide | * What's New in v1.0.3 | ||
*You no longer need to search for external guides. All the information you need is now built directly into the app. | ** New "Help" Menu & Detailed Usage Guide | ||
**New Help Menu: A "Help" menu has been added to the top bar with "Usage Guide" and "About" sections. | *** You no longer need to search for external guides. All the information you need is now built directly into the app. | ||
**External Guide File: The detailed guide is loaded | *** '''New Help Menu''': A "Help" menu has been added to the top bar with "Usage Guide" and "About" sections. | ||
**Comprehensive Details: The guide provides in-depth explanations for when to use each level, the importance of backups, prerequisites like using Lockpick_RCM, and the consequences of each action (e.g., data loss, loss of online functionality). | *** '''External Guide File''': The detailed guide is loaded from <code>lib/docs/usage.txt</code>, making it easy for the community to update and translate without changing the application code. | ||
*New Feature: Advanced USER Partition Fix | *** '''Comprehensive Details''': The guide provides in-depth explanations for when to use each level, the importance of backups, prerequisites like using Lockpick_RCM, and the consequences of each action (e.g., data loss, loss of online functionality). | ||
*A | ** New Feature: Advanced USER Partition Fix | ||
**Targeted Repair: This allows you to completely replace a corrupt USER partition without touching the operating system (SYSTEM) or any other part of the NAND. | *** A new '''"Advanced: Fix USER Only"''' button has been added to the Level 2 tab. | ||
**Fast & Efficient: It's perfect for common issues where the console boots but can't access user profiles or data. The process is significantly faster than a full Level 2 rebuild because it only writes the first 100MB of the partition. | *** '''Targeted Repair''': This allows you to completely replace a corrupt USER partition without touching the operating system (SYSTEM) or any other part of the NAND. | ||
*** '''Fast & Efficient''': It's perfect for common issues where the console boots but can't access user profiles or data. The process is significantly faster than a full Level 2 rebuild because it only writes the first 100MB of the partition. | |||
'''v1.0.2''' | '''v1.0.2''' | ||
*Universal eMMC Detection & Confirmation (Safety First!) | * What's New in v1.0.2 | ||
*The most important feature of this update is a massive improvement to drive detection safety, which is now consistent across all three levels. | ** Universal eMMC Detection & Confirmation (Safety First!) | ||
**WMI For All: The robust and reliable WMI drive detection, previously only in Level 3, is now implemented | *** The most important feature of this update is a massive improvement to drive detection safety, which is now consistent across all three levels. | ||
**Final Confirmation Pop-up: Before any operation begins, a confirmation dialog will now appear | *** '''WMI For All''': The robust and reliable WMI drive detection, previously only in Level 3, is now implemented for '''Level 1 and Level 2'''. | ||
*Live Progress Bars (Know What's Happening) | *** '''Final Confirmation Pop-up''': Before any operation begins, a confirmation dialog will now appear for '''all levels'''. It displays the details of the detected eMMC ('''Path, Size, Model''') and requires you to approve the action, virtually eliminating the risk of accidentally running a process on the wrong drive. | ||
*No more staring at the screen wondering if the script has frozen. A smooth, non-jittering progress bar now provides live feedback for all long-running file operations. | ** Live Progress Bars (Know What's Happening) | ||
*Visual Feedback: You will now see | *** No more staring at the screen wondering if the script has frozen. A smooth, non-jittering progress bar now provides live feedback for all long-running file operations. | ||
** | *** '''Visual Feedback''': You will now see a <code>[█████-----] XX%</code> progress bar during: | ||
** | **** All '''7-Zip archive extractions''' (like <code>SYSTEM.7z</code>, <code>donor64.7z</code>, etc.). | ||
**The | **** Large '''file copy operations''', like preparing the NAND skeleton in Level 3. | ||
*Process Optimizations & Bug Fixes | **** The final '''raw NAND write''' to the eMMC in Level 3. | ||
**Faster Level 3 Write: The optimized raw write for the Level 3 process has been reduced from 5GB | ** Process Optimizations & Bug Fixes | ||
**Critical Threading Fix: Resolved a major bug that could cause the application to freeze or become unresponsive during any of the repair processes. This ensures much greater stability. | *** '''Faster Level 3 Write''': The optimized raw write for the Level 3 process has been reduced from 5GB to '''4GB''', speeding up the final step slightly while still covering all essential partitions. | ||
*** '''Critical Threading Fix''': Resolved a major bug that could cause the application to freeze or become unresponsive during any of the repair processes. This ensures much greater stability. | |||
* Upgrade Notes | |||
** The core repair logic for each level remains unchanged. This update focuses on the user interface, safety checks, and feedback. | |||
** Your <code>config.ini</code> file and saved paths will be preserved. | |||
** Requirements are the same: your own <code>prod.keys</code> file and a firmware folder. | |||
'''v1.0.1''' | '''v1.0.1''' | ||
*Enhanced Logging System | * What's New in v1.0.1 | ||
**Save Log Feature: Export complete session logs with timestamps for troubleshooting and support | ** Enhanced Logging System | ||
**Clear Log Function: Reset the log window during long sessions | *** '''Save Log Feature''': Export complete session logs with timestamps for troubleshooting and support | ||
**Cleaner Output: Reduced verbose debugging messages for more professional, readable logs | *** '''Clear Log Function''': Reset the log window during long sessions | ||
*Improved Error Prevention | *** '''Cleaner Output''': Reduced verbose debugging messages for more professional, readable logs | ||
**Disk Space Validation: Automatic check for 60GB free space before starting any repair level | ** Improved Error Prevention | ||
**Better Error Messages: More descriptive error dialogs with actionable solutions | *** '''Disk Space Validation''': Automatic check for 60GB free space before starting any repair level | ||
**Dependency Auto-Install: Automatic installation of required Python packages (WMI) on first run | *** '''Better Error Messages''': More descriptive error dialogs with actionable solutions | ||
*Flexible Storage Management | *** '''Dependency Auto-Install''': Automatic installation of required Python packages (WMI) on first run | ||
**Custom Temp Directory: Set temporary directory to any location on your PC for better storage management | ** Flexible Storage Management | ||
**Improved Storage Control: Choose optimal drive locations based on available space and performance needs | *** '''Custom Temp Directory''': Set temporary directory to any location on your PC for better storage management | ||
*Process Completion Notifications | *** '''Improved Storage Control''': Choose optimal drive locations based on available space and performance needs | ||
**Success Popups: Clear completion dialogs for Level 1 and Level 2 processes (Level 3 already had this) | ** Process Completion Notifications | ||
**Consistent User Experience: All three levels now provide the same feedback structure | *** '''Success Popups''': Clear completion dialogs for Level 1 and Level 2 processes (Level 3 already had this) | ||
*Bug Fixes | *** '''Consistent User Experience''': All three levels now provide the same feedback structure | ||
**Fixed critical crash in Level 2 and Level 3 when modifying SYSTEM partitions | ** Bug Fixes | ||
**Resolved save log dialog parameter errors | *** Fixed critical crash in Level 2 and Level 3 when modifying SYSTEM partitions | ||
**Improved file path validation and error handling | *** Resolved save log dialog parameter errors | ||
*** Improved file path validation and error handling | |||
* Upgrade Notes | |||
* | ** All existing configurations and settings are preserved | ||
** No changes to repair logic or compatibility | |||
** Same requirements: your own prod.keys and firmware folder | |||
== | == Credits == | ||
This application is a graphical frontend that would not be possible without the foundational work of these incredible tools and the teams behind them: | This application is a graphical frontend that would not be possible without the foundational work of these incredible tools and the teams behind them: | ||
* | * [https://github.com/suchmememanymuch/EmmcHaccGen EmmcHaccGen] by suchmememanymuch | ||
* | * [https://github.com/eliboa/NxNandManager NxNandManager] by eliboa | ||
* | * [https://www.osforensics.com/tools/mount-disk-images.html OSFMount] by PassMark Software | ||
* | * [https://www.7-zip.org/ 7-Zip] by Igor Pavlov | ||
== External links == | == External links == | ||
* | * Author's website - https://sthetix.info/unbricking-the-switch-with-level1-method-using-the-nandfix-pro/ | ||
* GitHub - https://github.com/sthetix/NANDFixPro | |||
* Twitter - https://x.com/sthetixofficial/status/1967767425946095997 | |||
Latest revision as of 23:26, 3 April 2026
| NAND Fix Pro | |
|---|---|
| General | |
| Author | sthetix |
| Type | PC Utilities |
| Version | 2.2.0 |
| License | MIT License |
| Last Updated | 2026/03/30 |
| Links | |
| Download | |
| Website | |
| Source | |
| Support Author | |
NAND Fix Pro is a powerful and user-friendly GUI application designed to simplify the process of repairing a Nintendo Switch's NAND.
When you connect your Switch in Hekate UMS mode, NAND Fix Pro will automatically detect whether you're working with physical eMMC or an emuMMC raw partition. After completing a repair process, the "Copy BOOT to SD" button will automatically place boot0 and boot1 files in the correct directory structure for your setup.
Disclaimer: This tool interacts directly with your console's internal memory (eMMC). While it includes safety measures, any interruption during a write process (e.g., power loss, cable disconnection) or use of incorrect files can lead to a permanent brick.
Features
- Three-Tiered Repair System - Choose the right level of repair for your specific issue.
- User-Friendly GUI - A modern, dark-themed interface that guides you through every step. No command-line knowledge required.
- Automatic Path Detection - The application automatically finds its required tools from the
libfolder. - Safety First - Critical actions require user confirmation to prevent accidental data loss. Buttons remain disabled until all required files and paths are correctly configured.
- Erista & Mariko Support - Automatically detects the console model from its PRODINFO and applies the correct settings for boot file generation.
- Automated Dependency Management - The included launcher ensures Python and required libraries are installed automatically.
- Built-in Admin Elevation - Automatically prompts for administrator rights, which are required for direct eMMC access.
- Robust Logging - All operations are logged to the screen and saved in an
error_log.txton crash, making troubleshooting easy. - Disk Space Validation - Automatically checks for sufficient free space (60GB) before starting any repair process.
User guide
The three levels of repair
Level 1: System Restore (Data Preserved)
- What it does: Dumps the SYSTEM partition from your Switch, replaces the core OS files with clean ones generated from your firmware, and flashes it back.
- When to use it: Ideal for fixing boot issues caused by a failed system update, a bad custom theme, or general software corruption where your save games and installed titles are still intact.
- Outcome: Your console's OS is repaired, and all your user data (saves, games, profiles) is preserved.
Level 2: Full Rebuild (User Data Erased)
- What it does: Uses your Switch's unique PRODINFO to rebuild the entire NAND using clean, pre-packaged donor partitions.
- When to use it: Use this when multiple partitions (not just SYSTEM) are corrupt, but your console's PRODINFO is still readable and intact.
- Outcome: Your console is restored to a factory-like state. All user data will be erased.
- New Advanced Option - Fix USER Partition: This level now includes a separate, advanced function to repair only a corrupt USER partition without touching the rest of the OS. This is a faster alternative if your problem is isolated to user data corruption (e.g., being unable to boot past the setup screen). Like the full rebuild, this process will also erase all user data.
Level 3: Complete Recovery (Last Resort)
- What it does: Reconstructs a complete NAND from scratch using a donor PRODINFO file and a pre-built NAND skeleton. It automatically detects the eMMC size (32GB/64GB) to use the correct template.
- When to use it: This is the final option for a completely dead or lost NAND where even the original PRODINFO is gone or corrupt.
- Outcome: A brand new, functional NAND is written to the eMMC. This is a total overwrite.
Important notes
- You are using this tool at your own risk.
- Always make a full NAND backup with Hekate before attempting any repairs.
- The author is not responsible for any damage to your console.
What you need
prod.keysfile dumped from your own console.- A folder containing an extracted firmware.
- (Level 3 only) A decrypted donor
PRODINFOfile if your original is lost. - Download and the latest
NAND-Fix-Pro(self-extracting archive) from releases. The downloaded.exefile is actually a 7-Zip self-extracting archive. When you run it or extract it, Windows Defender may flag theNANDFixPro.exelauncher as a potential threat. This is because it:- Automatically elevates to administrator privileges
- Installs a portable Python environment
- Executes system-level operations required for eMMC access
Folder structure
The tool relies on a specific folder structure to function correctly. Ensure your extracted folder looks like this:
NAND-Fix-Pro/
│
├── NANDFixPro.exe
├── nandfixpro.py
│
└───lib/
├── 7z/
│ └── 7z.exe
├── EmmcHaccGen/
│ └── EmmcHaccGen.exe
├── NxNandManager/
│ └── NxNandManager.exe
│
└───NAND/
├── donor32.7z
├── donor64.7z
├── PRODINFOF.7z
├── SAFE.7z
├── SYSTEM.7z
├── USER-32.7z
└── USER-64.7z
How to use
1. Prepare Your Console and Files
- CRITICAL: Create a full NAND backup using Hekate before doing anything else. This is your essential safety net and must be done regardless of which repair level you plan to use. Without this backup, you cannot recover if something goes wrong.
- Get your unique console files. Use :Lockpick RCM: to dump your
prod.keysfile. You must copy this file from your Switch's SD card to your computer, as the tool needs it for all operations. - If you're performing a "Level 3: Complete Recovery", you will also need a decrypted donor
PRODINFOfile. If you used theprodinfo_gentool to create one, ensure you copy this file to your computer as well. - Prepare a USB cable to connect your Switch to your computer. Use a USB 2.0 port - connecting via USB 3.0 can cause instability and booting issues during eMMC access.
2. Connect and Configure with Hekate
- Boot your Switch into Hekate.
- Navigate to the "USB Tools" menu.
- Ensure the "Read-only" option is disabled. This will allow the tool to write to your eMMC.
- Select "eMMC RAW GPP". This makes your Switch's eMMC accessible to your computer.
3. Run NANDFixPro.exe
- The launcher will automatically perform a one-time setup:
- It will install an embedded, portable version of Python.
- It will install the necessary Python dependencies (
wmi). - It will then start the NAND Fix Pro application for you.
4. Flash the Generated Boot Files
- After the tool generates the new
boot0andboot1files, you must flash them to your console. - Copy the generated
boot0andboot1files into thebackup/<your-emmc-id>/restorefolder on your Switch's SD card. The<your-emmc-id>is a unique alphanumeric ID based on your eMMC chip, for example,e4ff5e48. - In Hekate, go to the "Tools" section. Select "Restore eMMC", then choose "eMMC BOOT0 & BOOT1" to flash these files back to your console.
Media
UNBRICKING THE SWITCH WITH LEVEL 1 METHOD USING THE NANDFIX PRO (sthetix)
UNBRICKING THE SWITCH WITH LEVEL 2 METHOD USING THE NANDFIX PRO 2.0.0 (sthetix)
UNBRICKING THE SWITCH WITH LEVEL 3 METHOD USING THE NANDFIX PRO 2.0.3 (sthetix)
Changelog
v2.2.0
- What's New
- Split NAND Support
- Automatically detects split NAND sets when browsing for a RAWNAND file
- Supports two formats:
- emuMMC SD files — numbered parts (
00,01,02...) +BOOT0+BOOT1 - Hekate split backup —
rawnand.bin.00,rawnand.bin.01...
- emuMMC SD files — numbered parts (
- Seamlessly joins split parts before processing (Level 1 & Level 2 offline)
- Re-splits the fixed NAND back to the original format and chunk size after processing
- Output written to
joint_nand/subfolder inside the temp directory - Works with both 32GB and 64GB NAND sizes
- Split NAND Support
- Improvements
- Added progress for Level 3 NAND image copy
- Added
run.batlauncher for easier startup - Minor code cleanup (duplicate except block removed)
- Notes
- Split/join applies to Level 1 and Level 2 offline mode only
- Level 3 always generates a complete
RAWNAND.binfrom scratch — no split input required - Temp directory cleanup on Reset now correctly removes all
switch_gui_*working folders
2.1.1
- Console Type Detection Feature
- Level 3: Console type now displayed immediately when selecting a PRODINFO file
- Level 3: Console type shown in "Get Keys from SD" success popup
- Level 1/2: Console type detection support for users with customized lockpick (dumps/prodinfo.dec)
- UI/UX Improvements
- Updated terminology: "donor PRODINFO" → "PRODINFO" (more accurate for various use cases)
- Added application icon - now displays on taskbar and window title
- Improved user feedback with console type information in key workflows
2.1.0
- What's New in v2.1.0
- Offline Mode / File Mode: Version 2.1 introduces a major new feature: Offline Mode (File Mode). You can now toggle between Live Mode and Offline Mode depending on your workflow.
- Live Mode (Original)
- Works directly with your Switch's eMMC via USB connection
- Requires Hekate's USB Tools (eMMC RAW GPP mode)
- Offline Mode (New)
- Works with RAWNAND.bin backup files
- No need for live eMMC connection
- Perfect for working with existing backups or troubleshooting without the console connected
v2.0.4
- What's New in v2.0.4
- emuMMC Raw Partition Support Added comprehensive support for detecting and working with emuMMC raw partitions exposed through Hekate's UMS mode.
- Key Features
- Automatic detection of emuMMC raw devices (USBSTOR\DISK&VEN_HEKATE&PROD_SD_GPP).
- Track drive type (eMMC vs emuMMC) throughout the entire repair workflow.
- Smart boot file placement based on detected drive type:
- eMMC: backup/[emmcID]/restore/.
- emuMMC: backup/[emmcID]/restore/emummc/.
- Enhanced user interface feedback showing detected drive type.
- All Level 1/2/3 repair processes now support both eMMC and emuMMC targets.
- Compatibility
- Works with all existing Level 1, Level 2, and Level 3 repair workflows.
- No configuration needed - detection is fully automatic.
- Supports standard Hekate emuMMC raw partition configurations.
v2.0.3
- What's New in v2.0.3
- This update introduces a critical feature for users encountering mismatch errors when attempting Level 1 or Level 2 repairs on hybrid (Erista/Mariko) consoles. It also includes general application cleanup and better state management.
- New Feature: Console Type Override
- A new "Override Console Type Detection" option has been added to the Level 1 and Level 2 tabs.
- Solve Mismatch Errors: This is specifically designed for users whose Switch console (e.g., a Mariko V2, Lite, or OLED) reports an incorrect boot chip ID to the software, often leading to a boot chain crash with error messages like "Erista pkg1 on Mariko" or "Wrong pkg1 flashed".
- Manual Selection: When enabled, a new dialog appears, allowing the user to manually select the correct console type (Erista or Mariko) for the EmmcHaccGen process, overriding the automatic detection from the PRODINFO.
- General Improvements and Fixes
- Improved Application Reset: The Reset App function has been enhanced to be more thorough. It now correctly clears the console type override checkbox state and resets the manual console type selection. It also clears the temporary paths (
keys,prodinfo, andfirmware) from the application's configuration file (config.ini).
- Improved Application Reset: The Reset App function has been enhanced to be more thorough. It now correctly clears the console type override checkbox state and resets the manual console type selection. It also clears the temporary paths (
v2.0.2
- What's New in v2.0.2
- This is a targeted hotfix release focused on improving the stability and error handling of the most critical part of the application: writing the NAND image to the eMMC.
- Hotfix: eMMC Write Stability
- Advanced USB Error Detection: Added specific detection for "Bad file descriptor" errors (
OSError: errno 9). This error often occurs due to an unstable USB connection, a bad cable, or a port issue during the raw write process. - New User-Friendly Dialog: If this
errno 9error occurs, a new dialog box will now appear. It explains the potential causes (bad cable, USB 2.0 vs 3.0 port, etc.) and suggests concrete solutions to the user instead of just failing. - More Robust Write Loop: The
os.write()command inside the raw copy function is now wrapped in its owntry...exceptblock. This allows the app to immediately catch a write failure as it happens and report it, rather than failing silently or ambiguously. - Safer File Handle Closing: The
os.fsync()andos.close()commands are now in separatetry...exceptblocks. This ensures that even iffsyncfails (which is normal on some systems), the app will still attempt to properly close the file handle to the eMMC, preventing it from being left in a locked state.
- Advanced USB Error Detection: Added specific detection for "Bad file descriptor" errors (
v2.0.1
- What's New in v2.0.1
- This release is a maintenance update focused on fixing bugs, improving workflow stability, and enhancing the overall user experience.
- Bug Fixes & Quality of Life Improvements
- Smarter SD Card & File Handling
- Manual SD Card Selection: If automatic detection of the Hekate SD card fails, you will now be prompted to select the drive manually. This provides a crucial fallback and ensures the application is always usable.
- Context-Aware "Get Keys from SD": The tool is now smarter. It will only look for, validate, and import a donor
PRODINFOfile if you are on the "Level 3" tab, preventing confusion and unnecessary file operations for Level 1 and 2 users. - Robust Session Management: Fixed a critical bug where temporary paths for
prod.keys,prodinfo, andfirmwarewere saved toconfig.ini. The app now starts with a clean slate for these paths every time, preventing errors from using stale data from a previous session.
- Enhanced Cleanup & Application Reset
- Complete Cleanup After Copy: The "Copy BOOT to SD" function now performs a full cleanup. After successfully copying the files, it automatically deletes the entire temporary working directory, as well as the temporary
prod.keysandPRODINFOfiles, leaving your system clean. - Supercharged "Reset App" Button: The reset button is now far more powerful. It will:
- Delete any temporary
prod.keysandPRODINFOfiles. - Find and remove all
switch_gui_*temporary folders created by the app. - Reset all workflow states and clear the log for a truly fresh start.
- Delete any temporary
- Improved Exit Cleanup: The application now properly cleans up temporary files and folders if you close it before completing the "Copy BOOT to SD" step.
- Complete Cleanup After Copy: The "Copy BOOT to SD" function now performs a full cleanup. After successfully copying the files, it automatically deletes the entire temporary working directory, as well as the temporary
- Under-the-Hood Optimizations
- Smoother Progress Bar: The visual progress bar has been refactored to update on a single line without flickering. It now uses a more efficient rendering method for a smoother user experience during long operations.
- Persistent Temporary Folders: Fixed a critical issue where the temporary folder containing the final
BOOT0andBOOT1files could be deleted prematurely if an operation failed or the app was closed. The folder now persists until it is successfully used or manually reset. - Dependency Check on Launch: The application startup script now verifies that required Python packages (
wmi,psutil) are installed, and will attempt to install them automatically if they are missing.
- Smarter SD Card & File Handling
v2.0.0
- What's New in v2.0.0
- Self-Extracting Package
- One-Click Installation: Version 2.0.0 is packaged as a self-extracting executable (SFX)
- Simply double-click the downloaded
.exefile and it will automatically extract all files to your chosen location - No manual extraction needed: No need for 7-Zip or WinRAR to unpack the archive
- Automatic Dependency Installation
- The NANDFixPro.exe launcher now handles all dependencies automatically on first run.
- OSFMount: Automatically installs PassMark OSFMount silently in the background
- Python Runtime: Installs a portable Python environment without affecting your system
- .NET Framework: Ensures required .NET components are installed silently
- Python Packages: Auto-installs required libraries (wmi, psutil) without user intervention
- Zero Configuration: Just run the launcher and everything is set up for you
- Built-in PRODINFO Editor
- Edit your PRODINFO file directly within the application without external tools.
- Serial Number Modification: Change the 14-character serial number with validation
- WiFi Region Selection: Update region codes (America, Europe, Japan, Asia, Australia)
- Frame Color Customization: Modify bezel and main body colors with a visual color picker
- Real-time Preview: See color changes instantly before applying
- Integrity Verification: Built-in CRC16 and SHA256 validation to ensure file integrity
- Automatic Checksum Recalculation: All checksums are automatically updated when you save changes
- Access via Menu: Available from the new "PRODINFO Editor" menu (enabled after loading a PRODINFO file)
- Visual Progress Tracking
- No more wondering what's happening during long operations.
- Progress Bars: Visual progress bars for all 7z extractions, file copies, and eMMC writes
- Real-time Updates: See exactly how much data has been processed and estimated time remaining
- Percentage Display: Clear percentage indicators for all major operations
- Cleaner Log Output: Progress bars update on a single line instead of flooding the log
- Enhanced Workflow Management
- Streamlined process from start to finish with intelligent button states.
- Smart Button States: Buttons change color to indicate status (blue=active, green=completed, gray=disabled)
- "Get Keys from SD" Integration: One-click import of prod.keys and donor PRODINFO from SD card
- Automatic PRODINFO Detection: Finds generated_prodinfo_from_donor.bin, PRODINFO, or PRODINFO.bin automatically
- "Copy BOOT to SD" Button: Automatically detects the correct backup folder and copies files
- Reset Application State: New "Reset App" button to start fresh without restarting the program
- Workflow Persistence: Completed steps stay green so you always know where you are in the process
- Improved Hardware Detection
- More reliable detection using Windows Management Instrumentation (WMI).
- Precise eMMC Detection: Identifies Switch eMMC by exact hardware ID (VEN_HEKATE&PROD_EMMC_GPP)
- SD Card Recognition: Detects Hekate SD card mounts by hardware signature (VEN_HEKATE&PROD_SD_RAW)
- Automatic Backup Folder Location: Finds backup/[emmcID]/restore folders without manual navigation
- Safer Operation: Multiple drive detection prevents accidental writes to wrong devices
- Advanced Options & Settings
- More control over the application's behavior.
- Custom Temporary Directory: Choose where to store temporary files (useful for drives with more space)
- Automatic Cleanup: Temp directories are properly cleaned up after operations complete
- Disk Space Validation: Pre-flight check ensures 60GB free space before starting operations
- Dependency Auto-Install: Automatically installs required Python packages (wmi, psutil) on first run
- Better Logging & Debugging
- Comprehensive logging system for troubleshooting.
- Save Log Function: Export logs to timestamped text files for sharing or analysis
- Clear Log Function: Clean the log view without closing the application
- Detailed Error Messages: More informative error messages with context
- Crash Recovery: Unhandled exceptions are logged to error_log.txt with full stack traces
- Quality of Life Improvements
- PRODINFO Menu Integration: Dedicated menu item for PRODINFO editing (disabled until file is loaded)
- Self-Extracting Package
v1.0.3
- What's New in v1.0.3
- New "Help" Menu & Detailed Usage Guide
- You no longer need to search for external guides. All the information you need is now built directly into the app.
- New Help Menu: A "Help" menu has been added to the top bar with "Usage Guide" and "About" sections.
- External Guide File: The detailed guide is loaded from
lib/docs/usage.txt, making it easy for the community to update and translate without changing the application code. - Comprehensive Details: The guide provides in-depth explanations for when to use each level, the importance of backups, prerequisites like using Lockpick_RCM, and the consequences of each action (e.g., data loss, loss of online functionality).
- New Feature: Advanced USER Partition Fix
- A new "Advanced: Fix USER Only" button has been added to the Level 2 tab.
- Targeted Repair: This allows you to completely replace a corrupt USER partition without touching the operating system (SYSTEM) or any other part of the NAND.
- Fast & Efficient: It's perfect for common issues where the console boots but can't access user profiles or data. The process is significantly faster than a full Level 2 rebuild because it only writes the first 100MB of the partition.
- New "Help" Menu & Detailed Usage Guide
v1.0.2
- What's New in v1.0.2
- Universal eMMC Detection & Confirmation (Safety First!)
- The most important feature of this update is a massive improvement to drive detection safety, which is now consistent across all three levels.
- WMI For All: The robust and reliable WMI drive detection, previously only in Level 3, is now implemented for Level 1 and Level 2.
- Final Confirmation Pop-up: Before any operation begins, a confirmation dialog will now appear for all levels. It displays the details of the detected eMMC (Path, Size, Model) and requires you to approve the action, virtually eliminating the risk of accidentally running a process on the wrong drive.
- Live Progress Bars (Know What's Happening)
- No more staring at the screen wondering if the script has frozen. A smooth, non-jittering progress bar now provides live feedback for all long-running file operations.
- Visual Feedback: You will now see a
[█████-----] XX%progress bar during:- All 7-Zip archive extractions (like
SYSTEM.7z,donor64.7z, etc.). - Large file copy operations, like preparing the NAND skeleton in Level 3.
- The final raw NAND write to the eMMC in Level 3.
- All 7-Zip archive extractions (like
- Process Optimizations & Bug Fixes
- Faster Level 3 Write: The optimized raw write for the Level 3 process has been reduced from 5GB to 4GB, speeding up the final step slightly while still covering all essential partitions.
- Critical Threading Fix: Resolved a major bug that could cause the application to freeze or become unresponsive during any of the repair processes. This ensures much greater stability.
- Universal eMMC Detection & Confirmation (Safety First!)
- Upgrade Notes
- The core repair logic for each level remains unchanged. This update focuses on the user interface, safety checks, and feedback.
- Your
config.inifile and saved paths will be preserved. - Requirements are the same: your own
prod.keysfile and a firmware folder.
v1.0.1
- What's New in v1.0.1
- Enhanced Logging System
- Save Log Feature: Export complete session logs with timestamps for troubleshooting and support
- Clear Log Function: Reset the log window during long sessions
- Cleaner Output: Reduced verbose debugging messages for more professional, readable logs
- Improved Error Prevention
- Disk Space Validation: Automatic check for 60GB free space before starting any repair level
- Better Error Messages: More descriptive error dialogs with actionable solutions
- Dependency Auto-Install: Automatic installation of required Python packages (WMI) on first run
- Flexible Storage Management
- Custom Temp Directory: Set temporary directory to any location on your PC for better storage management
- Improved Storage Control: Choose optimal drive locations based on available space and performance needs
- Process Completion Notifications
- Success Popups: Clear completion dialogs for Level 1 and Level 2 processes (Level 3 already had this)
- Consistent User Experience: All three levels now provide the same feedback structure
- Bug Fixes
- Fixed critical crash in Level 2 and Level 3 when modifying SYSTEM partitions
- Resolved save log dialog parameter errors
- Improved file path validation and error handling
- Enhanced Logging System
- Upgrade Notes
- All existing configurations and settings are preserved
- No changes to repair logic or compatibility
- Same requirements: your own prod.keys and firmware folder
Credits
This application is a graphical frontend that would not be possible without the foundational work of these incredible tools and the teams behind them:
- EmmcHaccGen by suchmememanymuch
- NxNandManager by eliboa
- OSFMount by PassMark Software
- 7-Zip by Igor Pavlov