【问题标题】:remounting a stubborn sdcard directory back to read-write将顽固的 sdcard 目录重新挂载为可读写
【发布时间】:2012-06-12 20:45:09
【问题描述】:

我正在为商业市场开发一个在 Play 上不可用的应用程序,并且我有一个定制的特定目标设备,但不是由我自己构建的。某些 3rd 方 SDK 资源需要安装在 SDCard 目录中。仅此一项就很简单了。

我面临的问题是 sdcard 目录已以只读方式挂载。请注意,实际上并不是 sdcard,它是内部驱动器上的一个分区。它实际上是 mount rw,有些地方发生了变化,现在我被只读 sdcard 目录困住了。

到目前为止我所尝试的:

  1. 尝试重新挂载 sdcard 挂载点。没有奏效。即使我以 root 身份登录。未提供任何错误。

    mount -o remount,rw /dev/block/mmcblk1p4 /mnt/sdcard

  2. 已检查 /proc/mounts。我可以在 /proc/mounts 中看到 sdcard 已安装 ro。我不知道Android中是否有等效的fstab,所以我更改了选项。有人告诉我,vold.fstab 是我应该去的地方,但是......

    /dev/block/mmcblk1p4 /mnt/sdcard vfat ro,relatime,uid=1000,gid=1015,fmask=0202,dmask=0202,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=混合,utf8,errors=remount-ro 0 0

  3. 检查了vold.fstab。这与 /proc/mount 中显示的设备不同。

    dev_mount sdcard /mnt/sdcard 4 /devices/platform/mmci-omap-hs.1/mmc_host/mmc1 dev_mount usbdisk /mnt/sdcard/usbdisk auto /devices/platform/ehci-omap.0 dev_mount extsd /mnt/sdcard/extsd auto /devices/platform/mmci-omap-hs.0/mmc_host/mmc0

  4. 从引导检查 logcat 输出。没有任何迹象表明安装有错误,但是我什至不确定 mount/vold 是否会向 logcat 报告。然而,有一些错误表明启动应用程序无法写入 sdcard。

此时我非常困惑。有谁知道解决这个问题的可靠方法吗?

编辑:

这次我尝试了不同的挂载选项

mount -w -o remount /dev/block/mmcblk1p4 /mnt/sdcard

这工作了一段时间,我可以进行一些文件操作,但它最终会在几分钟内恢复到 RO。

【问题讨论】:

  • 如果文件系统突然变为只读,这通常是对检测到的损坏的保护性响应。您可能应该备份内容并重新创建文件系统。 “自定义设备”也可能存在硬件不可靠性。
  • 宾果游戏克里斯。实际上我昨天这样做是为了解决问题,然后今天看到你的评论,你是对的。至少对于此设备,默认行为是将文件系统重新挂载为只读。幸运的是 sdcard 目录上没有任何有价值的东西,所以我只是重新创建了 fs 就可以了。

标签: android


【解决方案1】:

设法解决了问题。文件系统已损坏,因此系统强制重新挂载为只读。简单的解决方法是重新创建文件系统。

【讨论】:

    【解决方案2】:

    诚然,这不在 android 上,但我必须安装 ntfs-3g 并配置 fstab:

    /dev/sda1 /media/mycard ntfs-3g  rw,umask=0000,defaults 0 0 
    

    或安装

    mount -t cifs -o uid=1000 /dev/sda1 /media/mycard
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-09
      • 2019-09-26
      • 2017-08-08
      • 1970-01-01
      • 2013-11-13
      • 2016-06-23
      • 1970-01-01
      • 2021-04-25
      相关资源
      最近更新 更多