在Android中访问多分区SD卡的方法

5次阅读
没有评论

解决方案:在Android中处理带有多个分区的SD卡

问题描述

您尝试在一个64GB SDXC卡上创建了两个exFAT格式的分区,并且希望这两个不同的分区能被Android设备识别和使用。然而,当插入SD卡后,在您的Xperia Z2(未Root)设备上只能看到第一个文件夹部分的内容,而且该设备的通知栏仅显示移出通知而没有插人通知。

分析

默认情况下,Android系统只会在SD卡的第一个分区上执行挂载操作并使用它。在进行如Link2SD等第三方应用时,这类软件会将其他分区保留用于存储数据或者分配特定用途(例如swap分区)。因此在这种情形下,第二个exFAT或fat32分区被忽略。

方法

如果您希望通过ADB shell或任何类似的工具来访问第二个分区的内容,并且您愿意让设备Root:

  1. 安装必要的工具:在您的电脑上安装ADB和Fastboot工具。
  2. 允许ADB根权限: 在Android的开发者选项中,确保启用了开发者模式中的“USB调试”和“侧装应用”(如果需要)开关。并获取USB驱动程序以让设备能够受控连接到电脑。

  3. 使用ADB访问第二个文件系统部分

# 使用ADB与已Root的手机或模拟器建立连接
adb shell

# 改变目录至SD卡分区的位置
cd /mnt/media_rw/sdcard1

# 挂载你想要的分区(根据您的设备和配置调整目录)
mount -o bind /mnt/sdcard2 /sdcard/second_partition
  1. 使用其他工具来手动挂载和操作第二个文件系统部分

    “`bash
    mount -t exfat /dev/block/vold/179:0 /sdcard/second_partition

    或基于设备不同,/dev可能需要调整为:

    mount -t exfat /dev/sdb2 /data/media/2/myotherpartition
    “`

注意:/dev/sd*/mnt/media_rw/sdcard1 可能与您的具体设备配置略有不同,请查阅文档或在线资源来确认。

结论

通常情况下,Android只会在第一分区进行读写操作。为了使用额外的分区(如您实验中的第二、第三分区),您需要root权限,并且通过上述步骤手动挂载这些分区。这提供了更多灵活性,但对于大多数普通用户来说可能过于复杂或不便。


注意

确保您的设备已经安装了所有必要的更新和补丁,例如在您的Xperia Z2上应用的Android 5.x 最新的ROM。此外,在尝试修改SD卡格式时小心谨慎,因为意外的操作可能导致数据丢失或其他问题。

正文完