小米手机误删 `/data/adb` 导致无限重启?免双清完美救砖教程(set_policy_failed)
侧边栏壁纸
  • 累计撰写 28 篇文章
  • 累计收到 2 条评论

小米手机误删 `/data/adb` 导致无限重启?免双清完美救砖教程(set_policy_failed)

xiayikechun
2026-11-12 / 0 评论 / 0 阅读 / 正在检测是否收录...

小米手机误删 /data/adb 导致无限重启?免双清完美救砖教程(set_policy_failed)

一句话结论:误删 /data/adb 后报 set_policy_failed:/data/adb、卡 Recovery 无限重启,不需要格式化 Data(双清),按顺序修复即可保留全部数据正常开机。

项目说明
实测机型marble(Redmi Note 12 Turbo / POCO F5)
适用条件可进入 TWRP / OrangeFox 等第三方 Recovery;/data 为 F2FS 或 Ext4
数据影响无需双清,照片、聊天记录、文件全部保留
参考思路酷安 @時_Aurora

1. 故障现象

在 TWRP / Recovery 下误删 /data/adb 目录后重启,设备卡在 Recovery 无限重启,屏幕出现红字报错:

set_policy_failed:/data/adb

多数人的第一反应是「完了,要格式化 Data(双清)了」——其实完全不需要。


2. 为什么删了个文件夹就会无限重启

  • /data/adb 不是普通文件夹,它是存放 Root 权限管理(Magisk、KernelSU)核心文件的目录。Android 启动时会经过 SELinux(安全增强型 Linux)的严格加密策略校验。
  • /data 分区通常采用 F2FS 文件系统。F2FS 为提升读写速度,会在底层维护一个 Checkpoint(检查点) 缓存。
  • 直接在 Recovery 里执行 rm -rf 删除文件夹时,底层 Checkpoint 可能因非正常关机或缓存未同步而卡死(报错 shutdown(107))。系统因此认为该目录依然存在,但实际文件已丢失,触发 set_policy_failed 并拒绝启动。

3. 修复前准备

#准备项说明
1电量确保手机电量在 30% 以上
2Recovery能进入 TWRP 或橙狐(OrangeFox)等第三方 Recovery
3分区节点知道自己的 /data 分区设备节点;终端执行 `mount \grep "/data" 查看,**本文以 dm-7` 为例,请自行替换**

4. 完美修复步骤(保姆级)

⚠️ 请严格按照顺序执行,特别是第 4.2 步和第 4.3 步,否则极易导致数据彻底损坏!

操作路径:进入 TWRP → 高级(Advanced) → 终端(Terminal),依次输入以下命令。

4.1 解除分区挂载

系统可能仍占用分区,必须先卸载 /data 和 /sdcard:

umount /sdcard 2>/dev/null
umount /data 2>/dev/null

验证是否卸载干净(关键步骤),检查 dm-7(替换为你自己的设备节点):

mount | grep dm-7
⚠️ 重点:敲完回车若屏幕有输出,说明没卸载干净,继续执行 umount /data,直到这条命令没有任何输出(直接跳回 # 提示符),才能进行下一步!

4.2 强制修复文件系统(核心)

清理 F2FS 底层损坏的缓存和卡死的 Checkpoint:

fsck.f2fs -f -a /dev/block/dm-7
参数含义
-f强制(force)
-a自动修复(auto)
  • 执行后屏幕会滚动大量代码,等待进度跑到 100.00%,直到出现 Done. 并重新回到 # 提示符才算完成。
  • 若提示找不到命令,改用绝对路径:/sbin/fsck.f2fs -f -a /dev/block/dm-7。
  • 若仍找不到,说明 TWRP 太精简,可用 TWRP 的「清除 → 高级清除 → 选中 Data → 修复文件系统」代替本步。

4.3 重新挂载并彻底删除

底层理顺后,再次挂载并删除该目录:

mount /data
rm -rf /data/adb

4.4 同步写入并重启

防止操作被缓存吞掉,强制写入硬件后重启:

sync
reboot

5. 结果

执行 reboot 后手机黑屏重启,成功越过报错界面,正常进入系统桌面,所有照片、聊天记录和文件均完好无损。


6. 避坑总结

  1. 千万不要在挂载状态下跑 fsck,这会直接毁掉文件系统!
  2. 输入命令时注意拼写(mkdir 别打成 madir,fsck 别打成 fack),Linux 终端对拼写极其严格。
  3. 修复后重启若依然报错,改用第 7 节的兜底方案重建目录。

7. 兜底方案:手动重建空目录

若按上述步骤修复后重启仍报 set_policy_failed,可手动创建一个空目录「骗」过系统:

mkdir -p /data/adb
chown root:root /data/adb
chmod 700 /data/adb
restorecon -R -v /data/adb
sync
reboot

8. 命令速查(终端对照用)

# 步骤 1:卸载 + 验证(有输出就继续 umount /data)
umount /sdcard 2>/dev/null
umount /data 2>/dev/null
mount | grep dm-7

# 步骤 2:卸载干净后修复文件系统(等待 Done.)
fsck.f2fs -f -a /dev/block/dm-7

# 步骤 3:重新挂载并删除
mount /data
rm -rf /data/adb

# 步骤 4:同步并重启
sync
reboot
注:dm-7 为示例节点,执行前务必用 mount | grep "/data" 确认自己的实际节点并全部替换。

9. 附加信息

  • 参考思路:酷安 @時_Aurora 的帖子
  • 适用机型:理论上适用于所有安卓 F2FS / Ext4 文件系统及具有 Recovery 权限的设备
  • 关键词:set_policy_failed:/data/adb、TWRP 救砖、小米无限重启、F2FS fsck、Magisk 误删
0

评论 (0)

取消