解决方案:为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 完成特定操作并自动实现所需挂载位置。
解决方案步骤
- 准备工作:
- 转至手机的终端模拟器,以管理员权限(root用户)运行命令。可以通过使用
chmod
令授予/data/local/tmp
文件夹完全读、写、执行权限。 使用
ls -l /storage/emulated/0
检查emulated/0
文件夹内是否为空。创建挂载点:
在挂载之前,需要创建一个空的特定目录作为挂载点。例如:使用以下命令在
/sdcard
位置创建目录。
shell
mkdir -p /sdcard授权请求:
挂载需具备root权限才能实现跳过某些读写限制,确保设备处于可信任模式下执行操作。
挂载命令修改:
- 基于正确检测到的SD卡块设备名称(通常为
/dev/block/sdb1
),用以下命令挂载:
shell
mount /dev/block/sdb1 /sdcard 若上述方法仍然失败,可以考虑通过Tasker中的脚本执行上述过程,并设置为用户需要的触发事件。
验证操作:
- 执行后检查确认SD卡是否成功挂载于指定
/sdcard
位置。可以在文件管理器中确认这一点。 为确保安全与设备不受损害,使用如恢复模式对修改进行调整或回滚。
持久化添加至Fstab(进阶选项):
- 对希望每次重启后永久自动挂载SD卡的用户:考虑编辑Android系统中的
/system/etc/fstab.*
文件来编写额外条目。具体的实现方法需谨慎操作以避免设备损坏。
shell
/dev/block/sdb1 /mnt/sdcard vfat defaults 0 0 - 这样能确保每次启动时,系统能够自动识别并挂载相应SD卡分区于
/mnt/sdcard
目录下。
小结
通过上述方案,用户能够在Moto G的4.4.2版本上实现借助USB OTG设备直接将卡数据挂载到 /sdcard
文件夹内。但重要提示的是在调整与修改过程中务必小心谨慎,并采取适当备份措施以保证设备安全不受影响。
希望该方案能够帮助到您,如有更多问题欢迎交流讨论!
正文完