论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
软件与程序人生
›
移动端开发
›
Android解锁System分区为可读写。
Android解锁System分区为可读写。
种地
论坛元老
|
2025-1-25 01:08:34
|
显示全部楼层
|
阅读模式
楼主
主题
1710
|
帖子
1710
|
积分
5130
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
记得我第一次将手机root后想要更改一些文件时却被提示
Read-only file system
复制代码
为此我实验过各种差异的方法,我也了解过一些通过Magisk模块实现system可读写的模块;但是通过magisk模块更改system分区本质上还是在Data目录下塞文件,不外这并不能满意我。经过我的不停探求终于找到了那么一个工具来解锁System分区;不外提前告诉你一声,解锁system分区并不能让你得到更多可用的空间。
1.前言
#工具的文件树状图
systemrw_1.32_BUNDLE_proper.zip
├── sysrw_repair_v1.32_proper.zip
│ └── sysrw_repair_v1.32
│ ├── img
│ ├── sysrw_repair.sh
│ └── tools
│ ├── bin
│ │ ├── adb
│ │ ├── fastboot
│ │ ├── img2simg
│ │ ├── lpmake
│ │ ├── lpunpack
│ │ └── simg2img
│ └── lib64
│ ├── libbase.so
│ ├── libc++.so
│ ├── libcrypto-host.so
│ ├── libcrypto_utils.so
│ ├── libext4_utils.so
│ ├── liblog.so
│ ├── liblp.so
│ ├── libsparse-host.so
│ └── libz-host.so
└── systemrw_1.32_flashable.zip
├── META-INF
│ └── com
│ └── google
│ └── android
│ ├── update-binary
│ └── updater-script
└── systemrw_1.32
├── config.ini
├── systemrw.sh
└── tools
├── avbctl
├── e2fsck
├── img2simg
├── lpadd
├── lpdump
├── lpflash
├── lpmake
├── lpunpack
├── resize2fs
├── sh
├── simg2img
├── toybox
└── tune2fs
复制代码
2.这个脚本实用于那些设备?
根据用户的反馈,这个工具已经在这些设备上正常工作。没有在下面列出的设备并不代表的它不能运行,只是还没有经过测试;如果它对你的设备有效你也可以反馈一下。
Xiaomi Poco X3 NFC
Xiaomi Poco X3 Pro
Xiaomi Poco X2 - Android 10/11
Xiaomi Poco X2 - Android 11
Xiaomi Poco F2 Pro - Android 11
Xiaomi Mi 10 T Lite - Android 11
Xiaomi Mi 10 T lite - Android 11
Xiaomi Mi 10 - Android 11
Xiaomi Mi 10 Ultra - Android 11
Xiaomi Mi 10i 5G (gauguin) - Android 11
Xiaomi Mi Note 10 Lite - Android 11 - OrangeFox
Xiaomi Redmi Note 12 5G - Android 12 - latest MIUI 13.0.3
Xiaomi Redmi 9 - Android 10
Xiaomi Redmi 9 - Android 10
Xiaomi Redmi Note 9 Pro joyeuse - Android 10
Xiaomi Redmi Note 9 Pro gauguin (China)
Xiaomi Redmi Note 9S - Android 11 - MIUI Global 12.5.3 Stable (RJWEUXM)
Xiaomi Redmi 9T - Android 11
Xiaomi Redmi K30 - Android 10
Xiaomi Redmi K30S Ultra(China), Android 11
Asus ROG Phone 3 - Android 10
Asus ROG Phone 5 - Android 11
OnePlus Nord - Android 11
OnePlus 8T - Android 11
Doogee S96Pro - Android 10
F150 model B2021 - Android 10
Realme C12 - Android 11
Realme GT 5G - Android 12
Pixel 4a (sunfish) - Android 11
Google Pixel 4 XL (coral) - Android 10
3.脚本怎样工作
必要root和至少10GB的可用空间,脚本只会修改 super 和 vbmeta 分区。data 分区不受影响,它仅用于转储数据和存储脚本文件。
提取您现有的 super 分区
从指定的 Super Image 中提取此中的只读子分区(system、system_ext、odm、vendor、product等)
使用唯一的原始 MakeRW/ro2rw 算法使这些子分区可读/写
将所有内容重新添加到新的 super.img 中
使用超快速 Kolibass 技能将可读/写的修补 Super 映像刷回设备(仅在Recovery模式下)
正如你所见,这个脚本应该有两种工作模式;一种在系统(Android)中执行脚本,一种在recovery中执行脚本。我比较推荐在Android下执行它,因为按照这个方法理论上来讲只要按照步调走你就不会碰到数据损失。
1.在Android中执行
解压flashable.zip并将sysrw_*VERSION* 文件夹复制到 /data/local/tmp/
运行以下下令使脚本可执行:
chmod +x /data/local/tmp/sysrw_*VERSION*/systemrw.sh
在任意终端中使用root运行systemrw.sh
当你脚本执行完成后你会在/data/local/tmp/sysrw_*VERSION*/img/目录下找到super_patched.bin和super_original.img。如今,你可以通过任何方法将它们两个上传到你的电脑上。
使用fastboot flash super_patched.bin来刷入处理后的super分区
如果你想要恢复super分区为原厂,或执行以上操纵让你的设备出来题目,执行
fastboot flash super_original.bin
正常情况下你不必要为脚本添加任何参数,不外它其实提供了一些参数,可以让你进行更为机动的操纵
将 x 更换为您的自界说值
in=x
指定现有的超等映像作为输入 [可选]
省略此参数等同于使用 in=@auto 等同于使用设备的super分区作为输入
out=x
指定修补后的超等镜像输出文件路径 [可选]
省略此参数相当于使用 out=@auto,修补后的超等镜像将默认保存为 ./img/super_patched.bin
size=x
指定要添加到 super.img 的每个子分区的额外可用空间(以MB为单位)[可选]
省略此参数相当于使用 size=@auto 这将激活自动调解巨细功能
-r
指定是否应以原始文件格式输出修补后的 super image [可选]
省略此参数将默认创建稀疏修补的 super image
使用示例
su
cd /data/local/tmp/sysrw_1.33
chmod +x ./systemrw.sh
# 使用默认设置运行脚本 [推荐]
./systemrw.sh
# 指定super分区 [可选]
./systemrw.sh in=./img/super_original.img
# 指定输出目录 [可选]
./systemrw.sh out=./img/super_patched_new.img
# 指定要添加到 super.img 的每个子分区的额外可用空间(以MB为单位)[可选]
./systemrw.sh size=15
# 指定是否应以原始文件格式输出修补后的 super image [可选]
./systemrw.sh -r
# 示例 (警告!此命令可能会损坏您的系统。在Recovery模式下使用。风险自负!)
./systemrw.sh in=img/super_original.bin out=`realpath /dev/block/by-name/super` -r
复制代码
2.在recovery中执行
提示要想在recovery中执行该脚本,请保证你使用的recovery可以正常访问data分区。
下载下面的flashable.zip,不要启用 zip 签名验证,只需在您的第三方recovery中(实用于 TWRP、OrangeFox 和 PBRP!)安装即可
update 二进制文件将自动检测 config.ini 中的参数并相应地启动脚本
您可以轻松修改包含的 config.ini 文件中的自界说脚本执行参数。只需提取flashable.zip,使用文本编辑器编辑包含的 config.ini 文件,然后保存文件。接下来,再次压缩 sysrw_*VERSION* 和 META-INF 文件夹作为新的可刷入的zip。并再次在 recovery 中安装它。
4.移除
要开释空间并保留脚本以及读/写功能,您只需删除位于/data/local/tmp/sysrw_*VERSION*/img
要删除脚本并保持读/写功能,您只需删除位于/data/local/tmp/sysrw_*VERSION*
要撤消脚本执行的所有更改,您只需通过 adb/fastboot 或使用随附的 avbctl 二进制文件重新刷写原始只读Super映像并重新启用 dm-verity 和验证即可。
5.Sysrw_repair用法
1. 情况预备:确保你的设备已经连接到电脑,并且已经安装了 Android 10 或更高版本的操纵系统。同时,必要确保 adb 和 fastboot 工具已经精确安装,并且设备驱动程序配置无误。
2. 运行脚本:将脚本保存为 .sh 文件,并在 Linux 情况中给予执行权限(例如使用 chmod +x script.sh )。然后,通过终端运行该脚本。
3. 脚本执行流程:
脚本首先会检查设备的连接状态,确保设备处于 recovery 或 device 状态。
如果设备处于 fastboot 模式,脚本会实验重启设备进入 Android OS。
接下来,脚本会从设备中拉取所有 .img 文件到当地的 ./img 文件夹中。
然后,脚本会实验运行 lpmake 工具,使用从设备中拉取的 myargs.txt 文件中的参数。
如果 lpmake 工具成功创建了修补后的 super 分区镜像( super_fixed.bin ),脚本会将设备重启到 bootloader 模式,并实验刷入修补后的镜像。
4. 成功与失败:如果刷入成功,脚本会提示分区已经获得读写能力,并重启设备。如果过程中碰到题目,脚本会输出相应的错误信息。
6.疑难懂答
如果您在成功创建和刷入super_patched.bin 后收到 bootloop,那可能是因为您没有精确禁用 dm-verity 和验证。
我好像记得在一些设备上必要表明某一行才可以保证它正常执行,大概是四百三十几行的一个变量。不外我其实不确定是否有这么一回事,因为在我写这篇文章时并没有找到相关记载。好吧,多留意一下脚本输出吧。
7.下载
百度云链接: https://pan.baidu.com/s/18sE7JspO8bc6xNGlVM-Z4A?pwd=yudv 提取码: yudv
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
种地
论坛元老
这个人很懒什么都没写!
楼主热帖
Beta 阶段事后分析
mac下配置Charles,安装证书,连接iOS ...
为什么 SQL 语句使用了索引,但却还是 ...
图的基本术语,邻接矩阵、邻接表表示方 ...
python经典习题(一)
Archlinux scarlett solo driver insta ...
DOS窗口命令和单表简单查询
5.返回值IDCANCEL和CommDlgExtendedErr ...
利用kubernetes中的leader选举机制来完 ...
MySQL实战45讲 10
标签云
AI
运维
CIO
存储
服务器
浏览过的版块
IOS
Oracle
DevOps与敏捷开发
云原生
物联网
Mysql
数据仓库与分析
快速回复
返回顶部
返回列表