How to change disk partition UUID in Linux
Most major Linux distributions create and assign UUID on disk partitions during system installation, which is then used as an identifier to mount the partition in /etc/fstab. Once set, UUID is static, and it addresses the issue with partition's device name that could change, which causes the fstab to no longer be valid and the filesystem not mounted.
You can create and assign UUID on newly created partitions or change UUID on existing partitions in Linux from the terminal.
Steps to create and assign disk partition UUID in Linux:
Launch the terminal application.
Generate UUID using uuidgen.
$ uuidgen 39ea80c4-e748-47eb-835c-64025de53e26
uuidgen is normally installed by default in most Linux systems.
You can also get UUID from /proc/sys/kernel/random/uuid.
$ cat /proc/sys/kernel/random/uuid 5c27b2b3-58f4-4469-a717-45865f517400
Make sure the partition that you want to assign the UUID is not mounted.
$ sudo umount /dev/sdb1
Run filesystem check on the partition.
$ sudo e2fsck -f /dev/sdb1 e2fsck 1.44.6 (5-Mar-2019) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sdb1: 11/1310720 files (0.0% non-contiguous), 126322/5242624 blocks
Assign UUID to partition using tune2fs.
$ sudo tune2fs /dev/sdb1 -U 39ea80c4-e748-47eb-835c-64025de53e26 tune2fs 1.44.6 (5-Mar-2019) Setting the UUID on this filesystem could take some time. Proceed anyway (or wait 5 seconds to proceed) ? (y,N) y
Check if UUID is properly assigned to the partition.
$ sudo blkid /dev/sdb1 /dev/sdb1: UUID="39ea80c4-e748-47eb-835c-64025de53e26" TYPE="ext4" PARTUUID="2c6a7a3a-01"