如何找到手机的设备文件,以便将其安装到 Linux 上?

如何找到手机的设备文件,以便将其安装到 Linux 上?

我使用 USB 将手机连接到我的 Linux 笔记本电脑。我在手机弹出窗口中单击“文件传输”选项。为了在 Linux 上安装手机,我必须在 Linux 上找到块设备。我怀疑它的设备文件是/dev/sdb1,但我找不到它:

$ sudo fdisk -l
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: ST1000LM014-1EJ1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 18E6169E-AE75-4F4D-82EE-32A4A1B85155

Device         Start        End    Sectors   Size Type
/dev/sda1    1048576   69206015   68157440  32.5G Linux swap
/dev/sda2   69206016  195035135  125829120    60G Linux filesystem
/dev/sda3  195035136 1953523711 1758488576 838.5G Linux filesystem
/dev/sda4       2048    1048575    1046528   511M EFI System

Partition table entries are not in disk order.

$ sudo lsblk -l
NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda    8:0    0 931.5G  0 disk 
sda1   8:1    0  32.5G  0 part [SWAP]
sda2   8:2    0    60G  0 part /nix/store
                               /
sda3   8:3    0 838.5G  0 part /home
sda4   8:4    0   511M  0 part /boot
sr0   11:0    1   3.3M  0 rom  

sudo lshw手机显示为:

    *-usb
         physical id: 14
         bus info: pci@0000:00:14.0
         version: 31
         width: 64 bits
         clock: 33MHz
         capabilities: pm msi bus_master cap_list
         configuration: driver=xhci_hcd latency=0
         resources: irq:129 memory:df410000-df41ffff
       *-usbhost:0
            product: xHCI Host Controller
            vendor: Linux 5.19.0 xhci-hcd
            physical id: 0
            bus info: usb@1
            logical name: usb1
            version: 5.19
            capabilities: usb-2.00
            configuration: driver=hub slots=16 speed=480Mbit/s
          *-usb:0
               description: Mass storage device
               product: FRD-AL10
               vendor: HUAWEI
               physical id: 1
               bus info: usb@1:1
               version: 2.99
               serial:  
               capabilities: usb-2.00 scsi
               configuration: driver=usb-storage maxpower=500mA speed=480Mbit/s

如何找到手机的设备文件,以便将其安装到 Linux 上?

谢谢。

答案1

正如 Tom Yan 在评论中所说,你必须使用 MTP (媒体传输协议)。

您可以使用多种实用程序,这里有两个:

  • simple-mtpfs
  • jmtpfs

例如jmtpfs(来自官方自述文件):

[jason@colossus ~]$ workspace/jmtpfs/src/jmtpfs -l
Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note.
Available devices (busLocation, devNum, productId, vendorId, product, vendor):
2, 19, 0x6860, 0x04e8, GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note, Samsung

You can choose which device to mount with the -device option.

[jason@colossus ~]$ workspace/jmtpfs/src/jmtpfs -device=2,19 ~/mtp
Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note.
Android device detected, assigning default bug flags
[jason@colossus ~]$ ls ~/mtp
Internal Storage

Unmount with fusermount.

[jason@colossus ~]$ ls ~/mtp
Internal Storage
[jason@colossus ~]$ fusermount -u ~/mtp
[jason@colossus ~]$ ls ~/mtp
[jason@colossus ~]$

欲了解更多信息,您可以查看ArchLinux文档:

技术规格:

答案2

sudo lshw确实表明手机正在提供 USB 大容量存储接口某物:

      *-usb:0
           description: Mass storage device
           product: FRD-AL10
           vendor: HUAWEI
           physical id: 1
           bus info: usb@1:1
           version: 2.99
           serial:  
           capabilities: usb-2.00 scsi
           configuration: driver=usb-storage maxpower=500mA speed=480Mbit/s

(谷歌表示 FRD-AL10 将是仅限中国的版本华为荣耀8.)

但与/dev/sdb1您怀疑的不同,手机提供的设备可能是这样的:

sr0   11:0    1   3.3M  0 rom  

注意尺寸:只有3.3M。常规的空 CD/DVD 驱动器如下所示:

sr0   11:0    1  1024M  0 rom

手机可能只是提供 Windows 驱动程序的内置安装媒体映像和/或手机备份/文件传输实用程序的 Windows 应用商店安装链接。有了现代软件,3.3M 就不再适合其他任何东西了。

安装该实用程序后,它就会知道如何与手机通信,很可能使用媒体传输协议,如拉米乌斯已经说过了。一般来说,现代手机似乎不喜欢通过 USB 海量存储协议共享其内部存储。也许 MTP 可以更好地与安全保护集成,例如要求在进行传输之前解锁手机(和/或之前识别并标记为受信任的连接计算机?)?

由于您使用的是 Linux,因此这种自动呈现的安装媒体映像对您来说完全没有用处。

相关内容