修改Android设备的root位置到/system/xbin或/system/bin

3次阅读
没有评论

问题描述

持有root权限的Android设备中,su工具的位置为根目录下(/)。为了提高安全性及优化系统分区使用,希望将su移动至/system/xbin/system/bin。然而,在当前环境下无法在使用该工具时进行修改。同时,需要更改的另一个文件位于根目录下的/sbin处。

尽管尝试过方法,每次重启设备后发现更换的内容都被系统恢复。这说明了即使通过某些方式修改了这些文件,但在后续的文件更新或系统操作中被覆盖的问题依然存在。

解决方案

方案1:使用刷机工具将su移动至/system分区并修改启动脚本

请按照以下步骤执行,并做好备份操作。

这个方法需要借助一些刷机工具如TWRP,且在首次应用时需遵循此过程。这种方法适用于初次安装su的场景,具体操作如下:

  1. 获取官方TWRP恢复镜像或选择兼容您设备的第三方版本
  2. 进入TWRP恢复界面。
  3. 清除系统分区(通常称作wipe system),以确保没有旧的数据干扰。
  4. 使用ADB命令通过以下方式将su文件从根目录移动到/system/xbin
    shell
    adb push <file_path_of_su> /system/xbin/
  5. 转移后,重新启动TWRP,确保新的修改被系统识别。
  6. 修改/system/bin/sh的初始启动脚本文件init.sh中对应su命令的部分,将路径更改为新目录下的/xbin/su。此步骤需要一定的Linux环境知识。
  7. 为了防止后续更新覆盖您的改动,在每次完成更改后保存配置。

方案2:通过修改系统安装脚本

这是一种更为复杂但更持久的解决方案。这种方法需要具有相关经验才能成功实施,且可能涉及一定的风险。

  1. 下载并分析相关的Bootloader(引导加载程序)和Recovery安装脚本
  2. 在相应脚本中添加或修改文件安装逻辑以确保su被正确移动至目标分区,并保持在系统重启后的状态。
  3. 使用刷写器工具烧录新的定制内核及root文件。
  4. 完成之后,通过TWRP或类似工具进行安装。

注意

以上方案均需小心操作以防数据丢失。如果不确定如何进行操作,请寻求专业人士帮助以避免出现不可逆的结果。
虽然通过上述方法可以暂时移动su工具及其依赖文件到新的目录中,但由于Android系统的更新机制以及自动恢复功能,长期来看这些更改可能仍会失效。

以上信息基于现有经验和建议,并且仅作为指导性参考,具体实施方案需根据个人需求和设备型号调整。务必遵循各步骤并做好相应的备份工作。

正文完