安装

您所在的位置:网站首页 手机刷内核还能刷回来吗 安装

安装

2024-07-07 15:36:49| 来源: 网络整理| 查看: 265

安装 ​检查您的设备是否被支持 ​

从 GitHub Releases 下载 KernelSU 管理器应用,然后将应用程序安装到设备并打开:

如果应用程序显示 “不支持”,则表示您的设备不支持 KernelSU,你需要自己编译设备的内核才能使用,KernelSU 官方不会也永远不会为你提供一个可以刷写的 boot 镜像。如果应用程序显示 “未安装”,那么 KernelSU 支持您的设备;可以进行下一步操作。

INFO

对于显示“不支持”的设备,这里有一个非官方支持设备列表,你可以用这个列表里面的内核自行编译。

备份你的 boot.img ​

在进行刷机操作之前,你必须先备份好自己的原厂 boot.img。如果你后续刷机出现了任何问题,你都可以通过使用 fastboot 刷回原厂 boot 来恢复系统。

WARNING

任何刷机操作都是有风险的,请务必做好这一步再进行下一步操作!!必要时你还可以备份你手机的所有数据。

必备知识 ​ADB 和 fastboot ​

此教程默认你会使用 ADB 和 fastboot 工具,如果你没有了解过,建议使用搜索引擎先学习相关知识。

KMI ​

KMI 全称 Kernel Module Interface,相同 KMI 的内核版本是兼容的 这也是 GKI 中“通用”的含义所在;反之,如果 KMI 不同,那么这些内核之间无法互相兼容,刷入与你设备 KMI 不同的内核镜像可能会导致死机。

具体来说,对 GKI 的设备,其内核版本格式应该如下:

txtKernelRelease := Version.PatchLevel.SubLevel-AndroidRelease-KmiGeneration-suffix w .x .y -zzz -k -something

其中,w.x-zzz-k 为 KMI 版本。例如,一个设备内核版本为5.10.101-android12-9-g30979850fc20,那么它的 KMI 为 5.10-android12-9;理论上刷入其他这个 KMI 的内核也能正常开机。

TIP

请注意,内核版本中的 SubLevel 不属于 KMI 的范畴!也就是说 5.10.101-android12-9-g30979850fc20 与 5.10.137-android12-9-g30979850fc20 的 KMI 相同!

安全补丁级别 ​

新的 Android 设备上可能采取了防回滚机制,它不允许刷入一个安全补丁更旧的内核。比如,如果你的设备内核是 5.10.101-android12-9-g30979850fc20,它的安全补丁为 2023-11;即使你刷入与内核 KMI 一致的内核,如果安全补丁级别比 2023-11要老(例如2023-06),那么很可能会无法开机。

因此,在保持 KMI 一致的情况下,优先采用安全补丁级别更新的内核。

内核版本与 Android 版本 ​

请注意:内核版本与 Android 版本并不一定相同!

如果您发现您的内核版本是 android12-5.10.101,然而你 Android 系统的版本为 Android 13 或者其他;请不要觉得奇怪,因为 Android 系统的版本与 Linux 内核的版本号不一定是一致的;Linux 内核的版本号一般与设备出厂的时候自带的 Android 系统的版本一致,如果后续 Android 系统升级,内核版本一般不会发生变化。如果你需要刷机,请以内核版本为准!!

安装介绍 ​

自 0.9.0 版本以后,在 GKI 设备中,KernelSU 支持两种运行模式:

GKI:使用通用内核镜像(GKI)替换掉设备原有的内核。LKM:使用可加载内核模块(LKM)的方式加载到设备内核中,不会替换掉设备原有的内核。

这两种方式适用于不同的场景,你可以根据自己的需求选择。

GKI 模式 ​

GKI 模式会替换掉设备原有的内核,使用 KernelSU 提供的通用内核镜像。GKI 模式的优点是:

通用型强,适用于大多数设备;比如三星开启了 KNOX 的设备,LKM 模式无法运作。还有一些冷门的魔改设备,也只能使用 GKI 模式;不依赖官方固件即可使用;不需要等待官方固件更新,只要 KMI 一致,就可以使用;LKM 模式 ​

