两个分区暂时使用相同的 UUID 是否有问题?

ubu*_*ubu 4 partitioning ssd uuid 16.04

在按照将您的 Linux 安装移动到新的固态驱动器(即使是更小的固态驱动器)中的说明进行操作时,我在第“9”点之后就被卡住了。我使用 tune2fs 在 sda1(想要成为 SSD 中的新文件系统)上复制了 sdb6(在 HDD 上运行的 ubuntu 的文件系统)的 UUID。

当我试图摆脱困境时......(我将很快发布一个关于它的线程)在两个分区上具有相同 UUID 的同时运行系统是否有问题?

如果是这样,考虑到我不知道 sda1 分区的原始 UUID,是否可以仅发明一个,例如通过更改 UUID 的字符?

系统信息 Ubuntu 16.04

$ fdisk -l

Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
...
Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1        2048 225282211 225280164 107.4G 83 Linux


Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
...
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1            2048 318919887 318917840 152.1G  7 HPFS/NTFS/exFAT
/dev/sdb2       318920702 976771071 657850370 313.7G  5 Extended
/dev/sdb5       960151552 976771071  16619520   7.9G 82 Linux swap / Solaris
/dev/sdb6       318920704 960151551 641230848 305.8G 83 Linux
Run Code Online (Sandbox Code Playgroud)

Rod*_*ith 6

一些系统工具通过 UUID 编号引用分区。/etc/fstab例如,这在 中很常见;分区是通过它们的 UUID 号而不是其他方式来识别挂载的。因此,重复的 UUID 编号可能会导致混淆和不一致——在一次启动时,可能会挂载一个分区;但是在另一个挂载上,可能会挂载另一个分区。如果该分区上的文件被更改,这可能会产生问题,就像大多数分区一样。

您可以通过以下blkid命令了解分区使用的 UUID :

$ sudo blkid /dev/sdc3
/dev/sdc3: UUID="5028fa50-0079-4c40-b240-abfaf28693ea" TYPE="ext4" PARTLABEL="Xubuntu /boot" PARTUUID="74ed9e82-2e96-4a12-89e0-e0563c296a08"
Run Code Online (Sandbox Code Playgroud)

此示例显示其/dev/sdc3UUID 为 5028fa50-0079-4c40-b240-abfaf28693ea。

您可以使用各种特定于文件系统的工具更改 UUID。对于 ext2/3/4fs,此工具称为tune2fs,您-U可以将更改 UUID的选项传递给它。但是,您将需要一个新的 UUID,您可以使用该uuidgen工具生成它,您可以将其作为调用的一部分调用tune2fs

$ sudo tune2fs -U $(uuidgen) /dev/sdc3
Run Code Online (Sandbox Code Playgroud)

当然,您需要更改系统的设备 ID(/dev/sdc3在本例中)。

如果您的分区使用 ext2/3/4fs 以外的文件系统,则您需要使用 以外的工具tune2fs,例如xfs_adminXFS 或btrfstuneBtrfs。

如果分区安装在 中/etc/fstab,由grub.cfg文件中的 UUID 标识或以其他方式引用,则您可能需要在进行更改后调整该配置文件。