为USB OTG设备设置固定挂载点

11次阅读
没有评论

解决方案:为USB OTG设备分配特定挂载位置

问题描述

希望将通过USB OTG设备(如迷你USB读卡器)接收到的存储卡挂载到 /sdcard 文件夹,但尝试直接挂载命令未成功。

背景信息

使用 Tasker 和 shell 命令进行挂载时遇到错误。Moto G 搭载4.4.2系统版本,并且内建OTG功能存在缺陷。已知将设备挂载到 /storage/emulated/0(即手机内部存储)会导致挂载失败,或者将外部SD卡挂载至链火(Chainfire)开发的 Stickmount应用下的 /sdcard/usbStorage/sda 文件夹而非用户指定的 sdcard

拟解决问题

  • 找到如何让USB OTG设备直接挂载到 /sdcard
  • 在不依赖安装其他应用程序的情况下实现此功能。
  • 通过 Tasker 完成特定操作并自动实现所需挂载位置。

解决方案步骤

  1. 准备工作
  2. 转至手机的终端模拟器,以管理员权限(root用户)运行命令。可以通过使用chmod令授予/data/local/tmp文件夹完全读、写、执行权限。
  3. 使用ls -l /storage/emulated/0检查 emulated/0 文件夹内是否为空。

  4. 创建挂载点

  5. 在挂载之前,需要创建一个空的特定目录作为挂载点。例如:使用以下命令在 /sdcard 位置创建目录。
    shell
    mkdir -p /sdcard

  6. 授权请求

  7. 挂载需具备root权限才能实现跳过某些读写限制,确保设备处于可信任模式下执行操作。

  8. 挂载命令修改

  9. 基于正确检测到的SD卡块设备名称(通常为/dev/block/sdb1),用以下命令挂载:
    shell
    mount /dev/block/sdb1 /sdcard
  10. 若上述方法仍然失败,可以考虑通过Tasker中的脚本执行上述过程,并设置为用户需要的触发事件。

  11. 验证操作

  12. 执行后检查确认SD卡是否成功挂载于指定/sdcard位置。可以在文件管理器中确认这一点。
  13. 为确保安全与设备不受损害,使用如恢复模式对修改进行调整或回滚。

  14. 持久化添加至Fstab(进阶选项)

  15. 对希望每次重启后永久自动挂载SD卡的用户:考虑编辑Android系统中的/system/etc/fstab.*文件来编写额外条目。具体的实现方法需谨慎操作以避免设备损坏。
    shell
    /dev/block/sdb1 /mnt/sdcard vfat defaults 0 0
  16. 这样能确保每次启动时,系统能够自动识别并挂载相应SD卡分区于/mnt/sdcard目录下。

小结

通过上述方案,用户能够在Moto G的4.4.2版本上实现借助USB OTG设备直接将卡数据挂载到 /sdcard 文件夹内。但重要提示的是在调整与修改过程中务必小心谨慎,并采取适当备份措施以保证设备安全不受影响。

希望该方案能够帮助到您,如有更多问题欢迎交流讨论!

正文完