LKM 模式不会替换掉设备原有的内核,而是使用可加载内核模块的方式加载到设备内核中。LKM 模式的优点是:

不会替换掉设备原有的内核;如果你对设备原有的内核有特殊需求,或者你希望在使用第三方内核的同时使用 KernelSU,可以使用 LKM 模式;升级和 OTA 较为方便;升级 KernelSU 时,可以直接在管理器里面安装,无需再手动刷写;系统 OTA 后,可以直接安装到第二个槽位,也无需再手动刷写;适用于一些特殊场景;比如使用临时 ROOT 权限也可以加载 LKM,由于不需要替换 boot 分区,因此不会触发 avb,不会使设备意外变砖;LKM 可以被临时卸载;如果你临时想取消 root,可以卸载 LKM,这个过程不需要刷写分区,甚至也不用重启设备;如果你想再次 root,只需要重启设备即可;

两种模式共存

打开管理器后,你可以在首页看到设备当前运行的模式;注意 GKI 模式的优先级高于 LKM,如你你既使用 GKI 内核替换掉了原有的内核,又使用 LKM 的方式修补了 GKI 内核,那么 LKM 会被忽略,设备将永远以 GKI 的模式运行。

选哪个? ​

如果你的设备是手机,我们建议您优先考虑 LKM 模式;如果你的设备是模拟器、WSA 或者 Waydroid 等,我们建议您优先考虑 GKI 模式。

LKM 安装 ​获取官方固件 ​

使用 LKM 的模式,需要获取官方固件,然后在官方固件的基础上修补;如果你使用的是第三方内核,可以把第三方内核的 boot.img 作为官方固件。

获取官方固件的方法有很多,如果你的设备支持 fastboot boot,那么我们最推荐以及最简单的方法是使用 fastboot boot 临时启动 KernelSU 提供的 GKI 内核,然后安装管理器,最后在管理器中直接安装;这种方法不需要你手动下载官方固件,也不需要你手动提取 boot。

如果你的设备不支持 fastboot boot,那么你可能需要手动去下载官方固件包,然后从中提取 boot。

与 GKI 模式不同,LKM 模式会修改 ramdisk,因此在出厂 Android 13 的设备上,它需要修补的是 init_boot 分区而非 boot 分区;而 GKI 模式则永远是操作 boot 分区。

使用管理器 ​

打开管理器,点击右上角的安装图标,会出现若干个选项:

选择并修补一个文件;如果你手机目前没有 root 权限,你可以选择这个选项,然后选择你的官方固件,管理器会自动修补它;你只需要刷入这个修补后的文件,即可永久获取 root 权限;直接安装;如果你手机已经 root,你可以选择这个选项,管理器会自动获取你的设备信息,然后自动修补官方固件,然后刷入;你可以考虑使用 fastboot boot KernelSU 的 GKI 内核来获取临时 root 安装管理器,然后再使用这个选项;这种方式也是 KernelSU 升级最主要的方式;安装到另一个分区;如果你的设备支持 A/B 分区,你可以选择这个选项,管理器会自动修补官方固件,然后安装到另一个分区;这种方式适用于 OTA 后的设备,你可以在 OTA 后直接安装到另一个分区,然后重启设备即可;使用命令行 ​

如果你不想使用管理器,你也可以使用命令行来安装 LKM;KernelSU 提供的 ksud 工具可以帮助你快速修补官方固件,然后刷入。

这个工具支持 macOS、Linux 和 Windows,你可以在 GitHub Release 下载对应的版本。

使用方法:ksud boot-patch 具体的使用方法你可以查看命令行帮助。

shoriole:/ # ksud boot-patch -h Patch boot or init_boot images to apply KernelSU Usage: ksud boot-patch [OPTIONS] Options: -b, --boot boot image path, if not specified, will try to find the boot image automatically -k, --kernel kernel image path to replace -m, --module LKM module path to replace, if not specified, will use the builtin one -i, --init init to be replaced -u, --ota will use another slot when boot image is not specified -f, --flash Flash it to boot partition after patch -o, --out output path, if not specified, will use current directory --magiskboot magiskboot path, if not specified, will use builtin one --kmi KMI version, if specified, will use the specified KMI -h, --help Print help

