Complete Magisk Root Guide β
The universal systemless root solution - Master Magisk installation, modules, and management for comprehensive Android customization without system modifications.
π Essential Navigation
Prerequisites: Bootloader Unlocked | Main Guide: Android Rooting Master Guide | Alternatives: KernelSU Guide | Support: FAQ & Troubleshooting
Table of Contents β
π Getting Started β
βοΈ Installation Process β
π§ Configuration & Management β
π οΈ Advanced Topics β
What is Magisk? β
Magisk is a systemless root solution that modifies only boot-related partitions, not /system. This preserves seamless updates and lets you add features via modules without permanently altering system files.
Core Innovations β
- Magic Mount overlays: Virtualizes changes over read-only partitions (including EROFS on Android 13+)
- Boot/init_boot patching: Modifies the boot chain (not /system)
- Zygisk: Injects code into the Zygote process to enable powerful user-space modules
- Reversible: Uninstall to fully restore stock images (if you kept originals)
Magisk vs Alternatives β
Feature | Magisk | Traditional Root | KernelSU |
---|---|---|---|
System modifications | Systemless (overlay) | Edits /system | Kernel-level hooks |
Installation | Patch boot/init_boot | Replace system files | Flash kernel or patch boot |
OTA updates | Supported with steps | Often break | Supported with steps |
Root hiding | DenyList + modules | Weak | Good (different model) |
Module ecosystem | Very mature (Zygisk) | N/A | Growing |
Recovery dependency | None required | Often required | Optional |
Community docs | Extensive | Fragmented | Smaller, active |
Notes:
- MagiskHide was removed; use DenyList and third-party modules if needed.
- SafetyNet is deprecated; Play Integrity is what matters now (see βRoot Hiding & Banking Appsβ).
Why Choose Magisk? β
- Works across a wide range of devices (Android 6.0β15)
- Systemless design survives OTAs with minimal steps
- Rich Zygisk module ecosystem (LSPosed, ad-blocking, privacy tools, props, etc.)
- No permanent system changes; easy to revert if you keep stock images
Prerequisites and Compatibility β
Essential Requirements β
Device Prerequisites:
- β Unlocked bootloader - Complete unlock guide
- β Android 6.0+ (API level 23+) - Magisk supports wide version range
- β 50%+ battery - Prevents interruption during installation
- β Custom recovery (recommended) - TWRP, OrangeFox, or equivalent
Computer Requirements:
- β ADB/Fastboot tools - Download Platform Tools
- β USB drivers - Device-specific drivers installed
- β Stock firmware - For boot image extraction
- β Backup solution - Complete device backup created
π± Device Compatibility Matrix β
Android Version | Magisk Support | Notes |
---|---|---|
Android 15 | Supported | Use latest stable; Zygisk works |
Android 14 | Supported | Play Integrity is stricter |
Android 13 | Supported | Many devices use init_boot |
Android 12 | Supported | Zygisk-era features mature |
Android 11β6 | Supported | Use appropriate Magisk version if very old |
Tip:
In Magisk > Install, check βRamdisk: Yes/Noβ to know which partition to patch. On Android 13+ devices (especially Google Tensor/Pixel 7/8/9), you usually patch init_boot, not boot.
Method 1: Boot Image Patching (Recommended) β
Recommended for: Most users and all modern devices
This is the official, safest, and most compatible method.
Phase 1: Prepare & Download β
Latest Magisk APK:
- Visit Magisk GitHub Releases
- Download
Magisk-vx.x.apk
(latest version) - Rename to
Magisk.apk
for easier handling
Stock Boot Image:
- For most devices pre-A13 or βRamdisk: Yesβ β boot.img
- For many A13+ devices (Pixel 7/8/9, some others) or βRamdisk: Noβ β init_boot.img
- Samsung: patch the full AP_xxx.tar (special process below)
- If no factory images are available, extract from your current firmware OTA (payload.bin) using payload-dumper-go
- Verify tools and connectivity:
adb devices
adb reboot bootloader
fastboot devices
fastboot getvar current-slot
Phase 2: Patch the image β
- Install the Magisk app (enable βInstall unknown appsβ).
- Copy your stock boot.img or init_boot.img (or Samsung AP tar) to the device.
- Open Magisk β Install β Select and Patch a File β choose the image (or AP tar for Samsung).
- Wait for success; note output path (e.g., /Download/magisk_patched-xxxx.img or magisk_patched-xxxx.tar on Samsung).
Phase 3: Flash the patched image β
Non-Samsung (fastboot devices):
- Reboot to bootloader:
adb reboot bootloader
fastboot devices
- Flash to the same partition you patched:
- If you patched boot.img:
fastboot flash boot magisk_patched.img
- If you patched init_boot.img (Android 13+ on many devices, e.g., recent Pixels):
fastboot flash init_boot magisk_patched.img
Note: Flash the partition for the slot currently in use. Do not blindly flash both slots; mismatched slots can soft-brick after OTAs.
- Reboot:
fastboot reboot
Samsung (Odin devices):
- Copy the generated magisk_patched-xxxxx.tar to PC.
- Open Odin (Windows), load the patched TAR into AP.
- Untick βAuto Rebootβ, start flash. When done, force reboot to recovery (Power + Vol Up while disconnecting USB) and factory reset if required (VaultKeeper behavior; first unlock already wiped data).
- First boot will be slower; open Magisk to finalize. KNOX is permanently tripped; Samsung Pay/Secure Folder may not work again.
Verify β
- Open Magisk β the top card should show Magisk installed and version.
- Optionally verify with a root checker app.
- In Magisk settings, confirm Zygisk is available on your Android version.
Pro tip: If your fastboot supports it, you can test-run without flashing:
fastboot boot magisk_patched.img
Once booted with temporary root, open Magisk β Install β Direct Install to make it permanent.
Method 2: Custom Recovery Installation (Legacy/Deprecated) β
Recommended for: Legacy devices that still rely on recovery flashing. Not officially supported on modern Magisk. Do not use on A13+ or recent devices.
What changed:
- The classic flashable Magisk ZIP has been discontinued for years.
- Official installation is via image patching only.
If you insist on recovery usage:
- Patch the image with the Magisk app as in Method 1.
- Boot to recovery and flash the patched image (not a ZIP):
- In TWRP: Install β Install Image β select magisk_patched.img β choose the correct partition (boot or init_boot) β Swipe to flash β Reboot System.
Use recovery mostly for backups and module recovery (deleting bad modules), not for installing Magisk.
Method 3: Direct Installation (Advanced) β
Scenario A: Already rooted with another solution
- Install the latest Magisk APK.
- Open Magisk β Install β Direct Install (recommended).
- Reboot.
Scenario B: Temporary-boot method (no permanent flash first)
- Obtain and patch stock boot/init_boot as in Method 1.
- Temporarily boot it:
fastboot boot magisk_patched.img
- Once booted, open Magisk β Install β Direct Install β Reboot.
- This keeps the risk lower if youβre unsure about flashing to the wrong slot.
Scenario C: Dump image from device (if firmware is hard to find)
- Requires temporary root or recovery shell access:
adb shell su -c "dd if=/dev/block/by-name/boot of=/sdcard/boot.img"
# or for Android 13+ devices where applicable
adb shell su -c "dd if=/dev/block/by-name/init_boot of=/sdcard/init_boot.img"
- Patch and proceed as above.
Post-Installation Setup β
- Verify root:
- Open Magisk, confirm installed version.
- Test with a root app.
- Configure Magisk:
- Repackage the app (Hide the Magisk app) to change its package name.
- Enable Zygisk (recommended on Android 11+).
- Enforce DenyList (then configure the app list).
- Mount Namespace Mode: Isolated (recommended for stronger separation on Android 13+).
- Security hygiene:
- Require PIN/biometrics for superuser requests.
- Review granted apps regularly; revoke unused permissions.
- Keep a copy of your original boot/init_boot image for easy restore.
- Optional backup:
- Use recovery or ADB to back up important partitions/data.
Root Hiding & Banking Apps β
Reality in 2025:
- SafetyNet is deprecated; Google Play Integrity (Basic/Device/Strong) is used.
- With an unlocked bootloader, passing Device/Strong Integrity is often impossible on many devices (especially Pixels/Tensor) due to hardware-backed attestation. Some banks now require Device Integrity.
- You can still hide root from many apps and often pass Basic Integrity. Results vary per device/app.
Baseline steps:
- Repackage Magisk app (Settings β Hide the Magisk app).
- Enable Zygisk.
- Enable and configure DenyList (Settings β Configure DenyList) for banking apps, Google Play Services, and Google Play Store. Toggle βEnforce DenyListβ.
- Clear data for:
- Google Play Services
- Google Play Store
- Problematic banking apps
- Reboot, then re-open apps.
Optional modules that may help (no guarantees):
Check our Root hiding section
- Shamiko (by LSPosed): Enhances hiding beyond DenyList. Requires Zygisk and DenyList NOT enforced for that app list (Shamiko manages it). Use responsibly.
- Play Integrity Fix (community-maintained forks): Attempts to adjust attestation to pass Basic/Device on some devices/ROMs. Compatibility changes over time.
Testing tools:
- Play Integrity API Checker (community apps on GitHub) to see Basic/Device/Strong.
- Root checker to confirm root interface.
- Remember: Passing Strong Integrity with an unlocked bootloader is effectively not possible.
Compliance note: Bypassing app protections can violate TOS. Use at your own risk.
Magisk Modules Ecosystem β
Where to get modules now:
- The in-app online repo was discontinued. Install from storage.
- Trusted sources: project GitHubs, reputable developers, and community-maintained indices. Consider using a community module manager (e.g., Magisk Module Manager) to browse verified modules.
Install:
- Magisk β Modules tab β Install from storage β pick ZIP.
- Reboot.
- Verify functionality; add to DenyList if needed.
Guidelines:
- Prefer Zygisk-aware modules (Riru is legacy).
- Install one at a time; reboot and test.
- Keep a record of what you installed and when.
- To uninstall a broken module:
- Boot recovery and delete
/data/adb/modules/module_name
- Or use ADB during boot: adb wait-for-device shell magisk --remove-modules
- Boot recovery and delete
Popular categories:
- LSPosed (Zygisk) for app-level tweaks
- Ad-blocking/private DNS modules
- Performance/tweaks (ensure device/version compatibility)
Updates and Maintenance β
Updating Magisk β
- In-app: Settings β Update Channel (Stable/Canary). Stable recommended for daily drivers.
- To update:
- Update the Magisk app (APK over the top).
- Open Magisk β Install β Direct Install.
- Reboot and verify.
OTA Survival (A/B devices) β
Typical Pixel/modern workflow:
- In Settings β System update: Download and Install, but DO NOT reboot.
- Open Magisk β Install β Install to Inactive Slot (After OTA).
- When done, reboot.
- Verify Magisk is intact after update.
Notes:
- If your device uses init_boot: Magisk handles it automatically with βInstall to Inactive Slot,β otherwise you may need to re-flash a newly patched init_boot if things changed significantly.
- Samsung: Use patched AP for each firmware update (Odin flash). Dirty OTA from settings usually wonβt work with root.
Maintenance tips:
- Update modules cautiously; read changelogs.
- Monthly review of granted superuser apps.
- Keep a local copy of your original and current boot/init_boot images per build.
Troubleshooting Guide β
Installation issues: β
- Magisk shows βN/Aβ after flashing:
- You flashed the wrong partition (boot vs init_boot).
- Wrong image (mismatch with your exact build/slot).
- For A/B, you flashed the inactive slotβs image. Re-flash to the active slot (or use βInstall to Inactive Slotβ during OTAs).
- Fastboot errors:
- Update Platform Tools.
- Use USB 2.0 port/cable.
- On Windows, install device-specific USB drivers.
Bootloops after install: β
- Flash back your original boot/init_boot:
fastboot flash boot stock_boot.img # or
fastboot flash init_boot stock_init_boot.img
fastboot reboot
- Or temporarily boot stock image (if supported), then fix from Android.
- Check if a wrong slot was flashed; correct it.
Root access denied: β
- Open Magisk β Superuser β ensure the app is listed and allowed.
- Some apps need Zygisk; confirm itβs enabled.
- Conflicting modules may break su; disable them and retry.
Banking app issues: β
- Clear app data and Google Play Services/Store data; reboot.
- Verify DenyList config for both the banking app and its dependencies (often include Google Play Services, GMSCore processes).
- Try Shamiko (with DenyList not enforced), then re-test.
- Understand that some apps now require Device/Strong Integrity and will never work rooted/unlocked.
Module problems: β
- Bootloop from a module:
- Recovery:
delete /data/adb/modules/module
- Or:
- Recovery:
adb wait-for-device shell magisk --remove-modules
- Modules not working:
- Ensure Zygisk is enabled if needed.
- Confirm Android version support.
- Read module logs (often in
/data/adb/modules/module
).
Advanced recovery: β
- Full Magisk removal:
- In-app: Uninstall β Restore Images β Complete Uninstall.
- Manual: flash stock boot/init_boot, then remove /data/adb/magisk*.
- If AVB prevents boot with other mods:
- Restore stock vbmeta or, for certain custom ROM workflows, flash vbmeta with disabled verification (not needed for plain Magisk installs; donβt do this unless you know why).
Community & Resources β
Official: β
- Magisk GitHub - Official source code and releases
- Magisk Documentation - Official documentation
Community: β
- XDA device forums - for device-specific images and quirks
- r/Magisk - on Reddit for community Q&A
- LSPosed project (Zygisk framework and Shamiko module)
Getting Help β
When seeking help, provide:
- Device model and Android version
- Magisk version installed
- Installation method used
- Exact error messages
- Logs from Magisk app
π Congratulations on Your Successful Root!
You now have complete control over your Android device!
Next recommended steps:
- Explore Root Apps - Discover 300+ curated applications
- Try LSPosed Framework - Advanced app modifications
- Install Custom ROM - Transform your Android experience
- Read Security Guide - Maintain device security
Continue Your Journey: