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:

  1. Launch the terminal application.
  2. Generate UUID using uuidgen.
    $ uuidgen

    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
  3. Make sure the partition that you want to assign the UUID is not mounted.
    $ sudo umount /dev/sdb1
  4. 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
  5. 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
  6. 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"
Discuss the article:

Comment anonymously. Login not required.