我使用 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,因此这种自动呈现的安装媒体映像对您来说完全没有用处。