植根的Android以读/写方式重新挂载/ System的终端命令

问题描述 投票:47回答:10

我正在编写一个需要在运行时将文件复制到“ / system”分区的android应用。我已经有了运行“ su”的命令,并且可以成功请求SuperUser权限并以root用户身份运行命令。但是我不知道如何使该应用程序在多个设备上通用,因为mount命令可能因/ system的实际安装位​​置而异。这是最常用的命令:

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

但是我知道mtdblock3在某些设备上可能有所不同(对此,我想yaffs2也可能如此)。因此,我的问题是:是否有一个通用命令可以在所有电话上使用?还是有办法在运行时找出正确的参数?

android system root mount
10个回答
18
投票

您可以在不带参数的情况下运行mount命令,以便在构造安装命令之前获取分区信息。这是没有从我的HTC Hero输出参数的mount命令的示例。

$ mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock3 /system yaffs2 rw 0 0
/dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=
1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,s
hortname=mixed,utf8,errors=remount-ro 0 0

0
投票

如果出现/ system not in / proc / mounts错误,则设备系统分区未安装任何目录。写入系统分区受到限制。

如果使用仿真器,请下载以前版本的系统映像。

截至目前,不支持使用Android Q编写系统分区,请改用android pie。


126
投票

我使用此命令:

mount -o rw,remount /system

12
投票

尝试

mount -o remount,rw / system

如果未打印任何错误消息,则可以。

或者,您应该执行以下操作。

首先,确保fs类型。

mount

发出此命令以查找它。

然后

mount -o rw,remount -t yaffs2 / dev / block / mtdblock3 / system

请注意,fs(yaffs2)和device(/ dev / block / mtdblock3)取决于您的系统。


5
投票

代替

mount -o rw,remount / system /

使用

mount -o rw,remount / system

在命令末尾注意'/'。你问为什么这很重要? / system /是/ system下的目录,而/ system是卷名。


5
投票

您也可以尝试使用adb remount命令以读写方式重新挂载/ system

adb remount

4
投票

执行重新安装时,您不需要传递两个参数。您可以简单地传递挂载点(此处为/ system)。并且/ system在Android设备中通用。


2
投票

我有同样的问题。因此,这才是真正的答案:将系统安装在/proc下。这是我的命令:

mount -o rw,remount /proc /system

它有效,并且实际上是我可以克服只读系统问题的唯一方法。


2
投票

这是我的第一代Droid X在Android版本2.3.4上的工作原理。我怀疑这将是普遍的。步骤:

  1. root system and install su。

  2. 安装busybox

  3. 安装终端程序。

  4. 要先安装系统rw su然后

    busybox mount -o rw,remount system
    
  5. 重新安装ro

    busybox mount -o ro,remount system
    

注意,“系统”上没有斜杠。


1
投票

如果您已经扎根手机,但没有忙碌箱,则只有库存的玩具箱,这里只有一根线可以以root身份运行:

mount -o rw,remount $(mount | sed'/ / system /!d'| cut -d“” -f 1)/ system

玩具箱不支持“ -o remount,rw”选项

如果您有busybox,可以使用它:

busybox mount -o remount,rw / system

© www.soinside.com 2019 - 2024. All rights reserved.