Cách tìm tên / dev của thiết bị USB của tôi


44

Tôi đang chạy một khách Ubuntu 11 trên máy chủ Windows XP với VMware. Tôi muốn định dạng thẻ SD trong Ubuntu, nhưng tôi không thể tìm ra /dev/xxxthẻ SD là thiết bị nào.

Tôi cắm thẻ vào ổ cắm tích hợp của máy tính xách tay của tôi. Tôi "gỡ bỏ" thiết bị trong Windows một cách an toàn. Sau đó, tôi "kết nối" trình đọc PCMCIA trong VMware. Bây giờ, tôi phải thấy một thiết bị mới như thế nào /dev/sdx, nhưng nó không xuất hiện.

Làm cách nào tôi có thể tìm thấy tên của tên thiết bị USB của mình và gắn kết nó?

/var/log/message trống rỗng

Đây là đầu ra của dmesg:

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

Và, đây là những dòng cuối cùng của /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


Ubuntu 11 không có / var / log / tin nhắn ...

Điều này nên có trên Askubfox.com hoặc unix.stackexchange.com
Martin Thoma

Câu trả lời:


67

Hãy thử lsblk. Đây là đầu ra từ thiết lập hiện tại của tôi:

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  

Tôi đang sử dụng Ubuntu 12.10.


20
ls -1 /dev > ~/before.txt

cắm nó vào, sau đó

ls -1 /dev > ~/after.txt

diff ~/before.txt ~/after.txt

1
Giống như một giải pháp lập trình thực sự. +1
GeneCode

3

lsblk dường như làm việc:

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

Vì vậy, bây giờ tôi biết thẻ SD của tôi đang ở /dev/sdb1.


Nghi ngờ. Khi sử dụng Debian live, tôi thấy sdc (thiết bị usb của tôi) được liệt kê trong đầu ra lsblk nhưng không có trong / dev.
dùng982671

1
Nó sẽ chỉ xuất hiện trong / dev nếu có udev (hoặc tương đương) và như một quy tắc để tạo nút trong đó. Không có nghĩa là nó không thể được sử dụng, bạn có thể tạo nút mà bạn muốn, vì bạn có số Major / Minor trong lsblk.
xryl669

2

Hãy thử sử dụng lsusbđể xem đầu đọc thẻ sd có được chọn trong hộp ảo không. Một tùy chọn khác sẽ là sử dụng palimpsest(còn được biết đến bởi mục menu của nó, Disk Utility .)

Đừng ngại sử dụng các chương trình GUI - chúng hoạt động được! Nếu palimpsest nhìn thấy thiết bị của bạn, nó sẽ cho bạn biết nút thiết bị, vì vậy bạn có thể sử dụng các tiện ích CLI.


1

Nếu nó có nhãn sử dụng /dev/disk/by-label/[USB label]để định dạng đĩa

EDIT: Hãy thử /dev/disk/by-id/usb*


không, nó không có :(

không có phương pháp nào khác?

USB thường là / dev / sb theo sau là một số hoặc một cái gì đó dọc theo đường kẻ nếu tôi không hoàn toàn chính xác, nó có thể là / dev / sdb theo sau là một số nhưng không bình thường / dev / sda, vì vậy nếu chỉ có một lần cắm trong đó nên làm điều đó
Will03uk

1

Mở một thiết bị đầu cuối và chạy ls /devtrước khi bạn kích hoạt thiết bị USB đó trong vmware. Chạy ls /dev/lại sau khi bạn kích hoạt nó và tìm kiếm những gì bật lên


Đây là cách làm đau đớn nhất, chưa kể, nhiều thiết bị có nhiều trường hợp trong / dev / một khi chúng được khởi tạo.
j0h

1

Bạn có thể sử dụng bootisotiện ích có cờ để thực hiện chính xác điều đó:

> 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

Để cài đặt nó:

curl -L https://rawgit.com/jsamr/bootiso/latest/bootiso -O
chmod +x bootiso

0

sudo fdisk -lsẽ liệt kê bảng phân vùng trên tất cả các đĩa cứng có sẵn; nó sử dụng sơ đồ đặt tên Linux cho các đĩa, thuận tiện cho việc khắc phục sự cố và ghi nhớ phân vùng nào ở đâu.

Sử dụng man fdiskđể biết thêm thông tin về các tham số của fdisk.


0
# 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

Tôi mới sử dụng linux, nhưng cho đến nay tôi đã tìm thấy 3 cách để tìm ra tên thiết bị:

1) lsblk(đã được đề cập ở trên, liệt kê tên thiết bị và thư mục chúng được gắn vào)

2) sudo fdisk -l(liệt kê tên thiết bị, ở đây bạn cũng có thể thấy tên của các phân vùng)

3) dmesgngay lập tức sau khi bạn đã cắm một thanh USB (rất nhiều đầu ra, chưa thực sự biết chúng dùng để làm gì, nhưng các mục cuối cùng hiển thị tên của tên được chèn ở đâu đó)


0

Điều quan trọng là phải phân biệt giữa hai kịch bản:

  1. Thanh USB được cắm và được nhận dạng và có thể truy cập trong trình duyệt tệp, sau đó nó được gắn tự động;
  2. Sau khi thiết bị được cắm và được gắn, bạn đã đẩy / ngắt kết nối thiết bị, và bây giờ nó an toàn để rút phích cắm.

Trong trường hợp đầu tiên, sử dụng lsblksẽ liệt kê tất cả các thiết bị được gắn. Trong MOUNTPOINTcột bạn sẽ thấy thiết bị USB của mình được liệt kê được gắn ở đâu đó bên dưới /run/media/.

Trong trường hợp thứ hai (sau khi bạn đã đẩy thiết bị), mặc dù lsblk sẽ không liệt kê bất cứ điều gì , tệp dev vẫn phải giống như khi được gắn. Bạn có thể xác minh nó vẫn còn đó với lsblk --all. Nhưng vì nó không được tính đến bây giờ, MOUNTPOINTcột sẽ trống.

Ví dụ: giả sử bạn muốn ddhình ảnh iso vào thanh USB. Đầu tiên cắm vào thanh, sau đó tìm lsblktệp dev được liên kết (dựa trên MOUNTPOINT), sau đó ngắt kết nối / đẩy thiết bị được gắn và sử dụng dd if=stuff.iso of=/dev/sdXđể ghi hình ảnh của bạn. Các bước này rất quan trọng, vì nó không phải là một ý tưởng tốt để ghi đè lên một thiết bị được gắn kết .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.