Android取消system只读属性

本文指导您如何在Android SDK的Platform-tools目录下执行adb命令,具体为:使用adbshell命令进行系统挂载操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开在Android SDK的Platform-tools目录的adb.ext

 

执行以下命令:

 

adb shell "mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system"

 

OK。

<think>我们正在解决红米设备已Root但无法将/system目录权限修改为777的问题(挂载读写失败)。根据引用内容,我们知道: 1. 红米设备可能对bootloader进行了封锁,导致无法修改系统分区(引用[1])。 2. 文件权限的设置(如777)与文件运行时的权限是两回事(引用[2]),但这里我们关注的是能否修改目录权限。 3. 挂载点信息(引用[3])显示/data分区以ext4文件系统挂载,但我们需要关注的是/system分区。 解决方案: 1. 确认设备Root状态:确保已正确Root(如Magisk),并在MT管理器或终端中已获得root权限。 2. 尝试不同的挂载命令:由于红米设备可能使用不同的块设备,我们可以尝试多种挂载命令。 3. 检查/system分区是否支持挂载为读写:有些设备即使Root了,/system分区也可能是只读的(只读文件系统),或者有dm-verity等保护机制。 具体步骤: 步骤1:使用终端(如Termux)或ADB连接设备,执行以下命令获取root权限: $ su 步骤2:尝试重新挂载/system为读写: # mount -o remount,rw /system 如果失败,尝试指定块设备(需要先查找/system对应的块设备): # mount | grep system 输出示例:/dev/block/mmcblk0p62 on /system type ext4 (ro,seclabel,relatime,data=ordered) 然后使用:mount -o rw,remount /dev/block/mmcblk0p62 /system 步骤3:如果上述命令失败,可能是因为红米设备使用了动态分区(如super分区)或系统启动了dm-verity(设备映射验证)。此时需要禁用dm-verity: 在Magisk Manager中,安装Magisk时可以选择“保留dm-verity”和“保留强制加密”选项,但通常我们取消勾选(即不保留)来禁用dm-verity。如果已经安装,可以尝试重新刷入Magisk并取消勾选。 步骤4:使用Magisk模块:安装一个可以自动挂载/system为可写的Magisk模块,例如“Systemless Hosts”模块(虽然主要用于hosts,但有些模块可以挂载系统分区)。 步骤5:如果/system分区空间不足,也可能导致挂载失败,但这里我们主要关注权限问题。 步骤6:如果以上方法都失败,可以考虑使用Magisk的systemless修改方式,即不直接修改/system分区,而是通过Magisk挂载一个覆盖层(overlay)来实现修改。例如,要修改/system目录下的文件,可以在Magisk模块中创建同路径文件,然后启用模块。 但是,注意:修改整个/system目录的权限为777是非常危险的操作,会导致系统安全问题,且可能导致系统不稳定。通常我们不建议这样做。 替代方案:如果是为了修改某个文件,可以只修改该文件的权限,或者使用Magisk模块来覆盖该文件。 如果用户坚持要修改整个目录权限,请谨慎操作。 下面我们给出一个使用Magisk模块来覆盖/system目录下某个文件的例子(以修改文件权限为例,但不建议修改整个目录权限): 例如,要修改/system/build.prop文件的权限,我们可以: 1. 创建一个Magisk模块目录结构: /模块目录/ |-- common | `-- build.prop # 这个文件是你修改后的build.prop `-- system.prop # 或者使用system.prop来设置属性,但这里我们直接覆盖文件 2. 在模块目录中创建`system`目录,然后将你要修改的文件按照在/system中的路径放置,例如: 模块目录/system/build.prop 3. 在模块目录中创建`module.prop`和`post-fs-data.sh`(如果需要执行脚本)等。 但注意:修改目录权限不能通过这种方式实现。因此,如果必须修改目录权限,我们只能尝试挂载/system为读写,然后使用chmod命令。 再次尝试挂载并修改权限(在终端中): # su # mount -o remount,rw /system # chmod 777 /system # 注意:这是非常危险的操作,可能导致系统无法启动 # mount -o remount,ro /system # 修改完成后建议重新挂载为只读 如果挂载命令失败,我们可以尝试使用busybox提供的mount命令(如果设备有busybox): # busybox mount -o remount,rw /system 另外,红米设备可能使用了erofs文件系统(只读),这种情况下无法挂载为读写。检查方法: # mount | grep system 如果显示文件系统类型为erofs,则无法挂载为读写。 如果是erofs,则只能通过刷入自定义的读写系统镜像来替换,或者等待Magisk支持erofs的读写(目前不支持)。 总结步骤: 1. 检查文件系统类型:如果是erofs,则无法直接修改(需要刷入可读写的系统镜像)。 2. 尝试多种挂载命令(包括使用块设备路径)。 3. 禁用dm-verity(通过重新刷Magisk并取消保留选项)。 4. 使用Magisk模块覆盖文件(但无法修改目录权限)。 由于修改整个/system目录权限为777风险极大,建议用户重新考虑需求。如果是为了某个应用或文件,可以单独修改该文件的权限。 相关问题: 1. 如何检查Android设备的文件系统类型? 2. 如何禁用dm-verity? 3. Magisk模块如何创建? 4. 红米设备刷入Magisk后无法挂载/system为读写怎么办? 注意:在回答中,我们将引用之前的引用内容,但根据用户提供的引用,我们主要参考了引用[1]关于bootloader封锁和系统修改的限制。 下面我们按照要求生成回答。</think>### 红米设备 Root 后修改 system 目录权限失败的解决方案 #### 1. **确认 Root 状态和挂载模式** - **检查 Root 有效性**: - 在终端执行 `su -c "id"` 确认返回 `uid=0(root)`(如图) - 若返回 `permission denied`,说明 Magisk/SuperSU 未正确授权[^1] - **验证分区挂载**: ```bash su mount | grep /system # 查看挂载参数 ``` - 若显示 `ro,seclabel`(只读),需重新挂载: ```bash mount -o remount,rw /system ``` #### 2. **绕过厂商封锁的核心方法**(针对红米设备) - **禁用 dm-verity 验证**: 1. 在 Magisk App 中: - 点击右上角设置 → 启用 **"保留强制加密"** 和 **"保留 AVB 2.0"** - 重新刷入 Magisk → 重启 2. 终端强制禁用: ```bash su /system/bin/avbctl disable-verification # 关闭启动验证 reboot ``` - **修改 fstab 文件**: ```bash su vi /vendor/etc/fstab.qcom # 或 fstab.[芯片型号] ``` 将 `/system` 对应的 `ro` 改为 `rw`: ```ini /dev/block/mmcblk0p62 /system ext4 ro → rw # 参考引用[3]的块设备格式 ``` #### 3. **分区挂载特殊操作** - **使用 busybox 挂载**(兼容旧设备): ```bash su busybox mount -o remount,rw /system ``` - **直接指定块设备**: 1. 通过 `ls -l /dev/block/platform/*/by-name/system` 获取真实设备路径 2. 强制挂载: ```bash mount -o rw,remount /dev/block/mmcblk0p62 /system # 替换为你的设备号 ``` #### 4. **权限修改的正确流程** ```mermaid graph TD A[启动终端] --> B{获取 Root} B -- 成功 --> C[挂载 /system 为读写] B -- 失败 --> D[检查 Magisk 授权] C --> E[执行 chmod 777 /system] E --> F[重启验证] ``` - 修改命令: ```bash su mount -o remount,rw /system chmod 0777 /system # 注意前置0表示八进制 sync # 强制写入磁盘 ``` #### 5. **终极解决方案** - **刷入可读写内核**: 1. 下载 TWRP Recovery → 刷入 **DM-Verity 禁用补丁** 2. 刷入修改版内核(如 **PBRP** 或 **OrangeFox**) - **Magisk 模块替代**: - 安装 **Systemless Hosts** 模块 → 通过 `/data/adb/modules` 覆盖系统文件 > **重要提示**:修改 system 为 777 会严重破坏系统安全机制,导致 OTA 更新失败。建议仅修改特定目录(如 `/system/app`)而非根目录[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值