UUID真的是唯一的吗?为什么我们可以将多个 UUID 分配给单个磁盘片

UUID真的是唯一的吗?为什么我们可以将多个 UUID 分配给单个磁盘片

所有网络内容及其缩写将其解释为唯一标识符。

但是,当我尝试创建另一个设备时,假设在我的情况下进行交换并分配 UUID,我可以将许多 UUID 分配给单个磁盘片。

我可以使用带有 -U 选项的命令 mkswap 创建多个具有不同 UUID 的交换设备。

那么,它有什么独特之处..?

答案1

不,不能保证 UUID 是唯一的。 UUID 是只是一个 128 位随机数。当我的计算机生成 UUID 时,没有任何实际方法可以阻止您的计算机或宇宙中的任何其他设备在将来的某个时间生成相同的 UUID。

可能不是可能任何两个 UUID 都是相同的,但是它们是。

在这种情况下,为设备分配 UUID 的代码可能会根据已分配给设备的任何现有 UUID 检查新的 UUID,并丢弃重复项,从而保证唯一性。

关于独特性。 当新磁盘安装到系统时,通常的做法是由技术人员在其上定义分区。标签不是唯一的并且不被使用。在定义过程中,软件算法创建一个 UUID。

由于系统已经具有现有已安装 UUID 的列表,因此定义分区的过程会自动创建唯一的 UUID 值。新的 UUID 值根据已安装的 UUID 的现有列表进行过滤,以避免重复。通过分区创建,在主机系统上,UUID 与分区号相结合形成唯一的组合。

对真的。如果在系统 A 上准备磁盘以便在现有系统 B 上使用,则可能会发生复制。

答案2

我能够将许多 UUID 分配给单个磁盘片。

并不真地。您只能将单个 UUID 分配给对象。但是您可以拥有覆盖相同空间的对象,并且每个对象都有自己的 UUID,例如文件系统和 UEFI 分区或其所在的 LVM 逻辑卷。

我可以创建多个具有不同 UUID 的交换设备

这很正常:多个交换卷,每个交换卷都有自己不同的 UUID。

看来你实际上是想问相反的情况:相同不同卷上的 UUID。这是不应该发生的。如果使用普通工具就不会发生这种情况。例如,当您创建文件系统或交换卷时,默认情况下,它会获得一个随机的 UUID;因为这个随机值有 122 位熵,所以世界可以有大约五亿在碰撞概率变得很大之前,每个卷都有自己的 UUID。

如果您告诉工具要使用哪个 UUID,那么您有责任确保 UUID 是唯一的。如果使用正确,UUID 是唯一的;因此,如果您强制使用非唯一的 UUID,那么您就错误地使用了它们。

相关内容