Skip to content

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 ​

FeatureMagiskTraditional RootKernelSU
System modificationsSystemless (overlay)Edits /systemKernel-level hooks
InstallationPatch boot/init_bootReplace system filesFlash kernel or patch boot
OTA updatesSupported with stepsOften breakSupported with steps
Root hidingDenyList + modulesWeakGood (different model)
Module ecosystemVery mature (Zygisk)N/AGrowing
Recovery dependencyNone requiredOften requiredOptional
Community docsExtensiveFragmentedSmaller, 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 VersionMagisk SupportNotes
Android 15SupportedUse latest stable; Zygisk works
Android 14SupportedPlay Integrity is stricter
Android 13SupportedMany devices use init_boot
Android 12SupportedZygisk-era features mature
Android 11–6SupportedUse 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.


Recommended for: Most users and all modern devices

This is the official, safest, and most compatible method.

Phase 1: Prepare & Download ​

  1. Latest Magisk APK:

  2. 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
  1. Verify tools and connectivity:
bash
adb devices
adb reboot bootloader
fastboot devices
fastboot getvar current-slot

Phase 2: Patch the image ​

  1. Install the Magisk app (enable β€œInstall unknown apps”).
  2. Copy your stock boot.img or init_boot.img (or Samsung AP tar) to the device.
  3. Open Magisk β†’ Install β†’ Select and Patch a File β†’ choose the image (or AP tar for Samsung).
  1. 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):

  1. Reboot to bootloader:
bash
adb reboot bootloader
fastboot devices
  1. Flash to the same partition you patched:
  • If you patched boot.img:
bash
fastboot flash boot magisk_patched.img
  • If you patched init_boot.img (Android 13+ on many devices, e.g., recent Pixels):
bash
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.

  1. Reboot:
bash
fastboot reboot

Samsung (Odin devices):

  1. Copy the generated magisk_patched-xxxxx.tar to PC.
  2. Open Odin (Windows), load the patched TAR into AP.
  3. 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).
  1. 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:

bash
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:
bash
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:
bash
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 ​

  1. Verify root:
  • Open Magisk, confirm installed version.
  • Test with a root app.
  1. 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+).
  1. 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.
  1. 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:

  1. Repackage Magisk app (Settings β†’ Hide the Magisk app).
  2. Enable Zygisk.
  3. Enable and configure DenyList (Settings β†’ Configure DenyList) for banking apps, Google Play Services, and Google Play Store. Toggle β€œEnforce DenyList”.
  1. 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:

  1. Magisk β†’ Modules tab β†’ Install from storage β†’ pick ZIP.
  2. Reboot.
  3. 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

Popular categories:


Updates and Maintenance ​

Updating Magisk ​

  • In-app: Settings β†’ Update Channel (Stable/Canary). Stable recommended for daily drivers.
  • To update:
    1. Update the Magisk app (APK over the top).
    2. Open Magisk β†’ Install β†’ Direct Install.
    3. Reboot and verify.

OTA Survival (A/B devices) ​

Typical Pixel/modern workflow:

  1. In Settings β†’ System update: Download and Install, but DO NOT reboot.
  2. Open Magisk β†’ Install β†’ Install to Inactive Slot (After OTA).
  3. When done, reboot.
  1. 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:
bash
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:
bash
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: ​

Community: ​

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:

Continue Your Journey:

Made with ❀️ for the Android Root community