Hard drive partitions on Linux systems rely on a UUID (universally unique identifier) for unique labels. This is basically a unique string of characters that the operating system will use to identify your hard disk partitions and other storage components.
You can see this for yourself by examining the fstab file on your own system.
$ grep UUID /etc/fstab
In this guide, we’ll go over several command line methods to retrieve the UUIDs of hard disk partitions. We’ll also show you how to generate UUIDs and change a partition’s UUID.
In this tutorial you will learn:
- How to retrieve, generate, and change the UUID of a partition
| Category | Requirements, Conventions or Software Version Used |
|---|---|
| System | Any Linux distro |
| Software | tune2fs, uuid |
| Other | Privileged access to your Linux system as root or via the sudo command. |
| Conventions |
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command$ – requires given linux commands to be executed as a regular non-privileged user |
Retrieve UUID
There are several different ways you can retrieve the UUID for a hard drive partition on Linux. Check out some of the commands below to get started.
- Use the
blkidcommand to see the UUID of all partitions.# blkid
or you can specify an argument to retrieve a single partition UUID:
# blkid /dev/sda2
- List the contents of the
/dev/disk/by-uuid/directory.# ls -l /dev/disk/by-uuid/
- Retrieve partition UUIDs with the
udevadmcommand.# udevadm info -q all -n /dev/sda2 | grep uuid
- The
hwinfocommand can also be used to retrieve the information, assuming that the program has already been installed on your system.# hwinfo --block
Change UUID
Now that you know how to retrieve your current UUIDs, let’s talk about how to change a partition’s UUID.
Use the following tune2fs command to change the UUID of a partition. In this example, we will change the UUID for partition /dev/sda1.
# tune2fs /dev/sda1 -U random
Then, confirm the changes with one of the commands from the previous section.
# blkid /dev/sda1
You may also use the uuid command (provided you have it installed) if you want to manually generate a UUID or be given more options. For example, you could use the following command to generate a UUID.
# uuid 266584be-d7b7-11eb-8c76-c3eef48c7257
And assign a particular UUID with tune2fs:
# tune2fs /dev/sda1 -U 266584be-d7b7-11eb-8c76-c3eef48c7257
Or use the uuid command to generate a UUID inside the tune2fs command:
# tune2fs /dev/sda1 -U `uuid`
Any of the three methods work fine and will allow you to set a new UUID to the desired partition.
Closing Thoughts
In this guide, we saw how to retrieve and change the UUID of a partition on Linux. We also saw how to manually generate UUIDs with the uuid command. Using the tune2fs command, we can set a new, random UUID to a hard drive partition, or a particular one that we’ve generated via the uuid command.
