|
|
| Line 8: |
Line 8: |
| |version=1.0.0 | | |version=1.0.0 |
| |license=GPL-2.0 | | |license=GPL-2.0 |
| |download=https://dlhb.gamebrew.org/switchhomebrews/NXMigratorProSwitch.7z | | |download=https://github.com/sthetix/NX-Migrator-Pro/releases |
| |website=https://github.com/sthetix/NX-Migrator-Pro | | |website=https://sthetix.info/easy-sd-card-upgrade-migrate-emummc-linux-android-to-a-larger-card-with-nx-migrator-pro/ |
| |source=https://github.com/sthetix/NX-Migrator-Pro | | |source=https://github.com/sthetix/NX-Migrator-Pro |
| |donation=https://www.buymeacoffee.com/sthetixofficial | | |donation=https://www.buymeacoffee.com/sthetixofficial |
| Line 18: |
Line 18: |
| |image=NXMigratorProSwitch.png | | |image=NXMigratorProSwitch.png |
| |image_alt=NX Migrator Pro | | |image_alt=NX Migrator Pro |
| }} | | }}<!--NXMigratorProSwitch.7z--> |
| NX-Migrator-Pro is a professional partition management tool for Nintendo Switch SD cards, offering dual-mode operation for migration and cleanup. Developed by sthetix, it simplifies transferring emuMMC, Linux, and Android setups to larger cards, eliminating manual partition hassles.
| | A professional partition management tool for Nintendo Switch SD cards with dual-mode operation: Migration and Cleanup. |
| | |
| == Features ==
| |
| === Supported Partition Types ===
| |
| * '''FAT32''' (hos_data) - Main Nintendo Switch data partition
| |
| * '''Linux (L4T)''' - Single Linux partition for Lakka/Ubuntu
| |
| * '''Android''' - Both Dynamic (Android 10+) and Legacy (Android 7-9)
| |
| * '''emuMMC''' - Single or Dual emuMMC partitions
| |
| | |
| === Migration Mode Features ===
| |
| * '''Smart Scanning''' - Automatically detects partition layout
| |
| * '''Selective Migration''' - Choose which partitions to migrate
| |
| * '''Auto-Expand FAT32''' - Automatically expand FAT32 to use free space
| |
| * '''Safe''' - Source disk is never modified (read-only access)
| |
| * '''Fast''' - Optimized sector-by-sector copying with 32MB chunks
| |
|
| |
|
| === Cleanup Mode Features ===
| | NX Migrator Pro provides two powerful modes for managing your Nintendo Switch SD card partitions: |
| * '''Single-Disk Operation''' - Works on one SD card (no target needed)
| | * Migration Mode - Migrate partitions from a smaller SD card to a larger one with automatic FAT32 expansion. |
| * '''Selective Removal''' - Choose which partitions to remove | | * Cleanup Mode - Remove unwanted partitions (Linux/Android/emuMMC) from a single SD card and reclaim space for FAT32. |
| * '''FAT32 Preservation''' - Backs up FAT32 data temporarily during cleanup
| |
| * '''Auto-Expand''' - Automatically expands FAT32 to reclaim freed space | |
| * '''Safe Backup''' - Prompts for backup confirmation before proceeding
| |
|
| |
|
| === GUI Features ===
| | System requirements: |
| * Modern dark-themed interface built with ttkbootstrap | | * OS: Windows 10/11 (64-bit) |
| * Visual partition layout display | | * RAM: 512MB minimum |
| * Real-time progress tracking with detailed status | | * Permissions: Administrator privileges required |
| * Pre-migration validation and warnings
| | * Disk Space: Minimal (application is ~10MB) |
| * Detailed partition information and size calculations | |
|
| |
|
| == Requirements ==
| | Hardware requirements: |
| === System Requirements ===
| |
| * '''OS''': Windows 10/11 (64-bit)
| |
| * '''RAM''': 512MB minimum
| |
| * '''Permissions''': Administrator privileges required
| |
| * '''Disk Space''': Minimal (application is ~10MB)
| |
| === Hardware Requirements ===
| |
| * Source SD Card (your current smaller card) | | * Source SD Card (your current smaller card) |
| * Target SD Card (must be larger than source) | | * Target SD Card (must be larger than source) |
| * SD card reader(s) - can use one or two readers | | * SD card reader(s) - can use one or two readers |
|
| |
|
| == Installation & Usage == | | == Features == |
| === Option 1: Standalone Executable (Recommended) ===
| | * '''Supported partition types: |
| # Download <code>NXMigratorPro.exe</code> from the [https://github.com/sthetix/NX-Migrator-Pro/releases Releases] page
| | ** FAT32 (hos_data) - Main Nintendo Switch data partition |
| # Double-click <code>NXMigratorPro.exe</code>
| | ** Linux (L4T) - Single Linux partition for Lakka/Ubuntu |
| # Follow the on-screen instructions
| | ** Android - Both Dynamic (Android 10+) and Legacy (Android 7-9) |
| | | ** emuMMC - Single or Dual emuMMC partitions |
| === Option 2: Run from Source ===
| | * '''Migration Mode: |
| If you want to run from Python source:
| | ** Smart Scanning - Automatically detects partition layout |
| | | ** Selective Migration - Choose which partitions to migrate |
| <ol>
| | ** Auto-Expand FAT32 - Automatically expand FAT32 to use free space |
| <li><p>Install Python 3.8+ from [https://www.python.org/downloads/ python.org]</p></li>
| | ** Safe - Source disk is never modified (read-only access) |
| <li><p>Install dependencies:</p>
| | ** Fast - Optimized sector-by-sector copying with 32MB chunks |
| <pre class="language-shell">pip install -r requirements.txt</pre></li>
| | * '''Cleanup Mode: |
| <li><p>Run as Administrator:</p>
| | ** Single-Disk Operation - Works on one SD card (no target needed) |
| <pre class="language-shell">python main.py</pre></li></ol>
| | ** Selective Removal - Choose which partitions to remove |
| | | ** FAT32 Preservation - Backs up FAT32 data temporarily during cleanup |
| == Usage Guide ==
| | ** Auto-Expand - Automatically expands FAT32 to reclaim freed space |
| === Mode Selection ===
| | ** Safe Backup - Prompts for backup confirmation before proceeding |
| Choose your operation mode at the top of the window:
| | * '''GUI: |
| | | ** Modern dark-themed interface built with ttkbootstrap |
| * '''Migration Mode''' - Migrate from small SD to large SD | | ** Visual partition layout display |
| * '''Cleanup Mode''' - Remove partitions from single SD
| | ** Real-time progress tracking with detailed status |
| == Migration Mode Usage ==
| | ** Pre-migration validation and warnings |
| === Step 1: Select Disks ===
| | ** Detailed partition information and size calculations |
| # Insert both source and target SD cards
| |
| # Click "Refresh Disks" to detect SD cards
| |
| # Select your '''Source SD Card''' (smaller, original)
| |
| # Select your '''Target SD Card''' (larger, destination)
| |
| | |
| '''WARNING''': Target disk will be COMPLETELY ERASED!
| |
| | |
| === Step 2: Scan Source ===
| |
| # Click "Scan Source SD Card"
| |
| # Wait for the scan to complete
| |
| # Review the detected partition layout
| |
| | |
| The tool will automatically detect:
| |
| | |
| * FAT32 partition (hos_data) | |
| * Linux partition (L4T) if present | |
| * Android partitions (Dynamic or Legacy) if present | |
| * emuMMC partitions (Single or Dual) if present | |
| | |
| === Step 3: Configure Migration ===
| |
| Choose what to migrate: | |
| | |
| * '''FAT32 Partition''' (always migrated, will be expanded to use free space) | |
| * '''Linux Partition''' (optional) | |
| * '''Android Partitions''' (optional) | |
| * '''emuMMC Partitions''' (optional) | |
| | |
| === Step 4: Calculate Layout ===
| |
| # Click "Calculate New Layout"
| |
| # Review the new partition layout
| |
| # Check the comparison dialog showing:
| |
| #* Source vs Target sizes
| |
| #* How much space FAT32 will gain
| |
| #* Free space after migration
| |
| | |
| === Step 5: Start Migration ===
| |
| # Click "Start Migration"
| |
| # Confirm the warning dialogs
| |
| # Wait for migration to complete
| |
| | |
| '''DO NOT''' remove SD cards or power off during migration!
| |
| | |
| Migration Progress:
| |
| | |
| # Preparing Disk (5%)
| |
| # Copying Partitions (10-80%)
| |
| # Writing Partition Tables (85-90%)
| |
| # Updating emuMMC Config (95-99%)
| |
| # Complete (100%)
| |
| | |
| === Step 6: Verification ===
| |
| Once complete:
| |
| | |
| * Safely remove both SD cards
| |
| * Insert target SD card into your Nintendo Switch | |
| * Boot normally - all data and partitions preserved | |
| | |
| == Cleanup Mode Usage ==
| |
| === Step 1: Select SD Card ===
| |
| # Insert the SD card you want to clean up
| |
| # Click "Refresh Disks" to detect SD cards
| |
| # Select the SD card
| |
| | |
| === Step 2: Scan SD Card ===
| |
| # Click "Scan SD Card"
| |
| # Wait for the scan to complete
| |
| # Review the detected partition layout
| |
| | |
| === Step 3: Select Partitions to Remove ===
| |
| Choose what to remove:
| |
| | |
| * '''Remove Linux''' - Delete Linux (L4T) partition | |
| * '''Remove Android''' - Delete all Android partitions | |
| * '''Remove emuMMC''' - Delete emuMMC partition(s) | |
| | |
| '''⚠️ WARNING''': Selected partitions will be PERMANENTLY DELETED!
| |
| | |
| === Step 4: Review Cleanup Preview ===
| |
| # Click "Calculate Preview" (happens automatically)
| |
| # Review the "After Cleanup" layout
| |
| # Verify FAT32 expansion size
| |
| | |
| === Step 5: Start Cleanup ===
| |
| # '''IMPORTANT''': Make sure you have a backup of your SD card!
| |
| # Click "Start Cleanup"
| |
| # Confirm the warning dialogs
| |
| # Wait for cleanup to complete (10-30 minutes)
| |
| | |
| '''DO NOT''' remove SD card during cleanup!
| |
| | |
| Cleanup Process:
| |
| | |
| # Backing up FAT32 data (5-35%)
| |
| # Cleaning disk (40-45%)
| |
| # Writing new partition table (50-55%)
| |
| # Creating FAT32 filesystem (60-70%)
| |
| # Restoring FAT32 data (75-95%)
| |
| # Updating configs (97-99%)
| |
| # Complete (100%)
| |
| | |
| === Step 6: Verification ===
| |
| Once complete:
| |
| | |
| * Safely remove the SD card | |
| * Insert into your Nintendo Switch | |
| * Boot normally - unwanted partitions removed, FAT32 expanded
| |
| | |
| == Supported Partition Layouts ==
| |
| === Simple: FAT32 Only ===
| |
| <pre>[MBR] Partition 0: FAT32 (hos_data)</pre>
| |
| | |
| === FAT32 + Linux ===
| |
| <pre>[MBR] Partition 0: FAT32 (hos_data)
| |
| [MBR] Partition 1: Linux (l4t)</pre>
| |
| === FAT32 + emuMMC (Single) ===
| |
| <pre>[MBR] Partition 0: FAT32 (hos_data)
| |
| [MBR] Partition 1: emuMMC</pre>
| |
| === FAT32 + emuMMC (Dual) ===
| |
| <pre>[MBR] Partition 0: FAT32 (hos_data)
| |
| [MBR] Partition 1: emuMMC
| |
| [MBR] Partition 2: emuMMC2</pre>
| |
| | |
| === Complex: FAT32 + Linux + Android + emuMMC ===
| |
| <pre>[MBR] Partition 0: FAT32 (hos_data)
| |
| [MBR] Partition 1: emuMMC
| |
| [MBR] Partition 2: emuMMC2
| |
| [MBR] Partition 3: GPT Protective
| |
|
| |
|
| [GPT] Entry 0: hos_data (FAT32)
| | == Media == |
| [GPT] Entry 1: l4t (Linux)
| |
| [GPT] Entry 2-8: Android partitions (boot, recovery, dtb, misc, cache, super, userdata)
| |
| [GPT] Entry 9: emummc
| |
| [GPT] Entry 10: emummc2</pre>
| |
| | |
| == Important Notes ==
| |
| === Before Migration ===
| |
| * Backup your SD card data (recommended)
| |
| * Ensure target SD card is '''larger''' than source
| |
| * Use a good quality SD card for target
| |
| * Close all programs accessing the SD cards
| |
| * Run as Administrator
| |
| | |
| === During Migration ===
| |
| * '''DO NOT''' remove SD cards
| |
| * '''DO NOT''' power off your computer
| |
| * '''DO NOT''' cancel the migration
| |
| * Wait patiently (30-60 minutes for 128GB, longer for larger cards)
| |
| | |
| === After Migration ===
| |
| * Verify partition layout in the tool
| |
| * Test target SD card in Nintendo Switch
| |
| * Keep source SD card as backup until verified working
| |
| | |
| ==Media== | |
| '''EASY SD CARD UPGRADE! MIGRATE EMUMMC, LINUX & ANDROID TO A LARGER CARD WITH NX MIGRATOR PRO''' ([https://www.youtube.com/watch?v=BIH44ACCyMo sthetix]) <br> | | '''EASY SD CARD UPGRADE! MIGRATE EMUMMC, LINUX & ANDROID TO A LARGER CARD WITH NX MIGRATOR PRO''' ([https://www.youtube.com/watch?v=BIH44ACCyMo sthetix]) <br> |
| <youtube width=""640"">BIH44ACCyMo</youtube> | | <youtube>BIH44ACCyMo</youtube> |
| | |
| ==Screenshots==
| |
| [[image:NXMigratorProSwitch.png|800px]]
| |
| | |
| == Troubleshooting ==
| |
| === "Administrator Required" Error ===
| |
| * Run as Administrator (right-click → Run as Administrator)
| |
| === "No SD Cards Found" ===
| |
| * Make sure SD cards are properly inserted
| |
| * Click "Refresh Disks"
| |
| * Try different USB ports
| |
| * Check Device Manager for SD card readers
| |
| | |
| === "Target disk must be larger" ===
| |
| * Ensure target SD card is actually larger than source
| |
| * Some SD cards report slightly different sizes
| |
| | |
| === Migration Fails ===
| |
| * Check SD card connections
| |
| * Try different SD card reader
| |
| * Verify target SD card is not write-protected
| |
| * Check for bad sectors on target SD card
| |
| | |
| === emuMMC Not Working After Migration/Cleanup ===
| |
| * The tool automatically updates emuMMC sector offsets in the <code>raw_based</code> files
| |
| * If issues persist, verify the emuMMC/RAW1 or emuMMC/RAW2 folders contain correct offsets
| |
| * Check nx''migrator_pro''*.log for any emuMMC update errors
| |
| | |
| === Cleanup Mode Specific Issues ===
| |
| '''"Temporary backup directory full"'''
| |
| | |
| * Cleanup mode backs up FAT32 data to your system temp folder
| |
| * Ensure you have enough free space on your system drive (C:)
| |
| * Required space = size of your FAT32 partition
| |
| * Alternative: Free up space on C: drive before cleanup
| |
| | |
| '''"Cleanup failed during restore"'''
| |
| | |
| * If cleanup fails during FAT32 restore, your temp backup is still safe
| |
| * Check temp folder (C:\Users\YourName\AppData\Local\Temp\nx''partition_backup''*)
| |
| * Manually copy files back if needed
| |
| * Always keep original SD backup before cleanup!
| |
| | |
| == Technical Details ==
| |
| === Partition Table Compatibility ===
| |
| * Creates '''100% hekate-compatible''' partition tables
| |
| * MBR for simple layouts (no Android)
| |
| * MBR + GPT for complex layouts (with Android)
| |
| * Exact same structure as hekate's partition manager
| |
| * 16MB alignment for optimal SD card performance
| |
| | |
| === Android Partition Schemes ===
| |
| '''Dynamic (Android 10+):''' 7 partitions
| |
|
| |
|
| * boot (64MB), recovery (64MB), dtb (1MB), misc (3MB)
| | == Changelog == |
| * cache (60MB), super (5922MB), userdata (variable)
| | '''1.0.0''' |
| | | * Initial Release. |
| '''Legacy (Android 7-9):''' 9 partitions
| |
| | |
| * vendor (1GB), APP (3GB), LNX (32MB), SOS (64MB)
| |
| * DTB (1MB), MDA (16MB), CAC (700MB), MSC (3MB), UDA (variable)
| |
| | |
| == Performance ==
| |
| Migration speed depends on SD card quality and reader:
| |
| | |
| * '''Average''': 30-50 MB/s transfer rate
| |
| * '''128GB card''': ~45-60 minutes
| |
| * '''256GB card''': ~90-120 minutes
| |
| * '''512GB card''': ~3-4 hours
| |
| | |
| Performance optimizations:
| |
| | |
| * 32MB chunk size for optimal throughput
| |
| * Direct sector-level I/O bypassing filesystem overhead
| |
| * Parallel operations where possible
| |
| | |
| ==Changelog== | |
| '''v1.0''' | |
| * First Release. | |
|
| |
|
| == Credits == | | == Credits == |
| * '''CTCaer''' - Original hekate bootloader and partition manager | | * CTCaer - Original hekate bootloader and partition manager |
| * '''ttkbootstrap''' - Modern GUI framework | | * ttkbootstrap - Modern GUI framework |
| | |
| == Support ==
| |
| * Open an [https://github.com/sthetix/NX-Migrator-Pro/issues issue on GitHub]
| |
| * Check [https://github.com/sthetix/NX-Migrator-Pro/issues existing issues] for solutions
| |
| * Review this README and troubleshooting section
| |
|
| |
|
| == External links == | | == External links == |
| * Github - https://github.com/sthetix/NX-Migrator-Pro | | * Author's website - https://sthetix.info/easy-sd-card-upgrade-migrate-emummc-linux-android-to-a-larger-card-with-nx-migrator-pro/ |
| | * GitHub - https://github.com/sthetix/NX-Migrator-Pro/ |