如果刷了第三方 ROM、系统内核,或者误格式化手机分区,在刷回原厂 ROM 后可能因为 persist 分区损坏导致 WiFi、蓝牙、相机/指纹/陀螺仪等传感器不能正常工作,并且可能在系统启动后会收到“查找手机存储损坏,您的手机处于不安全的状态”提示。如下:
关于 persist 分区
(相关资料图)
手机上的 persist 分区存储着 WiFi、蓝牙、相机等校准数据,并且包含了证书和其他安全相关文件。这些数据在手机出厂后不应该被更改,即便是在刷机时也不会刷写这个分区。
但如果刷入第三方 ROM,有可能会修改该分区。最常见的是,第三方 ROM 设置 WiFi 使用硬件 MAC 地址,而不是手机厂商分配的 MAC 地址,那么它会修改 /presist/wlan_mac.bin
文件更改 MAC 地址。结果是手机在第三方 ROM 里可以正常使用 WiFi,但刷回原厂 ROM 就会有问题,因为 MAC 地址被修改了。根据 persist 分区损坏程度,还可能影响其它组件工作,如蓝牙等。
要查询是否因为 persist 分区损坏导致 WiFi 不能使用,最简单方法是查询手机 WiFi MAC 地址是否是小米使用的。
首先查询手机现有 WiFi MAC 地址,操作路径:手机设置 -> Wi-Fi -> 高级设置 -> MAC 地址。
然后对比小米 MAC 地址前缀,只要 MAC 前八位在列表里有,那么基本可以排除手机和蓝牙 MAC 地址被修改(手机和蓝牙 MAC 地址仅最后一位字符不同)。那么本文解决方法也将不适用于您,需要从其他方面排查,譬如是否系统软件或硬件问题。
小米MAC地址:
链接:https://pan.baidu.com/s/1TSzyAQzbQQED8USivoUmgA?pwd=1314
提取码:1314
刷新 persist 损坏分区
风险提示:刷写 persist 分区虽然有机会解决上述问题(仅适用高通机型),但它不是无损操作,有可能不会完全恢复或者无效,也可能由此引发更大范围的故障。因此是否要尝试,请自行判断与承担其中风险。此外,有些情况可以通过线刷高版本系统来解决这个问题,因此这个方法只适合作为备用方法,即在刷入新版本系统仍不能解决问题的情况下使用。
对于只是 WiFi 不工作,曾经有软件能从现有 persist 分区恢复 MAC 地址,但现在这个软件已找不到下载。
另外,省心解决方法是送小米售后维修,通常会更换主板解决。如果手机尚处于保修期内,有可能不收费。
这个方法相对简单,不用安装 TWRP,但需要先完成 BL 解锁(注意备份数据,下面操作会抹掉数据全新刷机),以及下载好对应机型线刷包(优先最新版)。
1. 解压缩线刷包,用记事本或其它文本编辑器打开解压目录 images 下的 rawprogram0.xml
文件。
找到包含 label="persist"
内容的行,检查其中 filename
值是否留空。如果为空,在引号内填写 persist.img
值,类似下面这样。
<program SECTOR_SIZE_IN_BYTES="512" file_sector_offset="0" filename="persist.img" label="persist" num_partition_sectors="65536" partofsingleimage="false" physical_partition_number="0" readbackverify="false" size_in_KB="32768.0" sparse="true" start_byte_hex="0x10000000" start_sector="524288"/>
保存文件修改。
2. 在线刷包解压根目录里找到 flash_all.bat
文件,用记事本或其它文本编辑器打开。
找到包含 system.img
内容的行,按其格式在上面添加一行,如下。
fastboot %* flash persist %~dp0images\persist.img || @echo "Flash persist error" && exit /B 1
保存文件修改。
3. 下载 Android SDK Platform 工具包并解压缩,打开解压后的 platform-tools
文件夹,按住 Shift
键,同时鼠标右键点击文件夹空白处,在右键菜单点击“在此处打开 Powershell 窗口”。
Android SDK Platform 工具包下载地址:
链接:https://pan.baidu.com/s/13VhoifhWuX9sytvGyVkEPQ?pwd=1314
提取码:1314
然后将手机关机,长按音量下键 + 开机键
进入 Fastboot 模式,用数据线连接到电脑,在之前打开的 Powershell 窗口运行下面命令重启到 EDL 模式(在此模式下手机会保持息屏)。
.\fastboot oem edl
之后下载 MiFlash 线刷工具,解压缩运行 XiaoMiFlash.exe
,在软件中选择线刷包解压文件夹,点击刷新设备,选择“全部删除”模式,开始刷机(具体可参考这篇文章),刷完后长按关机键 10 秒退出 EDL 模式启动手机。
如果在刷机过程遇到下面错误,请检查手机是否已进入 EDL 模式(MiFlash 设备名称以 COM 开头的则表示已经进入)。
error:FAILED (remote: 'flash' operation on partition persist is not allowed)
如果进入 EDL 模式后连接电脑不识别,请安装高通驱动程序后再试。
高通驱动下载地址:
链接:https://pan.baidu.com/s/1K36pPyJcoOuqqmSb6LmfNA?pwd=1314
提取码:1314
这个方法适合已刷入 TWRP 的手机使用,但注意有些 TWRP 版本识别不到 persist 分区,需要升级 TWRP 或尝试第三方版本。
1. 从线刷包里提取 persist.img
文件发到手机上(在线刷包 images 文件夹下)。
2. 进入 TWRP 界面,点击“安装” -> 点击右下方“刷入 Image 镜像” -> 选择 persist.img
文件 -> 在选择要刷入镜像的分区里选择“Persist”,滑动按钮确认刷入。
3. 刷完后重启手机验证 WiFi 等故障组件是否恢复正常。
Copyright 2015-2022 南方直播网版权所有 备案号:粤ICP备18023326号-21 联系邮箱:855 729 8@qq.com