Table of Contents
One of the most popular ways to root an Android device is with Magisk. SuperSU was formerly the go-to exploit for rooting Android devices, stock firmware, and customized ROMS.
Magisk, on the other hand, is a much more sophisticated and experienced rooting tool now than it was in the past. Along with enabling systemless root access on Android, some of the features include compatibility for third-party modules, Google’s SafetyNet bypass, and MagiskHide for avoiding root detection.
There are modules for theming, ad blocking, activating Camera2API, and many other system-level changes you can’t make otherwise. Try out this tool if you’re a power user who wants to increase the usefulness of your phone and push it to its limits. If all of this sounds like fun to you, we’ll explain how to install on your Android device so you can personalize it and perform tasks you never imagined you could perform on your phone.
Download version 25.2
Following are the direct download links right from the Github repository of the project.
- Latest: Source
- Latest Uninstaller (Magisk-uninstaller-20201003.zip)
- Latest Magisk Manager (MagiskManager.apk download) | Source
Full downloads repository:
Use either the stable or beta and flash it via TWRP recovery to root Android devices.
If you already have it installed, it is strongly recommended to upgrade directly via the app using its “Direct Install” method. The following tutorial is only for the initial installation.
Before you start:
- This tutorial assumes you understand how to use
- If you plan to also install custom kernels, install it after Magisk
- Your device’s bootloader has to be unlocked
Download and install the latest Magisk app. In the home screen, you should see:
The result of Ramdisk determines whether your device has ramdisk in the boot partition. If your device does not have boot ramdisk, read the Magisk in Recovery section before continuing.
(Unfortunately, there are exceptions as some devices’ bootloader accepts ramdisk even if it shouldn’t. In this case, you will have to follow the instructions as if your device’s boot partition does include ramdisk. There is no way to detect this, so the only way to know for sure is to actually try. Fortunately, as far as we know, only some Xiaomi devices are known to have this property, so most people can simply ignore this piece of information.)
If you are using a Samsung device that is launched with Android 9.0 or higher, you can now jump to its own section.
If your device has boot ramdisk, get a copy of the
If your device does NOT have boot ramdisk, get a copy of the
You should be able to extract the file you need from official firmware packages or your custom ROM zip.
Next, we need to know whether your device has a separate
- If your official firmware package contains
vbmeta.img, then yes, your device has a separate
- You can also check by connecting your device to a PC and run the command:
adb shell ls -l /dev/block/by-name
- If you find
vbmeta_b, then yes, your device has a separate
- Otherwise, your device does not have a separate
Quick recap, at this point, you should have known and prepared:
- Whether your device has boot ramdisk
- Whether your device has a separate
recovery.imgbased on (1)
Let’s continue to Patching Images.
- Copy the boot/recovery image to your device
- Press the Install button in the Magisk card
- If you are patching a recovery image, check the “Recovery Mode” option
- If your device does NOT have a separate
vbmetapartition, check the “Patch vbmeta in boot image” option
- Choose “Select and Patch a File” in method, and select the boot/recovery image
- Start the installation, and copy the patched image to your PC using ADB:
adb pull /sdcard/Download/magisk_patched_[random_strings].img
- Flash the patched boot/recovery image to your device.
For most devices, reboot into fastboot mode and flash with command:
fastboot flash boot /path/to/magisk_patched.imgor
fastboot flash recovery /path/to/magisk_patched.img
- (Optional) If your device has a separate
vbmetapartition, you can patch the
vbmetapartition with command:
fastboot flash vbmeta --disable-verity --disable-verification vbmeta.img
- Reboot and voila!
The easiest way to uninstall it is directly through the app. If you insist on using custom recoveries, rename the Magisk APK to
uninstall.zip and flash it like any other ordinary flashable zip.
In the case when your device does not have ramdisk in boot images, it has no choice but to hijack the recovery partition. For these devices, you will have to reboot to recovery every time you want root enabled.
When it hijacks the recovery, there is a special mechanism to allow you to actually boot into recovery mode. Each device model has its own key combo to boot into recovery, as an example for Galaxy S10 it is (Power + Bixby + Volume Up). A quick search online should easily get you this info. As soon as you press the key combo and the device vibrates with a splash screen, release all buttons to boot into recovery. If you decide to boot into the actual recovery mode, long press volume up until you see the recovery screen.
As a summary, after installing it in recovery (starting from power off):
- (Power up normally) → (System with NO Magisk)
- (Recovery Key Combo) → (Splash screen) → (Release all buttons) → (System with Magisk)
- (Recovery Key Combo) → (Splash screen) → (Long press volume up) → (Recovery Mode)
(Note: You CANNOT use custom recoveries to install or upgrade in this case!!)
If your Samsung device is NOT launched with Android 9.0 or higher, you are reading the wrong section.
- Installing Magisk WILL trip KNOX
- Installing Magisk for the first time REQUIRES a full data wipe (this is NOT counting the data wipe when unlocking bootloader). Backup your data before continue.
- Download Odin (only runs on Windows) that supports your device.
Unlocking the bootloader on modern Samsung devices have some caveats. The newly introduced
VaultKeeper service will make the bootloader reject any unofficial partitions in some circumstances.
- Allow bootloader unlocking in Developer options → OEM unlocking
- Reboot to download mode: power off your device and press the download mode key combo for your device
- Long press volume up to unlock the bootloader. This will wipe your data and automatically reboot.
- Go through the initial setup. Skip through all the steps since data will be wiped again in later steps. Connect the device to Internet during the setup.
- Enable developer options, and confirm that the OEM unlocking option exists and is grayed out. This means the
VaultKeeperservice has unleashed the bootloader.
- Your bootloader now accepts unofficial images in download mode
- Use either samfirm.js, Frija, or Samloader to download the latest firmware zip of your device directly from Samsung servers.
- Unzip the firmware and copy the
APtar file to your device. It is normally named as
- Press the Install button in the Magisk card
- If your device does NOT have boot ramdisk, check the “Recovery Mode” option
- Choose “Select and Patch a File” in method, and select the
- Start the installation, and copy the patched tar file to your PC using ADB:
adb pull /sdcard/Download/magisk_patched_[random_strings].tar
DO NOT USE MTP as it is known to corrupt large files.
- Reboot to download mode. Open Odin on your PC, and flash
AP, together with
HOME_CSCbecause we want to wipe data) from the original firmware.
- Your device should reboot automatically once Odin finished flashing. Agree to do a factory reset if asked.
- If your device does NOT have boot ramdisk, reboot to recovery now to enable it.
- Install the app you’ve already downloaded and launch the app. It should show a dialog asking for additional setup.
- Let the app do its job and automatically reboot the device. Voila!
Once you have rooted your Samsung device, you can no longer upgrade your Android OS through OTA. To upgrade your device’s OS, you have to manually download the new firmware zip file and go through the same
AP patching process written in the previous section. The only difference here is in the Odin flashing step: do NOT use the
CSC tar, but instead use the
HOME_CSC tar as we are performing an upgrade, not the initial install.
- Never, ever try to restore either
vbmetapartitions back to stock! You can brick your device by doing so, and the only way to recover from this is to do a full Odin restore with data wipe.
- To upgrade your device with a new firmware, NEVER directly use the stock
APtar file with reasons mentioned above. Always patch
APin the app and use that instead.
- Never just flash only
AP, or else Odin may shrink your
/datafilesystem size. Flash
This installation method is deprecated and is maintained with minimum effort. YOU HAVE BEEN WARNED!
Installing using custom recoveries is only possible if your device has boot ramdisk. Installing through custom recoveries on modern devices is no longer recommended. If you face any issues, please use the proper Patch Image method.
- Download the the APK
- Rename the
.apkfile extension to
.zip, for example:
Magisk-v24.0.zip. If you have trouble renaming the file extension (like on Windows), use a file manager on Android or the one included in TWRP to rename the file.
- Flash the zip just like any other ordinary flashable zip.
- Reboot and check whether the Magisk app is installed. If it isn’t installed automatically, manually install the APK.
sepolicy.rulefile of modules may be stored in the
cachepartition. DO NOT WIPE THE
[MagiskInit] Fix a potential issue when stub cpio is used
[MagiskInit] Fix reboot to recovery when stub cpio is used
[MagiskInit] Fix sepolicy.rules symlink for rootfs devices
[General] Better data encryption detection
[General] Move the whole logging infrastructure into Rust
[MagiskBoot] Fix ramdisk backup being incorrectly skipped
[MagiskBoot] Add new feature to detect unsupported dtb and abort during installation
[Zygisk] Change binary hijack paths
[App] Fix incorrect recovery mode detection and installation
[MagiskInit] Fix config not properly exported in legacy SAR devices
[General] Enforce the Magisk app to always match or be newer than magiskd