>開発>Linux>[Linux]USBのデバイスファイルがわからないとき

物理サーバにUSBを挿して自動でマウントされない場合、手動でマウントしなければならない。そのときに必要なのがUSBのデバイスファイルとマウント先。マウント先は、パスを指定するだけなのでどこでもいいのだが、デバイスファイルがわからないときがある。そういうときは、カーネル関連の出力を確認する。

どうやらデバイスに対してI/Oエラーなどでディスクへのアクセスに問題が生じた場合、そのデバイスがマウントされているディレクトリのファイルシステムが強制的に”Read Only”に変更されるらしい。その場合は、”Read Write”でリマウントすることで解決した。

$ lsusb
Bus 002 Device 002: ID 8087:8002 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 8087:800a Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 006: ID 0411:023a BUFFALO INC. (formerly MelCo., Inc.) 
Bus 004 Device 002: ID 0424:2660 Microchip Technology, Inc. (formerly SMSC) Hub
Bus 004 Device 003: ID 25a7:fa61  
Bus 004 Device 004: ID 413c:301a Lenovo Computer Corp. 
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

カーネル関連の出力を確認すると、USBが挿入されたことがログで出力されている。ログの中に”sdb: sdb1″とある。これがデイバスファイル。FAT-fs(FAT ファイルシステム・モジュール?)とあり、適切にアンマウントさなかったので、データ壊れているかもしれないと出力されている。これが原因で、自動でマウントされなかったのか?それについてはわからないのだが、とりあえずデバイスファイルを特定できた。

$ dmesg
.
.
.
[21193.472980] usb 4-9: new high-speed USB device number 6 using xhci_hcd
[21194.466172] usb 4-9: New USB device found, idVendor=0411, idProduct=023a, bcdDevice= 1.00
[21194.466179] usb 4-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[21194.466184] usb 4-9: Product: USB Flash Disk
[21194.466188] usb 4-9: Manufacturer: BUFFALO
[21194.466191] usb 4-9: SerialNumber: 07080A701D907066
[21194.466834] usb-storage 4-9:1.0: USB Mass Storage device detected
[21194.467064] scsi host8: usb-storage 4-9:1.0
[21195.470530] scsi 8:0:0:0: Direct-Access BUFFALO  USB Flash Disk   1.00 PQ: 0 ANSI: 6
[21195.471034] sd 8:0:0:0: Attached scsi generic sg3 type 0
[21195.471205] sd 8:0:0:0: [sdb] 30949376 512-byte logical blocks: (15.8 GB/14.7 GiB)
[21195.472201] sd 8:0:0:0: [sdb] Write Protect is off
[21195.472207] sd 8:0:0:0: [sdb] Mode Sense: 2b 00 00 08
[21195.597686] sdb: sdb1
[21195.600685] sd 8:0:0:0: [sdb] Attached SCSI removable disk

デバイスファイルの一覧を確認してみる。”sdb1″を確認できた。BUFFALOの16GBのUSBメモリを認識していることがわかる。

$ ls /dev/
autofs           fd            lp2                 ptp4    shm       tty19  tty36  tty53  uhid     vcsa2
block            full          lp3                 ptp5    snapshot  tty2   tty37  tty54  uinput   vcsa3
bsg              fuse          mapper              ptp6    snd       tty20  tty38  tty55  urandom  vcsa4
btrfs-control    hidraw0       mcelog              ptp7    sr0       tty21  tty39  tty56  usb      vcsa5
bus              hidraw1       mem                 pts     stderr    tty22  tty4   tty57  usbmon0  vcsa6
cdrom            hidraw2       mqueue              random  stdin     tty23  tty40  tty58  usbmon1  vfio
centos           hpet          net                 raw     stdout    tty24  tty41  tty59  usbmon2  vga_arbiter
char             hpilo         network_latency     rtc     tty       tty25  tty42  tty6   usbmon3  vhci
console          hugepages     network_throughput  rtc0    tty0      tty26  tty43  tty60  usbmon4  vhost-net
core             hwrng         null                sda     tty1      tty27  tty44  tty61  usbmon5  watchdog
cpu              initctl       nvram               sda1    tty10     tty28  tty45  tty62  vcs      watchdog0
cpu_dma_latency  input         oldmem              sda2    tty11     tty29  tty46  tty63  vcs1     zero
crash            ipmi0         port                sda3    tty12     tty3   tty47  tty7   vcs2
disk             kmsg          ppp                 sdb     tty13     tty30  tty48  tty8   vcs3
dm-0             kvm           ptmx                sdb1    tty14     tty31  tty49  tty9   vcs4
dm-1             log           ptp0                sg0     tty15     tty32  tty5   ttyS0  vcs5
dm-2             loop-control  ptp1                sg1     tty16     tty33  tty50  ttyS1  vcs6
dri              lp0           ptp2                sg2     tty17     tty34  tty51  ttyS2  vcsa
fb0              lp1           ptp3                sg3     tty18     tty35  tty52  ttyS3  vcsa1

跡は、”sdb1″をマウントするだけ。今回は、”/run/media/”をマウント先とする。

sudo mount /dev/sdb1 /run/media/

マウントできたら後はUSBにじゃんじゃんコピーするだけ。

linux

記事を読んでいただきありがとうございました。

Page Top