【问题标题】:can't mount android system partition as read/write无法将android系统分区挂载为读/写
【发布时间】:2017-01-15 06:17:57
【问题描述】:

我在模拟器中运行了 android marshmallow,并执行了以下命令:

adb root
adb mount -o remount,rw /system
adb push file /system/file

输出是

adb: error: failed to copy 'file' to '/system/file': Read-only file system

奇怪的是,在重新挂载之前系统分区被挂载为

/dev/block/vda /system ext4 ro,seclabel,relatime,data=ordered 0 0

重新挂载后它被挂载为

/dev/block/vda /system ext4 rw,seclabel,relatime,data=ordered 0 0

这似乎是可读/可写的。推后是

/dev/block/vda /system ext4 ro,seclabel,relatime,data=ordered 0 0

再次。更奇怪的是,系统似乎可以写一次:

root@generic_x86:/system # mount | grep system                                 
/dev/block/vda /system ext4 rw,seclabel,relatime,data=ordered 0 0
root@generic_x86:/system # touch foo
root@generic_x86:/system # touch foo2                                          
touch: 'foo2': Read-only file system
root@generic_x86:/system # mount | grep system                               
/dev/block/vda /system ext4 ro,seclabel,relatime,data=ordered 0 0

root@generic_x86:/system # ls -la foo*                                          
-rw-rw-rw- root     root            0 2016-09-07 15:50 foo

之后我必须重新启动设备,因为系统分区无法再次重新挂载。

【问题讨论】:

  • 你好,Simiil,有什么好办法解决这个问题吗?我正面临着确切的问题。就我而言,我已经用我构建的 Android M 映像替换了 system.img、userdata.img 和 ramdisk.img。
  • 不,还没有。我正在运行一个完全未修改的 android。我现在的解决方案是每次重启只修改一件事
  • 可能与解决方案类似的问题:stackoverflow.com/questions/36670592/…

标签: android adb


【解决方案1】:

你应该执行:

$ adb remount

来自man adb

adb 重新挂载
以读写方式重新挂载设备上的 /system、/vendor(如果存在)和 /oem(如果存在)分区

【讨论】:

    【解决方案2】:

    从 dmesg 日志中注意到我的模拟器使用的是 Ranchu.fstab(可以在 @android-studio/sdk/system-images/android-23/google_apis/x86 找到)而不是 goldfish.fstab。因此,在我的 Android Studio(2.2 版)的 SDK 文件夹中,将“kernel-ranchu”文件移到了别处。

    通过此更改,当我再次运行模拟器(擦除模拟器数据)时,系统分区保持“rw”并且不会变回“ro”。

    我尝试这样做的原因是因为我在运行模拟器时在 dmesg 日志中看到了 IO 错误。通过不使用 ranchu fstab,分区名称从 /dev/block/vda 更改为 /dev/block/mtd0 等等。

    我不确定问题的根本原因是什么,但强制模拟器不选择 ranchu.fstab 似乎有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-02-27
      • 2013-11-01
      • 1970-01-01
      • 2012-05-04
      • 2012-05-14
      • 1970-01-01
      • 2020-03-19
      • 2019-07-22
      • 1970-01-01
      相关资源
      最近更新 更多