Linux 无法在 USB MSC 模式下挂载 Android 设备

Joa*_*m W 2 mount usb-drive android

我是从 android.stackexchange.com 转过来的。

我希望通过 USB 在 Linux (Debian) 下安装我的 Sony Xperia ST21i (Android 4.0.4)。但是,我收到此错误:

# mount /dev/sdb /mnt
mount: no medium found on /dev/sdb
Run Code Online (Sandbox Code Playgroud)

有关更多上下文,请参阅 https://android.stackexchange.com/questions/52932/linux-fails-to-mount-android-device-in-usb-msc-mode

这更像是 Android 还是 Linux 问题?

der*_*ert 5

USB 大容量存储模式仅用于访问 microSD 卡。Linux 报告没有媒体,因为您没有在手机中插入卡。

大容量存储模式提供对卡的独占访问,它提供原始设备级别的访问,甚至低于文件系统。您使用的是 Linux 的 vfat 实现,而不是手机的。在电脑上时,您根本无法从手机访问该卡;这样做会导致文件系统损坏。这就是您无法以这种方式访问​​内部存储器的原因——Android 无法独占访问内部存储器,因为它需要访问它。

为了访问手机的内存,您需要使用 MTP 或 PTP 模式。在这种模式下,计算机在文件级别访问手机——手机操作系统说“这是设备上的文件列表”,计算机说“给我文件 x”。你可以在 Linux 上使用这两种方法;它实际上适用于最新版本的 libmtp。

您最后的选择是使用一些应用程序(或手机上的命令行)通过网络导出文件。您可以在电话、NFS 服务器或 Web 服务器上运行 Samba。或者对于图片,DLNA 堆栈。最好通过 WiFi 完成。(除了使用命令行,这可能是 android.SE 的问题——但我敢打赌他们已经有了。)