2011-10-31 17:03:36 +0000 2011-10-31 17:03:36 +0000
46
46

如何找到我的USB设备的/dev名称

我在Windows XP主机上运行一个Ubuntu 11 guest,使用VMware。我想在Ubuntu中格式化一个SD卡,但我无法确定SD卡是哪个/dev/xxx设备。我在Windows中 “安全地移除 "设备。然后,我在VMware中 "连接 "PCMCIA读卡器。现在,我应该是看到一个新的设备如/dev/sdx,但它并没有出现,

我怎么才能找到我的USB设备的名字叫什么名字并挂载,

/var/log/message是空的。

这里是dmesg的输出:

[5268.927308] usb 2-1: new full speed USB device number 12 using uhci_hcd

还有,这里是/var/log/syslog的最后几行:

Oct 31 18:51:21 ubuntu kernel: [5268.927308] usb 2-1: new full speed USB device number 12 using uhci_hcd Oct 31 18:51:21 ubuntu mtp-probe: checking bus 2, device 12: "/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1" Oct 31 18:51:21 ubuntu mtp-probe: bus: 2, device: 12 was not an MTP device &007 &007 &007 &007

答案 (11)

69
69
69
2012-12-07 22:31:42 +0000

试试lsblk。这是我当前设置中的输出:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk 
├─sda1 8:1 0 195.3G 0 part 
├─sda2 8:2 0 4G 0 part [SWAP]
└─sda3 8:3 0 266.5G 0 part /
sdb 8:16 0 465.8G 0 disk 
└─sdb1 8:17 0 460.8G 0 part /home
sr0 11:0 1 1024M 0 rom

我使用的是Ubuntu 12.10。

21
21
21
2013-02-19 13:09:06 +0000
ls -1 /dev > ~/before.txt

插上,然后

ls -1 /dev > ~/after.txt

diff ~/before.txt ~/after.txt
3
3
3
2014-02-08 00:13:37 +0000

lsblk似乎能用:

rishi@rishi-Inspiron-1018:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk 
├─sda1 8:1 0 230.9G 0 part /
├─sda2 8:2 0 1K 0 part 
└─sda5 8:5 0 2G 0 part [SWAP]
sdb 8:16 1 7.4G 0 disk 
└─sdb1 8:17 1 7.4G 0 part /media/3765-3233

所以现在我知道我的SD卡在/dev/sdb1里。

2
2
2
2011-11-01 16:14:46 +0000

试着用lsusb来看看是否在virtualbox中接收到了SD卡读卡器。另一个选择是使用palimpsest (也可以通过它的菜单条目,Disk Utility。)

不要害怕使用GUI程序–它们确实有效。如果palimpsest看到你的设备,它会告诉你设备的节点,所以你可以使用CLI工具。

1
1
1
2018-04-09 23:34:25 +0000

你可以使用bootiso实用程序,它有一个标志来实现这个功能:

> bootiso -l
Listing USB drives available in your system:
NAME HOTPLUG SIZE STATE TYPE
sdd 1 14,7G running disk
sde 1 961M running disk

安装方法:

curl -L https://rawgit.com/jsamr/bootiso/latest/bootiso -O
chmod +x bootiso
1
1
1
2011-10-31 17:21:23 +0000

如果它有标签,用/dev/disk/by-label/[USB label]来格式化磁盘

EDIT: 试试/dev/disk/by-id/usb*

1
1
1
2012-12-07 23:04:01 +0000

打开一个终端,在vmware中启用USB设备之前运行ls /dev。启用后,再运行ls /dev/,查看弹出的内容。

0
0
0
2011-11-01 14:46:40 +0000

sudo fdisk -l将列出所有可用硬盘上的分区表;它使用Linux的磁盘命名方案,便于故障排除和记忆哪个分区在哪里。

0
0
0
2016-01-31 10:36:02 +0000

我是linux的新手,但到目前为止,我找到了3种查找设备名称的方法:

1) lsblk (上面已经提到了,列出了设备名称和挂载的文件夹)

2) sudo fdisk -l (列出了设备名称,这里也可以看到分区名称)

