かみぽわーる

kamipo's blog

ディスクのUUIDを調べる方法

Debian lennyのfstabを見ると

/dev/sda1       /               ext3    errors=remount-ro 0       1

みたいに/dev/sda1とかでデバイスが指定されてるのだけど、UbuntuとかDebianでもsqueezeあたりだと

UUID=04a6ba33-73ff-4f9f-a09b-199a83f73dd6 /               ext4    errors=remount-ro 0       1

みたいにUUID=...という感じでデバイスが指定されてる。

外付けUSBでHDD付けまくってるときやSATAをホットスワップで挿しまくってるときに/dev/sda1みたいな指定方法でmountしてると、へんな電波受信してひとりでに再起動したときや人間の手で故意に再起動されたときにデバイスの認識順が再起動前とちがうくて、前は/dev/sda1だったものが/dev/sdb1や/dev/sdc1になりかねないので、デバイスのUUIDを調べたくなった。

最初調べたときにvol_idというコマンドでUUIDがわかるって書いてあったのにDebianにもUbuntuにもそんなコマンドなくて驚愕したけど

ls -l /dev/disk/by-uuid/ | grep sda1

とか

sudo tune2fs -l /dev/sda1 | grep UUID

とか

sudo blkid /dev/sda1

とか、あらゆる方法でUUIDを調べることができるのであった。

追記

ブコメでid:hirose31さんにパーティションにラベルつける技を教えてもらいました!

sudo tune2fs -L usbmem1 /dev/sda1

でラベルつけて

sudo tune2fs -l /dev/sda1 | grep 'volume name'

とか

ls -l /dev/disk/by-label/ | grep sda1

とかで確認できます。

fstabにはLABEL=usbmem1と書けるのでヒューマンリーダブルで最強ですね!