我如何知道 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
??
答案1
只需使用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
答案2
如何确定你的哪个设备是 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
答案3
查看系统日志(/var/log/syslog
),dmesg
连接 USB 后应立即显示有关/dev/sXY
它是什么设备的消息,或者它是否有问题且没有获得名称/dev/sXY
。
lsblk
如果它成功获得了 /dev/ 名称并且您确定没有其他类似大小的设备连接,则查看应该按大小匹配。
答案4
另一个选项是查看 的输出blkid
(可选择以 root 身份执行,即sudo blkid
)。这将使您有机会不仅按大小匹配设备,而且还按文件系统和/或分区标签匹配设备。尤其是分区标签可能非常有用。
根据您发布的输出lsblk
,很明显您的 USB 设备实际上是sda
。您有一个块设备,然后您连接 USB 设备,现在它显示两个设备。因此,显然,插入 USB 设备时会出现附加设备,因此它应该是同一个设备。