3) dmesg 在你插入了usb棒之后,马上就可以找到设备名称(输出很多,还不知道是做什么用的,但最后的条目显示了插入的名称

0
0
0
2014-08-27 05:55:49 +0000
# dir /dev/disk/by-path/
total 0
drwxr-xr-x. 2 root root 180 Aug 26 15:51 .
drwxr-xr-x. 6 root root 120 Aug 25 17:20 ..
lrwxrwxrwx. 1 root root 9 Aug 25 17:12 pci-0000:00:03.2-usb-0:3:1.0-scsi-0:0:0:0 -> ../../sr0
lrwxrwxrwx. 1 root root 9 Aug 26 15:51 pci-0000:00:03.2-usb-0:4.1.1:1.0-scsi-0:0:0:0 -> ../../sdb
lrwxrwxrwx. 1 root root 10 Aug 26 15:51 pci-0000:00:03.2-usb-0:4.1.1:1.0-scsi-0:0:0:0-part1 -> ../../sdb1
lrwxrwxrwx. 1 root root 10 Aug 26 15:51 pci-0000:00:03.2-usb-0:4.1.1:1.0-scsi-0:0:0:0-part2 -> ../../sdb2
lrwxrwxrwx. 1 root root 10 Aug 26 15:51 pci-0000:00:03.2-usb-0:4.1.1:1.0-scsi-0:0:0:0-part3 -> ../../sdb3
lrwxrwxrwx. 1 root root 9 Aug 25 17:12 pci-0000:07:00.0-scsi-0:2:0:0 -> ../../sda
lrwxrwxrwx. 1 root root 10 Aug 25 17:12 pci-0000:07:00.0-scsi-0:2:0:0-part1 -> ../../sda1

# dir /dev/disk/by-id/
total 0
drwxr-xr-x. 2 root root 280 Aug 27 01:20 .
drwxr-xr-x. 6 root root 120 Aug 25 17:20 ..
lrwxrwxrwx. 1 root root 10 Aug 25 17:20 dm-name-VG_RAID_201010081812-LV_RAID_201010081617 -> ../../dm-0
lrwxrwxrwx. 1 root root 10 Aug 27 01:20 dm-name-top4 -> ../../dm-2
lrwxrwxrwx. 1 root root 10 Aug 25 17:20 dm-uuid-LVM-XCQXKaPB3snmEgx9ZNGRssIxGmJPje6TXKMLyop5meKH3x3KiJ1H1q3aoqgXpci1 -> ../../dm-0
lrwxrwxrwx. 1 root root 9 Aug 25 17:12 scsi-36842b2b04963f900144207e1091bf90c -> ../../sda
lrwxrwxrwx. 1 root root 10 Aug 25 17:12 scsi-36842b2b04963f900144207e1091bf90c-part1 -> ../../sda1
lrwxrwxrwx. 1 root root 9 Aug 25 17:12 usb-ASUS_SBW-06D2X-U_3248433031354B4A30303030-0:0 -> ../../sr0
lrwxrwxrwx. 1 root root 9 Aug 26 15:51 usb-ST916041_2AS_579FFFFFFFFF-0:0 -> ../../sdb
lrwxrwxrwx. 1 root root 10 Aug 26 15:51 usb-ST916041_2AS_579FFFFFFFFF-0:0-part1 -> ../../sdb1
lrwxrwxrwx. 1 root root 10 Aug 26 15:51 usb-ST916041_2AS_579FFFFFFFFF-0:0-part2 -> ../../sdb2
lrwxrwxrwx. 1 root root 10 Aug 26 15:51 usb-ST916041_2AS_579FFFFFFFFF-0:0-part3 -> ../../sdb3
lrwxrwxrwx. 1 root root 9 Aug 25 17:12 wwn-0x6842b2b04963f900144207e1091bf90c -> ../../sda
lrwxrwxrwx. 1 root root 10 Aug 25 17:12 wwn-0x6842b2b04963f900144207e1091bf90c-part1 -> ../../sda1
0
0
0
2016-11-30 18:43:27 +0000

需要区分两种情况:

  1. 插上U盘,在文件浏览器中识别并访问,然后自动挂载;
  2. 在第一种情况下,使用lsblk会列出所有挂载的设备。在MOUNTPOINT列下,你应该看到你的USB设备被挂载在/run/media/下的某处。

在第二种情况下(在你弹出设备后),即使lsblk **不会列出任何东西*,但dev文件应该还是和挂载时一样。你可以通过lsblk --all来验证它是否还在那里。但由于它现在还没有挂载,所以MOUNTPOINT列将是空的。

举例来说,假设你想dd一个iso映像到U盘上。首先插上U盘,然后用lsblk查找相关的dev文件(基于MOUNTPOINT),然后卸载/弹出挂载的设备,用dd if=stuff.iso of=/dev/sdX写入你的映像。这些步骤很重要,因为覆盖挂载设备不是一个好主意。