需要说明的几个选项:

--magiskboot 选项可以指定 magiskboot 的路径,如果不指定,ksud 会在环境变量中查找;如果你不知道如何获取 magiskboot,可以查阅这里;--kmi 选项可以指定 KMI 版本,如果你的设备内核名字没有遵循 KMI 规范,你可以通过这个选项来指定;

最常见的使用方法为:

shksud boot-patch -b --kmi android13-5.10GKI 安装 ​

GKI 的安装方法有如下几种,各自适用于不同的场景,请按需选择:

使用 KernelSU 提供的通用内核镜像使用 fastboot 安装使用内核刷写 App(如 KernelFlasher)安装手动修补 boot.img 然后安装使用自定义 Recovery(如 TWRP)安装使用 KernelSU 提供的 boot.img 安装 ​

如果你设备的 boot.img 采用常用的压缩格式,那么可以采用 KernelSU 提供的的通用内核镜像直接刷入,它不需要 TWRP 或者自行修补镜像。

找到合适的 boot.img ​

KernelSU 为 GKI 设备提供了通用的 boot.img,您应该将 boot.img 刷写到设备的 boot 分区。

您可以从 GitHub Release 下载 boot.img, 请注意您应该使用正确版本的 boot.img。如果您不知道应该下载哪一个文件,请仔细阅读本文档中关于 KMI 和 安全补丁级别的描述。

通常情况下,同一个 KMI 和 安全补丁级别下会有三个不同格式的 boot 文件,它们除了内核压缩格式不同之外都一样。请检查您原有 boot.img 的内核压缩格式,您应该使用正确的格式,例如 lz4、gz;如果是用不正确的压缩格式,刷入 boot 后可能无法开机。

INFO

您可以通过 magiskboot 来获取你原来 boot 的压缩格式;当然您也可以询问与您机型相同的其他更有经验的童鞋。另外,内核的压缩格式通常不会发生变化,如果您使用某个压缩格式成功开机,后续可优先尝试这个格式。小米设备通常使用 gz 或者 不压缩。Pixel 设备有些特殊,请查看下面的教程。将 boot.img 刷入设备 ​

使用 adb 连接您的设备,然后执行 adb reboot bootloader 进入 fastboot 模式,然后使用此命令刷入 KernelSU:

shfastboot flash boot boot.img

INFO

如果你的设备支持 fastboot boot,可以先使用 fastboot boot boot.img 来先尝试使用 boot.img 引导系统,如果出现意外,再重启一次即可开机。

重启 ​

刷入完成后,您应该重新启动您的设备:

shfastboot reboot使用内核刷写 App 安装 ​

步骤:

下载 AnyKernel3 的刷机包,如果你不知道下载哪一个,请仔细查阅上述文档中关于 KMI 和 安全补丁级别的描述;下载错误的刷机包很可能导致无法开机,请注意备份。打开内核刷写 App(授予必要的 root 权限),使用提供的 AnyKernel3 刷机包刷入。

这种方法需要内核刷写 App 拥有 root 权限,你可以用如下几种方法实现:

你的设备已经获取了 root 权限,比如你已经安装好了 KernelSU 想升级到最新的版本,又或者你通过其他方法(如 Magisk)获取了 root。如果你的手机没有 root,但手机支持 fastboot boot boot.img 这种临时启动的方法,你可以用 KernelSU 提供的 GKI 镜像临时启动你的设备,获取临时的 root 权限,然后使用内核刷写器刷入获取永久 root 权限。

如果您以前没有使用过内核刷写 App,建议使用以下应用:

Kernel FlasherFranco Kernel ManagerEx Kernel Manager手动修补 boot.img ​

对于某些设备来说,其 boot.img 格式不那么常见,比如不是 lz4, gz 和未压缩;最典型的就是 Pixel,它 boot.img 的格式是 lz4_legacy 压缩,ramdisk 可能是 gz 也可能是 lz4_legacy 压缩;此时如果你直接刷入 KernelSU 提供的 boot.img,手机可能无法开机;这时候,你可以通过手动修补 boot.img 来实现。

任何情况下都推荐使用 magiskboot 来修补 boot 镜像,有两个方法:

