Linux磁盘分区UUID的获取及其UUID的作用

本文介绍了在Linux系统中如何获取磁盘分区的UUID,并解释了UUID的重要作用,包括作为唯一标识符确保设备识别的一致性和稳定性,以及在Ubuntu系统中被关键组件所依赖的原因。

注:UUID-Universally Unique IDentifiers全局唯一标识符

一、Linux磁盘分区UUID的获取方法

 

1、[san@localhost ~]$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 2010-01-18 02:18 0733f5c1-cb85-4f98-9d4f-122cfcee9806 -> ../../sdc1


lrwxrwxrwx 1 root root 10 2010-01-18 01:13 3754-1BDB -> ../../sda5
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 41a18221-6b1f-4ca2-9bc3-dc353c87d932 -> ../../sda9
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 57183ff9-d4a5-4623-a47f-f8f17339be03 -> ../../sda7
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 6bdf487f-cad7-4197-b0d9-4ddc6df1de2d -> ../../sda8
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 ae6dcc02-3f7f-47cc-8a6e-e29218b4d345 -> ../../sda6
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 CC47-2A04 -> ../../sda1


lrwxrwxrwx 1 root root 10 2010-01-18 02:18 d2154d3e-3006-4a05-a134-f721145f1670 -> ../../sdc2
lrwxrwxrwx 1 root root 10 2010-01-18 02:18 df974270-dbba-4f87-8121-427636dab396 -> ../../sdc3


lrwxrwxrwx 1 root root 10 2010-01-18 01:52 f535fef8-f392-4c84-8e7a-85915d9179fb -> ../../sdb1


VS:

 

lrwxrwxrwx 1 root root 10 2010-01-18 02:25 0733f5c1-cb85-4f98-9d4f-122cfcee9806 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 3754-1BDB -> ../../sda5
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 41a18221-6b1f-4ca2-9bc3-dc353c87d932 -> ../../sda9
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 57183ff9-d4a5-4623-a47f-f8f17339be03 -> ../../sda7
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 6bdf487f-cad7-4197-b0d9-4ddc6df1de2d -> ../../sda8
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 ae6dcc02-3f7f-47cc-8a6e-e29218b4d345 -> ../../sda6
lrwxrwxrwx 1 root root 10 2010-01-18 01:13 CC47-2A04 -> ../../sda1
lrwxrwxrwx 1 root root 10 2010-01-18 02:25 d2154d3e-3006-4a05-a134-f721145f1670 -> ../../sdb2
lrwxrwxrwx 1 root root 10 2010-01-18 02:25 df974270-dbba-4f87-8121-427636dab396 -> ../../sdb3


2、通过blkid命令


[san@localhost ~]$ blkid /dev/sdb1
/dev/sdb1: LABEL="SAN " UUID="f535fef8-f392-4c84-8e7a-85915d9179fb " TYPE="ext3 "

[san@localhost ~]$ blkid /dev/sda6

/dev/sda6: LABEL="/" UUID="ae6dcc02-3f7f-47cc-8a6e-e29218b4d345 " TYPE="ext3" SEC_TYPE="ext2 "

 

二、Linux 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

 

本段出处:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/2008930/147029.html)

Linux 系统中,查看磁盘分区UUID(通用唯一识别码)可以通过多种方法实现。UUID 是用于唯一标识分区的字符序列,通常用于挂载文件系统、配置 `/etc/fstab` 文件或修复磁盘问题。 ### 1. 使用 `blkid` 命令 `blkid` 是一个用于列出所有块设备及其属性(包括 UUID)的实用工具。执行以下命令可以查看所有分区UUID: ```bash sudo blkid ``` 输出示例: ``` /dev/sda1: LABEL="/boot1" UUID="ae298adb-1b94-42a0-9dc9-a121c7561a5b" TYPE="ext3" /dev/sda2: UUID="LVM_UUID_Example" TYPE="LVM2_member" ``` 此命令会列出所有可用的块设备及其文件系统类型和 UUID[^3]。 ### 2. 使用 `ls` 查看 `/dev/disk/by-uuid/` 目录 Linux 系统通过符号链接将每个分区UUID 映射到 `/dev/disk/by-uuid/` 目录中。使用以下命令可以查看所有 UUID 对应的设备路径: ```bash ls -l /dev/disk/by-uuid/ ``` 输出示例: ``` lrwxrwxrwx 1 root root 10 Jan 1 00:00 ae298adb-1b94-42a0-9dc9-a121c7561a5b -> ../../sda1 ``` 该方式适合快速查找某个 UUID 所对应的设备名称[^3]。 ### 3. 使用 `udevadm` 命令查询特定设备的 UUID 如果需要获取某个特定设备(如 `/dev/sda1`)的 UUID,可以使用 `udevadm` 命令: ```bash sudo udevadm info --query=property --name=/dev/sda1 | grep ID_FS_UUID ``` 输出示例: ``` ID_FS_UUID=ae298adb-1b94-42a0-9dc9-a121c7561a5b ID_FS_UUID_ENC=ae298adb-1b94-42a0-9dc9-a121c7561a5b ``` 此方法适用于脚本编写或自动化任务中提取特定设备的 UUID。 ### 4. 在 `/etc/fstab` 中查看 UUID 的使用情况 `/etc/fstab` 文件通常包含基于 UUID 的挂载信息,可用于验证当前系统的挂载配置是否正确: ```bash cat /etc/fstab ``` 输出示例: ``` UUID=ae298adb-1b94-42a0-9dc9-a121c7561a5b /boot ext3 defaults 1 2 ``` 通过这种方式,可以确认分区 UUID 是否被正确引用并用于挂载点配置。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值