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"

lijilin@lijilin-TH55B-HD:~$

 


可以查看指定设备(如/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"

lijilin@lijilin-TH55B-HD:~$

============================================================ 

获取设备的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

posted @ 2011-08-30 15:17  dkcndk  阅读(35063)  评论(0编辑  收藏  举报