I recently added a line for a USB memory stick to /etc/fstab, to be able to mount it automatically, using UUID to identify the device.

Before I already have several external ext4 drives that have their UUIDs written in lowercase hexadecimal chars [0-9a-f] like this:

UUID=3eeaaa43-dead-beef-cafe-243bcaaad475 /media/external_2TB ext4 rw,user,noexec,nosuid,nodev,noatime 0 2

I checked the UUID of my USB stick with blkid, got an uppercase hexadecimal UUID and entered it in /etc/fstab in the same way as the ext4 lines, in lowercase hexadecimal, like this:

UUID=125c-a3eb  /media/usb_8GB vfat defaults,users,umask=0  0 0

mount: special device UUID=125c-a3eb does not exist

Then I got an idea to try it in uppercase (gU3w in Vim) and it worked without problems. To confirm this, I unmounted, and changed the UUID back to lowercase, mount failed, and back to uppercase, and mounted successfully.

As far as I have understood, UUID is a hexadecimal number, not a string, so the case of letters should be irrelevant. But clearly it's not. RFC4122 defines UUID as "case insensitive on input". Is there something I have missed or is this mount / umount behavior a bug?

I'm using Debian GNU/Linux 7.0 Wheezy with a custom kernel version 3.6.8, if that matters.

  • UUID is NOT a hexadecimal string, rather UUID is a 128-bit value (a 128-bit integer, if you will). The hexadecimal string used for UUID is only its canonical textual representation.
    – Lie Ryan
    Dec 12, 2014 at 7:35

3 Answers 3


NOTE: This is speculation, based on how devices are typically accessed in Unix/Linux and the fact that the filenames are case-sensitive.

Linux uses the UUIDs to create objects in /dev/disk/by-uuid. Like any "file" on Linux, the name is case sensitive. Hence when referring to disks by UUID, the comparison is done as a file-name comparison on the hex strings rather than a binary comparison on the data represented by said strings.


in case of vfat we effectively don't see a full blown UUID. It's a Volume ID (serial number) instead. These of course are not subject to the RFC mentioned above.

  • Actually, ext4 UUIDs are also case sensitive. Further, volume IDs are also hexadecimal numbers AFAIK, not strings.
    – nrz
    Jan 7, 2013 at 15:23

Kind of implied by @sparkie's answer, and part of what's going on in the original question, is that the UUIDs for FAT partitions (seem to?) always need to be uppercase (e.g. UUID=125C-A3EB) whereas the UUIDs for ext4 partitions always need to be lowercase (e.g. UUID=3eeaaa43-dead-beef-cafe-243bcaaad475).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.