小米手机

小米手机

禁止 MIUI 自动更新提示

屏蔽 update.miui.com 域名的 DNS 解析。

# hosts
0.0.0.0 update.miui.com

smartdns
address /update.miui.com/#

解锁 bootloader

https://web.vip.miui.com/page/info/mio/mio/detail?postId=17982230&app_version=dev.20051

解锁Bootloader的步骤:

  1. 在需要解锁的设备中登录已经具备解锁权限的小米账号,并进入“设置 -> 开发者选项 -> 设备解锁状态”中绑定账号和设备(只需点击1次!重复点击会重置账号和设备绑定时间计时!);
  2. 下载手机解锁工具(解锁工具官网),在PC端的小米解锁工具中,登录相同的小米账号,并通过USB连接手机;
  3. 绑定成功后,手动进入Bootloader模式(关机后,同时按住开机键和音量下键);
  4. 点击PC端解锁工具的“解锁”按钮,根据提示信息等待指定时间后再次尝试或者立即解锁;

解锁Bootloader过程中可能遇到的问题:
Q:手机绑定账号时提示“验证失败,稍后重试”怎么办?
A:绑定过程需要连接数据网络,所以先确认“设置APP”是否已经允许使用数据网络。设置过程:“设置”->“应用设置”->“应用管理”->“设置”->“互联网控制”。如下图所示:

帖子配图

Q:解锁工具提示“账号设备不一致”是怎么回事?
A:这是在解锁过程中没有通过账号与设备验证,解决办法是先将手机升级到最新的稳定版或者从稳定版卡刷到最新的开发版,在待解锁的设备和解锁工具上要登陆同一个账号,并进入“设置 -> 开发者选项 -> 设备解锁状态”中绑定账号和设备。

Q:解锁工具提示“无法获取手机信息”是怎么回事?
A:这种情况一般是电脑上的设备驱动没有装好,可以尝试重插USB线或者换个USB接口或者换根USB线来等待电脑慢慢安装驱动,或在工具右上角驱动安装模块中主动安装驱动。

Q:解锁失败显示“账号与设备的绑定时间太短,xxx个小时后再解锁”
A:在售的新机型一般需要等待,用户账号安全评分较低的需要等待,等待时间目前是7天起,如果本年度解锁手机数超过2台,等待时间会相应增长。

Q:解锁失败显示“此账号本月解锁次数达到上限”
A:一个小米账号每月限制解锁一台设备。

Q:解锁失败显示“此账号本年累计解锁次数已达上限”
A:一个小米账号每年限制解锁4台不同设备。

Q:解锁失败显示“账号权限不足或者账号受限”
A:账号存在安全风险,无法处理解锁操作,建议更换账号。

Q:解锁失败显示“未知错误-1”
A:网络异常,请更换时间段或更换网络进行解锁。

调整外放最大音量

  1. 打开拨号界面,输入##3646633##,进入工程模式。
  2. 可以看到三种模式,分别是Normal Mode(正常模式),Headset Mode(耳机模式),Loudspeaker Mode(扬声器/外放声音模式),进入LoudSpeaker Mode(这个是外放的声音即铃声的选项)。
  3. 点第三行“level 0”右边的黄色小三角,选择为“level 6”(即最大一级音量,0 为静音,1-6 为可调音量级)。
  4. 将Value Is 0-255 位置,右边的数值填写最大,即255,然后按一下“Set”确认(提示,如有破音请减少数值)。
  5. Max Vol. 0-160 位置右边的数值填写最大,即160,然后按一下“Set”确认(提示,如有破音请减少数值);确认后均弹出提示框set audio volume succeeded,完成后返回。注意:Value Is 的最大值是255,Max Vol的最大值为160。
  6. 调整耳机音量选择Headset Mode 方法同上。
  7. 调整后可能需要重启手机生效。

Root MIUI

基本原理:提取固件中的 boot.img, 用 Magisk patch 后通过 fastboot 刷入。需要解锁 bootloader。

小米手机安装 Magisk 获取 Root 权限指南

1. 准备

  1. 下载 Magisk
    2.a 手机打开安装的 Magisk,在主界面查看 Ramdisk 结果
    2.b 查询手机是否具有单独 vbmeta 分区: adb shell "ls /dev/block/by-name | grep vbmeta" 。如果结果返回有 vbmeta 或 vbmeta_a 和 vbmeta_b 就表示手机有 vbmeta 分区。也可以在手机刷机包(线刷包 images 目录下; 卡刷包从 payload.bin 文件解压后查找)内查找有没有 vbmeta.img 文件。如果有,则说明手机存在 vbmeta 分区。
    提取相应文件

