如何挂载/系统为Android中的读/写?


15

无法使用以下命令在Android中挂载/ system,有人对此有解决方案吗?

root@hwG7-UL20:/ # mount -o rw,remount,rw /system
mount: Invalid argument

255|root@hwG7-UL20:/ # mount -o remount rw /system
mount: Invalid argument

root@hwG7-UL20:/ # mount|grep system
/dev/block/bootdevice/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0

装载的完整输出为:

255|root@hwG7-UL20:/ # mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=970220k,nr_inodes=155384,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=970220k,nr_inodes=155384,mode=750,gid=1000 0 0
none /sys/fs/cgroup/memory cgroup rw,relatime,memory 0 0
none /dev/frz cgroup rw,relatime,freezer 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,size=970220k,nr_inodes=155384,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,size=970220k,nr_inodes=155384,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
/dev/block/bootdevice/by-name/log /log vfat rw,nosuid,nodev,relatime,uid=1000,gid=1007,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
/dev/block/bootdevice/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
/dev/block/bootdevice/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/bootdevice/by-name/modem /firmware vfat ro,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/data/media /mnt/shell/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1023 0 0
/dev/block/bootdevice/by-name/cust /cust ext4 ro,seclabel,relatime,data=ordered 0 0

非常感谢!


你在哪儿 在恢复模式下或在设备的终端上。
Vivek Ji

在带有根目录的“ adb shell”终端中
iclinux

如果包含设备名称会怎样?即mount -o remount,rw /dev/block/bootdevice/by-name/system /system
Dan Hulme,2016年

仍然说:mount:无效的参数
iclinux '16

1
老问题,但我现在有同样的问题。有人对此有解决方案吗?
极地,

Answers:


6

解决方法很简单。要重新挂载已安装的系统,您需要具有root特权。做一个苏。您将进入root模式。然后运行以下命令。它将起作用,我做了很多次。

所以这是步骤:

 adb shell  
 su  
 mount -o rw,remount -t ext4 /system

编辑:找到了更好的解决方案

在主机(Linux或Windows PC)上,执行以下命令。

>> adb root  
>> adb remount

如果您有权限,默认情况下,remount将默认使用rw重新安装/ system分区。

注意1:要执行su或adb root操作,您的设备必须已root并且在其上具有su可执行文件。执行su时,如果执行正确,则终端提示将从$更改为#。谢谢..

注意2:在最近的手机中,我所知的宏cer和三星很少,安全性已得到加强,即使扎根手机后,adb重装也不起作用。据我所知,目前尚无解决方案。


1
我要小心,包括“ -t”选项以选择文件系统,因为这可能导致它先前尝试为“ f2fs”(由较新的自定义ROMS使用)时尝试重新挂载为“ ext4”。您只需要说... mount -o rw,remount / system即可将其重新安装为读写并重新安装为只读... mount -o ro,remount / system
ConceptRat

adbd cannot run as root in production builds
beppe9000

2

看到相关的文章在这里和堆栈交换答案在这里

基本上

  1. 你需要root

  2. 最好安装adb安全的APK

  3. 检查如何将/ system分区安装为只读(ro),尤其要注意设备

    # mount | grep system
    /dev/block/stl12 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
    
  4. 然后将其重新挂载为/ system

    # mount -o rw,remount /dev/block/stl12 /system
    
  5. 最后,您可以确认

    # mount | grep system
    /dev/block/stl12 /system ext4 rw,relatime,barrier=1,data=ordered 0 0
    

0

如果您是root用户,则可以从Play商店下载ES File Explorer,然后按左上方的3行菜单图标。接下来,向下滚动,直到看到Root Explorer。按住2-3秒钟。应该出现一个菜单。按“挂载R / W”。将“系统”的点放在“ RW”部分。可能需要重新启动。


没有任何结果,仍然是RO。它可能使用相同的命令。
瓦尔说莫妮卡(
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.