为什么 HyperOS 比当年的 MIUI 难刷
站内已经有《Kali NetHunter 如何刷到任何手机上》和一加系列的完整教程,但小米/红米用户照着做,大概率会卡在三个新问题上:
- BL 解锁政策收紧:不再是想解就解,有账号绑定时长、社区等级、年度次数限制。
- GKI 内核 + init_boot 分区:Android 13 起,ramdisk 从
boot.img挪到了init_boot.img,Magisk 该补哪个镜像变了。 - ARB 反回滚:刷入 ARB index 更低的固件,会直接「系统已损坏」,这不是普通变砖,是硬砖。
这篇按顺序把整条链路走一遍,并在每一步标注「出错会怎样」。
风险声明:以下操作会导致保修失效、数据全清、存在变砖风险。只在你自己的设备上做,操作前把重要数据备份到电脑。因操作导致的设备损坏由操作者自行承担。
一、先搞清楚你的机器是什么结构
连接电脑,打开 USB 调试,执行:
adb shell getprop ro.product.device # 机型代号,如 fuxi / mondrian
adb shell getprop ro.build.version.release # Android 版本
adb shell getprop ro.build.version.sdk # API 级别
adb reboot bootloader
fastboot getvar current-slot # A/B 分区当前槽位
fastboot getvar product # 确认连接的是对的设备
判断三件事
| 判断项 | 怎么看 | 影响 |
|---|---|---|
| 是否 A/B 分区 | current-slot 返回 a 或 b |
A/B 机型刷写要针对当前槽,或两个槽都刷 |
| 是否有 init_boot | Android 13+ 的 GKI 机型几乎都有 | Magisk 要补 init_boot.img 而不是 boot.img |
| 内核版本 | adb shell uname -r |
决定你能不能找到/编出 NetHunter 内核 |
把机型代号记下来,后面找固件、找内核、找 TWRP 全靠它。代号错了必砖,这一步不要靠猜。
二、解锁 Bootloader
小米的解锁走官方「小米解锁工具」,但门槛这几年一直在变(账号绑定天数、社区等级、答题、年度次数上限)。具体条件以小米社区当前公告为准,这里只讲流程和技术注意点:
- 设备登录小米账号,开启「查找设备」,绑定账号并等待满足时长要求。
- 在「设置 → 更多设置 → 开发者选项 → 设备解锁状态」里绑定账号。
- 电脑安装官方解锁工具,登录同一账号,进入 fastboot 后按提示解锁。
解锁后的两个副作用
- TRIGGER 反回滚保护:解锁会清除所有数据。
- 部分功能受限:指纹支付、部分银行 App、Google Pay 会检测 BL 状态。可用 Magisk 的 DenyList + Play Integrity Fix 缓解,但不保证。
如果卡在「解锁工具提示验证失败」,常见原因是账号绑定未满时长、设备未联网、或该机型不在当年允许名单内。
三、提取 boot / init_boot
推荐用官方线刷包(fastboot 包),因为它的镜像和当前系统版本完全一致,兼容性最好。下载后解压,你会看到 payload.bin,需要解包工具:
# 用 payload-dumper-go(跨平台,比 Python 版快很多)
payload-dumper-go -o extracted payload.bin
# 解出来的目录里会有:
# boot.img init_boot.img vbmeta.img vbmeta_system.img dtbo.img ...
如果只刷 Magisk,只需要 init_boot.img(Android 13+ GKI 机型)或 boot.img(更老的机型)。不确定就把两个都解出来,但只补需要的那一个。
四、用 Magisk 修补并刷入
- 手机安装 Magisk App(从官方 GitHub 下载,别用第三方站点的「汉化版」)。
- 把
init_boot.img传到手机。 - Magisk → 安装 → 选择「选择并修补一个文件」→ 选
init_boot.img。 - 修补完成后,产物在
Download/magisk_patched-xxxxx.img,拷回电脑。
fastboot flash init_boot magisk_patched-xxxxx.img
# A/B 机型建议两个槽都刷
fastboot flash init_boot_a magisk_patched-xxxxx.img
fastboot flash init_boot_b magisk_patched-xxxxx.img
fastboot reboot
重启后打开 Magisk,显示版本号即 root 成功。
如果开机卡在 logo
说明刷错了镜像(补了 boot 却刷到 init_boot,或版本与系统不匹配)。用 fastboot flash init_boot 原版init_boot.img 回退即可,不用慌。
五、关闭 verity 与 dm-verity
改过 boot 分区后,Android 的验证启动会检测到校验失败,部分机型会反复重启。需要刷入对应版本的 vbmeta 并关闭校验:
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
# A/B 机型
fastboot --disable-verity --disable-verification flash vbmeta_a vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_b vbmeta.img
注意:vbmeta.img 必须来自与当前系统同一版本的固件包,混版本刷可能无法开机。
六、NetHunter 内核:这一步才是真正的门槛
NetHunter 不是普通 App,它依赖内核提供:
- mac80211 / cfg80211:外置网卡的监听模式
- USB HID gadget:把手机模拟成键盘/网卡
- SELinux 调整与相应的驱动集:让 chroot 里的工具能正常操作硬件
小米/红米没有官方 NetHunter 内核。三条路:
路线 A:找社区已编译内核(最省事)
部分热门机型的社区维护得不错,比如 Poco F1(beryllium)、红米 Note 8(ginkgo)这类保有量大的机器。判断标准:
- 仓库最近 6 个月有提交
- README 里明确写了支持的 Android 版本与内核版本
- 有对应的 Magisk 模块或 zip 安装包
注意:内核必须与你的 HyperOS 版本 / 内核版本匹配,跨版本刷入会直接卡 logo 或无法启动。
路线 B:自己编译(复杂但通用)
# 大致流程,具体以你机型的内核源码为准
git clone <机型内核源码> -b <对应分支>
# 在 defconfig 中开启:
# CONFIG_MAC80211=y / CONFIG_CFG80211=y
# CONFIG_USB_CONFIGFS_F_HID=y
# CONFIG_ATH9K_HTC=y 等网卡驱动
make O=out ARCH=arm64 <defconfig>
make O=out ARCH=arm64 -j$(nproc)
# 产物:out/arch/arm64/boot/Image(或 Image.gz-dtb)
难点不在编,在打包回 boot.img:需要正确的 mkbootimg 参数(内核偏移、ramdisk 偏移、header version),参数错了就是黑屏。GKI 机型还要处理 vendor_boot。
如果你是第一次做,建议先走路线 A 或直接换一台一加(站内教程最全)。
路线 C:不换内核,只装 NetHunter 的「用户态」部分
可以只装 Kali chroot 和工具链,跳过内核相关功能(监听注入、HID)。适合只想在手机上跑 nmap、sqlmap 这类纯网络工具的人,成本最低。
七、安装 NetHunter
现在的推荐方式是 Magisk 模块,不再是早年 TWRP 刷 zip:
- 下载
kali-nethunter-<版本>-<机型>.zip(官方 installer 构建,或社区打包版)。 - Magisk → 模块 → 从本地安装 → 选 zip。
- 重启。首次启动会花几分钟部署 chroot,不要中途断电。
- 打开 NetHunter App,完成初始化。
如果 App 提示 chroot 未安装,可以用 NetHunter 内的 Kali Chroot Manager 重新下载安装。
八、验证整条链路
adb shell su -c "bootkali" # 进入 Kali chroot,能进就成功一半
adb shell su -c "ls /data/local/nhsystem/kali-arm64" # chroot 目录存在
# 进入 chroot 后
uname -a # 确认跑的是 NetHunter 内核
lsusb # 插上外置网卡后能否识别
iw dev # 是否出现 wlan1
网卡能不能用,参考站内《NetHunter 外置无线网卡选型指南》——先确认内核有没有编进对应驱动,再看注入测试是否通过。
九、变砖了怎么办
| 现象 | 严重程度 | 处理 |
|---|---|---|
| 卡 logo / 无限重启 | 软砖 | fastboot 刷回原版 init_boot/boot 即可 |
| 进不了系统也进不了 fastboot | 需要救砖 | 尝试长按电源+音量下强制进 fastboot;不行则用 EDL 模式 |
| 提示「系统已损坏」 | ARB 触发 | 只能刷 ARB index ≥ 当前版本的固件,刷低版本会彻底锁死 |
| fastboot 能进但刷什么都失败 | 分区表异常 | 用 MiFlash 线刷完整包(会清空数据) |
只要 fastboot 还能进,基本都救得回来。所以刷机前务必确认:官方线刷包已下载、MiFlash 已装好、数据已备份。
十、常见问题
Q:HyperOS 2 还能解锁吗?
能,但门槛更高、名额更少,具体规则小米改过多次。建议先去小米社区看当月的解锁政策,别按两年前的教程操作。
Q:刷了 NetHunter 还能收到系统更新吗?
不能 OTA。系统更新会覆盖 boot 分区,root 和 NetHunter 内核都会丢失,需要重新刷。建议关闭自动更新。
Q:必须用官方线刷包吗?
强烈建议。第三方 ROM 的 boot 镜像与官方分区表不匹配,是变砖的高发原因。
Q:为什么别人的教程里刷的是 boot.img?
因为那是 Android 12 及更早的机型,ramdisk 还在 boot 里。Android 13+ 的 GKI 设备已拆到 init_boot,照抄老教程会刷错分区。
十一、小结
把这条链路压缩成一句:解锁 BL → 解包官方固件拿 init_boot → Magisk 修补并刷入 → 关 verity → 换 NetHunter 内核(最难)→ Magisk 装 NetHunter 模块。
对大多数小米/红米用户,真正的卡点是第六步——没有匹配的内核,前面全白做。所以动手前先回答一个问题:你的机型有可用的 NetHunter 内核吗?没有的话,要么接受「只有用户态工具」,要么换机型,要么自己编。
延伸阅读:
免责声明:刷机属于高风险操作,可能导致设备损坏、数据丢失与保修失效。本文仅用于自有设备的技术研究,操作前请自行评估风险并做好备份。
- 1、本网站名称: 星宇安全实验室
- 2、本站永久网址:https://bk.zhaozhiqiang.pw/
- 3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
- 4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
- 5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
- 6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 7、文章版权归作者所有,未经允许请勿转载。











暂无评论内容