如何判断USB驱动器被指定为哪个设备?

如何判断USB驱动器分配的设备?

在插入USB驱动器之前:

$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme0n1 259:0 0 238.5G 0 disk ├─nvme0n1p5 259:3 0 15.9G 0 part [SWAP] ├─nvme0n1p1 259:1 0 222.6G 0 part / └─nvme0n1p2 259:2 0 1K 0 part 

后:

 $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 1.9G 0 disk ├─sda2 8:2 1 2.4M 0 part └─sda1 8:1 1 1.2G 0 part nvme0n1 259:0 0 238.5G 0 disk ├─nvme0n1p5 259:3 0 15.9G 0 part [SWAP] ├─nvme0n1p1 259:1 0 222.6G 0 part / └─nvme0n1p2 259:2 0 1K 0 part 

/dev/sda ??

只需使用lsblk输出选项找出它:

 lsblk -o NAME,TRAN 

产生:

 sda sata ├─sda1 └─sda2 sdb usb └─sdb1 sr0 sata 

您还可以使用其他选项来获取额外信息(例如:SIZE)。
如果你想要一个漂亮的干净输出使用-S

 $ lsblk -So NAME,SIZE,TRAN NAME SIZE TRAN sda 400G sata sdb 16G usb sr0 1024M sata 

如何找出您的哪些设备是USB设备

简而言之

 find /dev/disk -ls | grep usb 

或者,在特定设备上:

 find /dev/disk -ls | grep usb | grep sda 

如果它有任何输出, sda是一个usb设备。

长版

有关您的设备的信息可以在/dev/disk目录中找到。 具体来说,子目录/dev/disk/by-id/dev/disk/by-path为我们提供了有关设备是否为usb设备的信息。 例如,名称如下:

 usb-0930_USB_Flash_Memory_04506470B2D398CF-0:0 

明确这是一个USB驱动器。

如果我在文件上运行ls -l ,则输出为:

 lrwxrwxrwx 1 root root 9 apr 27 09:21 /dev/disk/by-id/usb-0930_USB_Flash_Memory_04506470B2D398CF-0:0 -> ../../sdb 

这清楚地表明这是sdb

使用find过滤掉usb设备

find ... -ls命令随后将为我们提供所需的信息。

您可以通过运行以下命令轻松找出哪些设备是USB设备:

 find /dev/disk -ls | grep usb 

要检查特定sda是否是USB设备,请运行:

 find /dev/disk -ls | grep usb | grep sda 

如果它有任何输出,它是一个usb设备。

显然你的usb设备有两个分区:

 sda 8:0 1 1.9G 0 disk ├─sda2 8:2 1 2.4M 0 part └─sda1 8:1 1 1.2G 0 part 

在连接USB之后立即查看syslog( /var/log/syslog )和dmesg应显示有关/dev/sXY设备的消息,或者是否有任何问题并且没有获得/dev/sXY名称。

查看lsblk应该按大小匹配,如果它成功获得/ dev / name并且您确定没有附加其他类似大小的设备。

另一种选择是查看blkid的输出(可选地以root身份执行,即作为sudo blkid )。 这将使您有机会不仅按大小匹配您的设备,还可以通过文件系统和/或分区标签匹配您的设备。 特别是分区标签可能非常有用。

lsblk您发布的lsblk的输出,很明显您的USB设备实际上是sda 。 您有一个块设备,然后连接USB设备,它现在显示两个设备。 因此,显然,插入USB设备时会出现附加设备,因此它应该是同一设备。