如何在Ubuntu Linux下使用UUID挂载分区/卷

时间:2020-01-09 10:41:35  来源:igfitidea点击:

问题描述:您能解释与Linux ext3分区和存储设备有关的UUID概念吗?
如何在Ubuntu Linux或任何其他Linux发行版中使用UUID更新/etc/fstab?

解决方法:通用唯一标识符(UUID)是软件构造中使用的标识符标准,由开放软件基金会(OSF)作为分布式计算环境(DCE)的一部分进行了标准化。

UUID的目的是使分布式系统能够在无需大量中央协调的情况下唯一地标识信息。
因此,任何人都可以创建UUID并以合理的信心使用它来标识某物,以使该标识符永远不会被任何人无意间用于其他任何事情。
因此,以后可以将标有UUID的信息合并到一个数据库中,而无需解决名称冲突。

UUID和分区

Linux的ext2/ext3文件系统使用UUID来识别分区。

UUID的好处

作为一个有条理的UNIX管理员,我必须处理各种数据存储技术,例如SAN,iSCSI,DAS,scsi磁盘卷。
有时您可能需要将存储从一台设备移至另一台设备,而更新/etc/fstab可能会让a $$痛苦。
使用UUID,Linux内核应自动查找卷并将其映射(读取为确切位置的卷)到存储设备。
这样可以节省大量时间,并避免/etc/fstab中断。

但是,由于您没有企业级存储和要求,因此UUID对于在家中的单台式计算机可能不是很有用。

如何找到/dev/sdb2的UUID?

要探测文件系统类型并读取/dev/sdb2(或任何其他设备)的标签和uuid,请使用vol_id命令:

# vol_id --uuid {/dev/device}
# vol_id --uuid /dev/sdb2
$ sudo vol_id --uuid /dev/sdb2

输出示例:

41c22818-fbad-4da6-8196-c816df0b7aa8

列出所有UUID

使用blkid命令行实用程序查找/打印块设备属性:

$ sudo blkid

输出示例:

/dev/sda1: TYPE="ntfs" UUID="A0F0582EF0580CC2" 
/dev/sda2: UUID="8c2da865-13f4-47a2-9c92-2f31738469e8" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda3: TYPE="swap" UUID="5641913f-9bcc-4d8a-8bcb-ddfc3159e70f" 
/dev/sda5: UUID="FAB008D6B0089AF1" TYPE="ntfs" 
/dev/sdb1: UUID="32c61b65-f2f8-4041-a5d5-3d5ef4182723" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sdb2: UUID="41c22818-fbad-4da6-8196-c816df0b7aa8" SEC_TYPE="ext2" TYPE="ext3"

如何使用UUID更新/etc/fstab文件?

只需使用以下语法:

UUID={YOUR-UID}    {/path/to/mount/point}               {file-system-type}    defaults,errors=remount-ro 0       1

打开/etc/fstab:

$ sudo vi /etc/fstab

追加行如下:

UUID=41c22818-fbad-4da6-8196-c816df0b7aa8  /disk2p2      ext3    defaults,errors=remount-ro 0       1

保存并关闭文件。
要使用/etc/fstab类型立即挂载新分区:

$ sudo mount -a