前置条件:
Android手机已经root
手机安装虚拟终端或电脑使用adb
如果你没有虚拟终端,这边推荐:
Termux_Version_0.104.apk: https://089u.com/f/26158157-486120096-1d4a53
(访问密码:6146)
申请root
打开,虚拟终端。我们需要申请root权限,否则可能会因为文件不可读写,而导致无法提取内核:
su
查找内核分区位置
我们首先要查找内核分区所在位置,首先查找快捷方式,我们进入/dev/block目录下by-name文件夹:
cd /dev/block/by-name
注意⚠️:不同手机系统可能不一样。目前Google标准Android分区是/dev/block/by-name下。其他手机by-name可能在其他目录下。
查找内核真实地址
因为我手机是A/B分区(即:有两个内核,共享数据和设置。A内核和B内核引导不同系统交替更新)。所以有boot_a和boot_b。我这边就提取boot_b:
# 查找boot_b真实地址 ls -l boot_b
可以看到,我当前手机的boot_b地址为/dev/block/sda11
提取内核分区为内核镜像
最后,因为我们boot_b地址为/dev/block/sda11,所以我们使用dd命令提取保存即可:
dd if=/dev/block/sda11 of=/sdcard/boot_b.img
使用文件管理器,即可在sdcard目录下找到这个文件:
这样提取的内核,能有效在Magisk掉了后,重新刷入。
截取转载:https://blog.csdn.net/weixin_43890033/article/details/114966941