DUAL BOOT PATCHER
DualBootPatcher is an open-source app that allows multiple ROMs to be installed on a single Android device. It does its best to work with existing code and does not require explicit support from ROMs. This will allow any number of ROMs to be installed at the same time. It works by patching the secondary ROM's installation scripts and boot image to load the ROM files from an alternate location (/system/multiboot, /cache/multiboot, and /data/multiboot). Because of the way this is implemented, no changes to the primary ROM are necessary.
Warning: This method requires one time factory reset.
How to use the patcher
Download the patcher apk and run it. Tap "Patch Zip File" from the navigation drawer and choose the file you want to patch.
Double click DualBootPatcher.exe and choose the file you want to patch.
After patching the zip file, a new file, like some_rom_data-slot.zip file will be created. For example,
After patching would create a new
If you want to root secondary rom, then download Magisk 12.zip given below(Do not use other version, you can update that later from magisk manager app) and patch it like you did with rom
Instructions for dual booting
Before doing anything, download the Dual Boot Patcher.apk from the download section below.
The patcher offers several locations for installing ROMs:
Primary: This is normally used for installing a zip to the primary ROM. It is not required, but is strongly recommended because it has code to prevent the zip from inadvertently affecting other ROMs.
Secondary: Secondary is the first multiboot installation location. It installs to the system partition. This is a good spot for installing a second ROM because it doesn't take any space away from the internal storage.
Multi-slots: There are 3 multislots: multi-slot-1, multi-slot-2, multi-slot-3. These install to the cache partition. This is specifically for devices, like the Galaxy S4, that have a massive cache partition.
Data-slots: There can be an unlimited number of data slots. These install to the data partition and eat up space on the internal storage. This is useful for devices where the system partition is nearly full and the cache partition is tiny. These slots are named "data-slot-[id]", where "id" is something you provide in the app.
Extsd-slots: There can be an unlimited number of extsd slots. These install to the external SD card, which is useful as it keeps the ROMs off of the internal storage. Note that the ROM's data files are still stored on the data partition.
Now Let's Start
1) Boot into recovery
2) Make a backup of /system /data /boot on SD Card (it's important to make it on sd card!)
3) Wipe internal storage (it will erase all of your data including photos, music etc on internal storage. So make sure you moved them or made their backup)
4) Restore your backup and boot to your ROM
5) Install Dual Boot Patcher.
6) Install patched rom as secondary on /system or on /data partition - it's your choice. There is lot of space for 3 roms in /system.
If you want to root secondary ROM and flash patched magiskv12.
7) Select your secondary ROM in ROM list and reboot.
Steps to be followed on Secondary Rom
8) Install Dual Boot Patcher.
9) Install MagiskManager.apk (see attachment)
10) Open Magisk Manager
11) Go to Modules-> press "+" button -> search for Magisk_v15.3.zip -> hold your finger on it -> press "Open". Wait for installation end. Now press close button. Don't restart
12) Open Dual Boot Patcher -> confirm for change current kernel
13) Reboot and voila! You have fully working secondary ROM with Magisk!
Do I need to wipe again for third or next rom?
No, wiping is only required for one time, you can flash as many roms(your device can handle) after that.
Switch the ROM if something doesn't work properly?
You can flash the DualBootUtilities zip from recovery. It will provide a menu interface that allows switching to the various ROMs.
If you have TWRP, you can also switch manually by tapping Install -> Images (bottom right) -> Go to /sdcard/MultiBoot/[Your ROM]/ -> flash boot.img.
Wipe /cache, /data, /system, or dalvik-cache?
The easiest way is to do it from the app while booted in another ROM. Just go to "Roms" in the navigation drawer, tap the 3 dots options menu for the ROM you want to wipe, and tap "Wipe ROM".
NOTE: Don't use the recovery's built-in wiping abilities as that may delete non-primary ROMs!
Update the primary ROM?
Patch the zip for primary and flash it. The "primary" installation target is designed so that other ROMs won't be affected when you want to flash something for the primary ROM.
Update a non-primary ROM?
Patch and flash the zip exactly like how you did it the first time.
Flash a mod or custom kernel for the primary ROM?
Patch it for primary before flashing. If the zip does not wipe /cache, it is also safe to flash it directly.
Flash a mod or custom kernel for a non-primary ROM?
Just patch and flash it
You must always select 'Data-slots' as installation location for secondary roms on Redmi Note 4x. You can also use 'Extsd-slots' if you want to install on external storage.
If your using MIUI (Multirom, Xiaomi.eu, etc), you may need to enable documents app by going to Settings> Installed Apps before trying to patch any file in DBP.
Don't use official MIUI as primary rom.
If you're not able to boot, your phone vibrates 5 times and then reboot to TWRP after installing secondary rom, it might be that your data partition is encrypted. To fix this follow the instructions below:
First backup all your data including Internal Storage, then boot to TWRP>WIPE>FORMAT DATA then type 'yes' and tap enter. Now reboot and retry DBP.
@bad_request (Thanks for the XDA Post And Guide)
@mario_R (For step by step guide and errors.)
Downloads: https://dbp.noobdev.io/downloads/ and Download latest files
~ Hit Thanks button below if I helped you ~