[not responding to the OP, I think he's already gotten an answer. this
is for people reading the archive.]
The filesystem UUID is written into the filesystem when it is created.
It's possible (though not necessarily easy) to change using tune2fs and
other specialized filesystem tools. It does not "just change". It is
also possible to write a label, or name, on the filesystem. It is
written into the filesystem right next to the UUID. There are a couple
of exceptions: FAT filesystems don't support a true UUID, for example.
There are also partition UUIDs, the details for which depend on the
partition table type. So why use UUIDs? In the old days we just used
drive letters to identify filesystem locations, something like sda1 or
hda1, and these rarely changed because they were associated with disk
controllers with static cabling. (Although it was a bit of a pain to add
or remove a controller.) On a modern system, though, it's actually not
at all uncommon for drive letter assignments to change depending on
what's plugged in at boot time, because of USB and other dynamic bus
attachments. In practice, using UUIDs for filesystem assignments has
been more reliable than relying on drive letters for quite a while. It's
also possible to use filesystem labels, but in practice it turned out to
be not uncommon for two different systems to have something like "root",
which caused a lot of trouble when you put a drive from one system into
another system. You could give the labels unique random names, but then
you've (re)invented the UUID.
I understand that some people are saying that "something happened" and
years ago they had a UUID change, but that's not really much to help
diagnose a problem. In general it would be bad advice for people to
assume there's a real problem and abandon UUIDs based on hearsay. If
someone has a current case where they think a UUID is changing it would
be useful to bring it up here so we could see exactly which ID they're
talking about and try to diagnose what's going on. (It's probably not the
case that the filesystem UUID is just randomly changing.)
For the curious, you can run "blkid" to see all of the IDs associated
with your filesystems.
Mike Stone