2. 提取固件

  1. 查看手机上运行的系统版本是多少,下载对应系统版本刷机包,从里面提取相应文件(线刷包直接解压提取;卡刷包需要从解压的 payload.bin 文件里提取(老机型卡刷包可以直接提取)):
    • 如果之前 Ramdisk 查询结果为“是”,请提取 boot.img 文件
    • 如果之前 Ramdisk 查询结果为“否”,请提取 recovery.img 文件
    • 补充:对于出厂系统就是 Android 13 的新机型,需要提取 init_boot.img 文件修补而不是 boot.img。(Google 官方文档:For devices launching with Android 13, the generic ramdisk is removed from the boot image and placed in a separate init_boot image. This change leaves the boot image with only the GKI kernel. For upgrading devices that continue to use Android 12 or older kernel versions, the generic ramdisk remains where it was with no requirement for a new init_boot image.)
  2. 将提取到的文件复制到手机上。用 Magisk 生成修补文件:
    2.1. 手机打开 Magisk 软件,点击 Magisk 卡片中的“安装”按钮。接下来的界面不同机型显示的选项可能不同。
    • 如果之前 Ramdisk 查询结果为“否”,请选中“安装到 Recovery”选项
    • 如果之前查询手机没有单独 vbmeta 分区,请选中“修补 boot 镜像中的 vbmeta”选项
    • 如果显示有其它选项,一般保持默认不要更改。稍微新一些的机型通常不会显示相关选项,所以请忽略。
      2.2 接下来点击“选择并修补一个文件”,选择之前提取到的 boot.img,init_boot.img 或 recovery.img 文件,点击“开始”,然后等待生成修补文件。
    • 补充:据 Magisk 文档指出,小米有个别机型 Ramdisk 结果可能不能准确检测。如果修补 recovery.img 文件失败,可以尝试用 boot.img 修补,后面安装也遵循 Ramdisk 结果为“是”的做法。
  3. 将生成的修补文件复制到电脑上(修补文件默认保存在手机内部存储 Download 目录)。

3. Fastboot 刷入

FASTBOOT 模式(长按音量减键 + 电源键进入 FASTBOOT 模式)下刷入手机Magisk生成的修补文件:

# 如果之前修补 boot.img 文件请用这个命令
fastboot flash boot magisk_patched-25200_pU6ZV.img

# 如果之前修补 init_boot.img 文件请用这个命令
fastboot flash init_boot magisk_patched-25200_pU6ZV.img

# 如果之前修补 recovery.img 文件请用这个命令
fastboot flash recovery magisk_patched-25200_pU6ZV.img

刷写完成后用下面命令重启手机(补充:如果刷写的是 recovery.img 修补文件,也就是 Ramdisk 结果为“否”的机型。在刷写完重启时需要按住 Recovery 组合键,小米的是音量上键 + 电源键,待出现启动界面后松开按键,这样进入的系统才能使用 Magisk)。

fastboot reboot
如无意外,重启手机后就安装好 Magisk 了。打开 Magisk 软件可以看到已经有 Root 授权管理选项,现在可以开始使用了。

提示:如果刷完后遇到反复重启进不去系统问题,可以尝试先用下面命令禁用启动验证(AVB/DM-Verity),然后重复上一步骤重新刷写修补文件(这个方法仅限具有单独 vbmeta 分区的机型使用)。

fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
命令中用到的 vbmeta.img 文件从刷机包内提取,方法和之前提取其它文件一样。

或者,如果遇到问题打算放弃 Magisk 安装,只需用fastboot刷回从刷机包提取的原始文件。

Magisk 如何对软件隐藏 Root

目前比较好的方法是安装 Shamiko 模块实现。

安装 Magisk 后系统更新注意事项

安装 Magisk 后如果按往常一样更新系统,会出现 OTA 增量更新失败,需要下载完整包的问题,并且更新后会丢失 Magisk 安装。

采取下面更新步骤可以避免上述问题(仅适合 A/B 分区机型使用。其它机型忽略第 3 步骤,更新后重新安装 Magisk)。

平时关闭系统自动更新,以防后台自动下载安装更新
当要更新系统时,先打开 Magisk 软件,点击“卸载 Magisk”,选择“还原原厂映像”
运行系统更新,安装后先不要点重启,打开 Magisk 软件点击“安装”,选择“安装到未使用的槽位”,之后再重启

更新 Magisk 方法

Magisk 更新分 Magisk 软件 和 Magisk 安装,两者都可以在 Magisk 软件内操作更新(先更新 Magisk 软件,再更新 Magisk 安装)。

由于网络环境和应用权限问题,在 Magisk 里的点击更新软件可能会遇到不能下载或安装的问题。可以直接访问 GitHub 下载 APK 文件覆盖安装,然后再更新 Magisk 安装,选择“直接安装”模式即可。

卸载 Magisk 方法

打开 Magisk 软件,停用已安装模块(如果有的话),点击“卸载 Magisk”按钮,选择“完全卸载”,卸载后会自动重启生效。

提示:如果之前安装 Magisk 时取消了“保持强制加密”选项(修补文件那步,通常只在旧机型和旧版本上有显示该选项,且默认勾选),则卸载 Magisk 后系统可能会自动加密用户数据,操作前记得外置备份数据。


Last update: 2023-10-21 02:57:12 UTC