问题描述
持有root权限的Android设备中,su
工具的位置为根目录下(/)。为了提高安全性及优化系统分区使用,希望将su
移动至/system/xbin
或/system/bin
。然而,在当前环境下无法在使用该工具时进行修改。同时,需要更改的另一个文件位于根目录下的/sbin
处。
尽管尝试过方法,每次重启设备后发现更换的内容都被系统恢复。这说明了即使通过某些方式修改了这些文件,但在后续的文件更新或系统操作中被覆盖的问题依然存在。
解决方案
方案1:使用刷机工具将su移动至/system分区并修改启动脚本
请按照以下步骤执行,并做好备份操作。
这个方法需要借助一些刷机工具如TWRP,且在首次应用时需遵循此过程。这种方法适用于初次安装su
的场景,具体操作如下:
- 获取官方TWRP恢复镜像或选择兼容您设备的第三方版本。
- 进入TWRP恢复界面。
- 清除系统分区(通常称作wipe system),以确保没有旧的数据干扰。
- 使用ADB命令通过以下方式将
su
文件从根目录移动到/system/xbin
:
shell
adb push <file_path_of_su> /system/xbin/ - 转移后,重新启动TWRP,确保新的修改被系统识别。
- 修改
/system/bin/sh
的初始启动脚本文件init.sh
中对应su
命令的部分,将路径更改为新目录下的/xbin/su
。此步骤需要一定的Linux环境知识。 - 为了防止后续更新覆盖您的改动,在每次完成更改后保存配置。
方案2:通过修改系统安装脚本
这是一种更为复杂但更持久的解决方案。这种方法需要具有相关经验才能成功实施,且可能涉及一定的风险。
- 下载并分析相关的Bootloader(引导加载程序)和Recovery安装脚本。
- 在相应脚本中添加或修改文件安装逻辑以确保
su
被正确移动至目标分区,并保持在系统重启后的状态。 - 使用刷写器工具烧录新的定制内核及root文件。
- 完成之后,通过TWRP或类似工具进行安装。
注意
以上方案均需小心操作以防数据丢失。如果不确定如何进行操作,请寻求专业人士帮助以避免出现不可逆的结果。
虽然通过上述方法可以暂时移动su
工具及其依赖文件到新的目录中,但由于Android系统的更新机制以及自动恢复功能,长期来看这些更改可能仍会失效。
以上信息基于现有经验和建议,并且仅作为指导性参考,具体实施方案需根据个人需求和设备型号调整。务必遵循各步骤并做好相应的备份工作。
正文完