내 USB 장치의 / dev 이름을 찾는 방법


44

VMware가 설치된 Windows XP 호스트에서 Ubuntu 11 게스트를 실행하고 있습니다. 우분투에서 SD 카드를 포맷하고 싶지만 /dev/xxxSD 카드가 어떤 장치인지 파악할 수 없습니다 .

카드를 노트북의 내장 소켓에 꽂습니다. 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


우분투 11에는 / var / log / messages가 없습니다.

답변:


67

시도하십시오 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  

우분투 12.10을 사용하고 있습니다.


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

꽂고 나서

ls -1 /dev > ~/after.txt

diff ~/before.txt ~/after.txt

1
진정한 프로그래머 솔루션처럼. +1
GeneCode

3

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있습니다.


용의자. 데비안 라이브를 사용할 때 sdc (내 USB 장치)가 lsblk 출력에 나열되었지만 / dev에는 표시되지 않았습니다.
user982671

1
udev가 있거나 그에 상응하는 노드가있는 경우에만 / dev에 나타납니다. lsblk에 Major / Minor 번호가 있으므로 사용할 수 없다는 의미는 아닙니다. 원하는 노드를 만들 수 있습니다.
xryl669

2

사용해보십시오 lsusbSD 카드 리더는 버추얼 박스에 포착되어 있는지. 또 다른 옵션은 사용하는 것입니다 palimpsest(메뉴 항목 인 Disk Utility 라고도 함 ).

GUI 프로그램을 사용하는 것을 두려워하지 마십시오-작동합니다! palimpsest가 장치를 인식하면 장치 노드를 알려주므로 CLI 유틸리티를 사용할 수 있습니다.


1

레이블을 사용 /dev/disk/by-label/[USB label]하여 디스크를 포맷하는 경우

편집 : 시도 /dev/disk/by-id/usb*


아니오, 그것은 없습니다 :(

다른 방법이 없습니까?

USB는 일반적으로 / dev / sb 다음에 숫자가 나옵니다. 완전히 정확하지 않은 경우 그 줄을 따라 뭔가가 있습니다 ./dev/sdb 뒤에 숫자가 있지만 일반적으로 / dev / sda가 아닐 수 있습니다. 따라서 플러그가 하나만있는 경우 그 일을해야합니다
Will03uk

1

ls /devvmware에서 해당 USB 장치를 활성화하기 전에 터미널을 열고 실행하십시오 . ls /dev/활성화 한 후 다시 실행 하고 무엇이 팝업되는지 찾으십시오.


많은 디바이스가 초기화되면 / dev /에 수많은 인스턴스가 있습니다.
j0h

1

bootisoutility을 사용 하면 정확히 수행 할 수있는 플래그가 있습니다.

> 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

0

sudo fdisk -l사용 가능한 모든 하드 디스크의 파티션 테이블을 나열합니다. 디스크에 Linux 명명 체계를 사용하여 어느 파티션이 어디에 있는지 문제를 해결하고 기억하는 데 편리합니다.

man fdisk의 매개 변수에 대한 자세한 정보를 보려면 사용하십시오 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

나는 리눅스를 처음 사용하지만 지금까지 장치 이름을 찾는 세 가지 방법을 찾았습니다.

1) lsblk(이미 위에서 언급 한 장치 이름 및 장치가 마운트 된 폴더를 나열 함)

2) sudo fdisk -l(장치 이름을 나열합니다. 여기서 파티션 이름도 볼 수 있습니다)

3) dmesgUSB 스틱을 삽입 한 직후 (많은 출력, 실제로 무엇인지 알지 못하지만 마지막 항목은 삽입 된 이름의 이름을 나타냅니다)


0

두 시나리오를 구별하는 것이 중요합니다.

  1. USB 스틱이 연결되어 있고 파일 브라우저에서 인식되어 액세스 가능한 경우 자동으로 마운트됩니다.
  2. 장치를 연결하고 마운트 한 후 장치를 꺼내거나 분리 했으므로 이제 플러그를 뽑아도 안전합니다.

첫 번째 경우를 사용 lsblk하면 탑재 된 모든 장치가 나열됩니다. MOUNTPOINT열 아래에 USB 장치가 아래 어딘가에 장착 된 것으로 표시됩니다 /run/media/.

두 번째 경우 (장치를 꺼낸 후)에는 lsblk 아무것도 나열되지 않더라도 dev 파일은 마운트되었을 때와 동일해야합니다. 이 (가) 아직 있는지 확인할 수 있습니다 lsblk --all. 그러나 이제 마운트가 해제되면 MOUNTPOINT열이 비어있게됩니다.

예를 들어, ddISO 이미지를 USB 스틱에 저장 하려고한다고 가정하십시오 . 먼저 스틱을 꽂은 다음 lsblk관련 dev 파일 (을 기반으로 MOUNTPOINT)을 찾은 다음 마운트 된 장치를 마운트 해제 / 꺼내고 dd if=stuff.iso of=/dev/sdX이미지를 쓰는 데 사용 하십시오. 탑재 된 장치덮어 쓰는 것은 좋지 않으므로이 단계는 중요 합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.