blkid命令 获取文件系统类型、UUID
在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询。blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。要使用这个命令必须安装e2fsprogs软件包。
直接使用blkid可列出当前系统中所以已挂载文件系统的类型
lijilin@lijilin-TH55B-HD:~$ sudo blkid
/dev/sda1: LABEL="win7" UUID="40305E93305E9030" TYPE="ntfs"
/dev/sda5: LABEL="software" UUID="823E2D6213AF89BD" TYPE="ntfs"
/dev/sda6: LABEL="learning" UUID="CCBC9A082598C349" TYPE="ntfs"
/dev/sda7: LABEL="entertainment" UUID="0979A05BD10F9410" TYPE="ntfs"
/dev/sda8: UUID="7350922f-c69c-4f33-84e0-befd8b42d2f6" TYPE="swap"
/dev/sda9: UUID="3002feb1-dceb-441d-bfd2-31243e336d39" TYPE="ext4"
可以查看指定设备(如/dev/sda1)所采用的文件系统类型
lijilin@lijilin-TH55B-HD:~$ blkid /dev/sda1
/dev/sda1: LABEL="win7" UUID="40305E93305E9030" TYPE="ntfs"
查看系统中的 LABEL
lijilin@lijilin-TH55B-HD:~$ sudo blkid -s LABEL
/dev/sda1: LABEL="win7"
/dev/sda5: LABEL="software"
/dev/sda6: LABEL="learning"
/dev/sda7: LABEL="entertainment"
查看系统中的 UUID
lijilin@lijilin-TH55B-HD:~$ sudo blkid -s UUID
[sudo] password for lijilin:
/dev/sda1: UUID="40305E93305E9030"
/dev/sda5: UUID="823E2D6213AF89BD"
/dev/sda6: UUID="CCBC9A082598C349"
/dev/sda7: UUID="0979A05BD10F9410"
/dev/sda8: UUID="7350922f-c69c-4f33-84e0-befd8b42d2f6"
/dev/sda9: UUID="3002feb1-dceb-441d-bfd2-31243e336d39"
============================================================
获取设备的UUID的方法(Linux系统中):
1)# blkid /dev/sda1
/dev/sda1: LABEL="/axs3" UUID="298d198d-aa60-48af-a9f4-638f8f274afa" SEC_TYPE="ext2" TYPE="ext3"
2) # tune2fs -l /dev/sda1 |grep 'UUID'
298d198d-aa60-48af-a9f4-638f8f274afa
3)# ls -l /dev/disk/by-uuid/ |grep sda1 |awk '{print $8}'
298d198d-aa60-48af-a9f4-638f8f274afa
4)#scsi_id -p 0x80/0x83 -s /block/sda1 应该只对SCSI设备有效。
5)# dumpe2fs /dev/sda1 |grep 'UUID'
dumpe2fs 1.39 (29-May-2006)
Filesystem UUID: 298d198d-aa60-48af-a9f4-638f8f274afa
这个命令不建议使用,要是分区比较大,耗时还是比较长的
6)# vol_id /dev/sda1 |grep 'UUID'
ID_FS_UUID=298d198d-aa60-48af-a9f4-638f8f274afa
ID_FS_UUID_ENC=298d198d-aa60-48af-a9f4-638f8f274afa
===========================================================
如果你试图安装或者升级到最新的ubuntu,你或许会发现所有的存储设备现在都用一个叫UUID的字符串来表示了。UUID-Universally Unique IDentifiers,翻译过来就是“全局唯一标志符”。
UUID到底是什么?
UUID是一个标帜你系统中的存储设备的字符串,其目的是帮助使用者唯一的确定系统中的所有存储设备,不管它们是什么类型的。它可以标识DVD驱动器,USB存储设备以及你系统中的硬盘设备等。一个典型的UUID看起来就是这样:
c73a37c8-ef7f-40e4-b9de-8b2f8103844
那为什么要使用UUID呢?
原因1:它是真正的唯一标志符
UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题。
原因2:设备名并非总是不变的
自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序。如果你在插入了USB盘时启动了系统,而下次启动时又把它拔掉了,就有可能导致设备名分配不一致。
使用UUID对于挂载移动设备也非常有好处──例如我有一个24合一的读卡器,它支持各种各样的卡,而使用UUID总可以使同一块卡挂载在同一个地方。
原因3:ubuntu中的许多关键功能现在开始依赖于UUID
例如grub──系统引导程序,现在可以识别UUID,打开你的/boot/grub/menu.lst,你可以看到类似如下的语句:
title Ubuntu hardy (development branch), kernel 2.6.24-16-generic
root (hd2,0)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=c73a37c8-ef7f-40e4-b9de-8b2f81038441 ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet
列出系统中设备的UUID
如果你使用最新的ubuntu,你可以使用blkid命令列出系统中所有存储设备的UUID。
# blkid
/dev/sda1: UUID="2220CF8220CF5B83″ TYPE="ntfs"
/dev/sda2: UUID="48E81F29E81F14B2″ LABEL="DRIVE-D" TYPE="ntfs"
/dev/sdb1: UUID="c73a37c8-ef7f-40e4-b9de-8b2f81038441″ SEC_TYPE="ext2″ TYPE="ext3″
/dev/sdb5: TYPE="swap" UUID="abe7529e-dcd5-4afc-b714-05569dbcd30b"
/dev/sdb6: UUID="f34c8c7c-a020-4a14-8c97-257180240250″ SEC_TYPE="ext2″ TYPE="ext3″
/dev/sdb7: UUID="8fa274ca-5b22-411f-b5da-7469c1f276da" SEC_TYPE="ext2″ TYPE="ext3″
/dev/sdc1: UUID="1e36f323-c4e5-4f55-ba0a-838643550bf9″ TYPE="ext3″ SEC_TYPE="ext2″
/dev/sdc2: UUID="83aa92e4-4df4-4aab-80f3-9bbb447e0459″ TYPE="ext3″ SEC_TYPE="ext2″
获取指定设备的UUID:
如果你知道一个设备名而想确认它的UUID,例如你想确认你的/etc/fstab中的UUID是否正确,那么你可以用vol_id命令:
# vol_id -u /dev/sdb1
c73a37c8-ef7f-40e4-b9de-8b2f81038441
参考:
http://www.unixtutorial.org/2008/05/ubuntu-uuid-how-to/
文章出处:飞诺网(www.diybl.com):http://www.diybl.com/course/6_system/linux/linuxjs/2008930/147029.html