magiskbootmagiskboot_build

Magisk 官方提供的 magiskboot 只能运行在 Android/Linux 设备上,如果你想在 macOS/Windows 上使用 magiskboot 可以使用第二个方法。

TIP

不再推荐使用 Android-Image-Kitchen,因为它可能没有合理地处理 boot 元数据(比如安全补丁级别),从而导致某些设备上会无法启动。

准备 ​获取你手机的原厂 boot.img;你可以通过你手机的线刷包解压后之间获取,如果你是卡刷包,那你也许需要payload-dumper-go下载 KernelSU 提供的与你设备 KMI 版本一致的 AnyKernel3 刷机包;如果您不知道应该下载哪一个文件,请仔细阅读本文档中关于 KMI 和 安全补丁级别的描述。解压缩 AnyKernel3 刷机包,获取其中的 Image 文件,此文件为 KernelSU 的内核文件。在 Android 设备上使用 magiskboot ​在 Magisk 的 Release 页面 下载最新的 Magisk 安装包。将 Magisk-*(version).apk 重命名为 Magisk-*.zip 然后解压缩。将解压后的 Magisk-*/lib/arm64-v8a/libmagiskboot.so 文件,使用 adb push 到手机:adb push Magisk-*/lib/arm64-v8a/libmagiskboot.so /data/local/tmp/magiskboot使用 adb 将原厂 boot.img 和 AnyKernel3 中的 Image 推送到手机adb shell 进入 /data/local/tmp/ 目录,然后赋予刚 push 文件的可执行权限 chmod +x magiskbootadb shell 进入 /data/local/tmp/ 目录,执行 ./magiskboot unpack boot.img 此时会解包 boot.img 得到一个叫做 kernel 的文件,这个文件为你原厂的 kernel使用 Image 替换 kernel: mv -f Image kernel执行 ./magiskboot repack boot.img 打包 img,此时你会得到一个 new-boot.img 的文件,使用这个文件 fastboot 刷入设备即可。在 macOS/Windows/Linux 上使用 magiskboot ​在 magiskboot_build 下载适合你操作系统的 magiskboot 二进制文件。在你的 PC 上准备好设备原厂的 boot.img 和 KernelSU 的 Image。chmod +x magiskboot在你 PC 上合适的目录执行 ./magiskboot unpack boot.img 来解包 boot.img, 你会得到一个 kernel 文件,这个文件是你设备原厂的 kernel。使用 Image 替换 kernel: mv -f Image kernel执行 ./magiskboot repack boot.img 打包 img,此时你会得到一个 new-boot.img 的文件,使用这个文件 fastboot 刷入设备即可。

INFO

Magisk 官方的 magiskboot 可以在 Linux 设备上执行,如果你是 Linux 用户,可以直接用官方版本。

使用自定义 Recovery 安装 ​

前提:你的设备必须有自定义的 Recovery,如 TWRP;如果没有或者只有官方 Recovery,请使用其他方法。

步骤:

在 KernelSU 的 Release 页面 下载与你手机版本匹配的以 AnyKernel3 开头的 zip 刷机包;如果你不知道下载哪一个,请仔细查阅上述文档中关于KMI和安全补丁级别的描述;下载错误的刷机包很可能导致无法开机,请注意备份。重启手机进入 TWRP。使用 adb 将 AnyKernel3-*.zip 放到手机 /sdcard 然后在 TWRP 图形界面选择安装;或者你也可以直接 adb sideload AnyKernel-*.zip 安装。

PS. 这种方法适用于任何情况下的安装(不限于初次安装或者后续升级),只要你用 TWRP 就可以操作。

其他变通方法 ​

其实所有这些安装方法的主旨只有一个,那就是替换原厂的内核为 KernelSU 提供的内核;只要能实现这个目的,就可以安装;比如以下是其他可行的方法:

首先安装 Magisk,通过 Magisk 获取 root 权限后使用内核刷写器刷入 KernelSU 的 AnyKernel 包。使用某些 PC 上的刷机工具箱刷入 KernelSU 提供的内核。

如果这些方法导致无法开机,请优先尝试用 magiskboot 的方法。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