Photo by Xingye Jiang on Unsplash
由于文章总数过低以至于决定写一篇新的而不是再原来的基础上改
在两年前曾经写过一篇关于如何解决MIUI提示查找手机存储损坏的文章,然而时代变了,原来的文章中所介绍的刷入 persist 分区的方法在新手机下会有问题,可能造成某些不可逆的损坏。(于是加急去给老文章加了个补丁……防止作死)
实际上小米手机提示查找手机存储损坏,本质上是存储在 persist 分区中的部分文件出现了异常,而分区中的其他文件其实并没有问题。小米新机器线刷包中的 persist.img 本质上是个空文件,直接刷入类似于格式化分区,会破坏分区中原有的文件,进而导致 TEE 损坏等问题(把密钥都格了肯定损坏啊
因此在新机器上的解决方法是直接进入 persist 分区,把MIUI查找手机存储相关的文件删掉。
和之前的文章类似,你需要找到一个允许你更改 persist 分区的 rec,并把手机刷入最新的 MIUI 并退出小米账号。
以 K40 为例,我用的是 TWRP skkk,按照教程临时启动 TWRP,并选择挂载 persist 分区。
PS C:\platform-tools> .\fastboot boot 3.7.0_12-RedmiK40-POCOF3-Mi11X_v7.2_A13-alioth-skkk.img
点左下角的挂载进入挂载界面,并选中 Persist。
选中后不用做任何操作,打开电脑命令行并执行:
PS C:\platform-tools> .\adb shell
理论而言,你可以使用 TWRP 自带的终端,但为了安全起见(指手机字体太小看错/点错),仍建议使用电脑进入shell。
电脑上的提示大概如下:
PS C:\platform-tools> .\adb shell
daemon not running; starting now at tcp:5037
daemon started successfully
alioth:/ #
看见最后一行 alioth:/ #
就代表已经成功了(alioth 是 K40 的设备代号,其他手机的代号有可能不同)。
然后输入 cd persist/fdsd/
进入 persist 分区中与查找手机存储相关的部分,并输入命令 ls
查看当前目录下的文件。
alioth:/ # cd persist/fdsd/
alioth:/persist/fdsd # ls
st tp tp_tmp
操作预警
请注意,如果你看见了 audio、camera、display等与上述文件名明显不同的文件,请重新检查你是否进入了正确的目录(你很有可能选错了目录)!不要执行下面的删除操作!删除必要的文件会导致设备异常且无法恢复!
可以看到这里有三个文件,分别是 st、tp 和 tp_tmp。将这三个文件删除即可。按照你的设备中的文件删除。(有可能你设备中的文件数量比我少或是多,正常情况下应该是两个文件,无论多少,这个文件夹下的文件全部删除)
删除前,务必再次检查位置是否正确!
alioth:/persist/fdsd # rm st
alioth:/persist/fdsd # rm tp
alioth:/persist/fdsd # rm tp_tmp
删除后,电脑上退出命令行,手机上取消对 persist 分区的挂载,重启即可。
发表回复