Menu

Cloning changes UUIDs

larryalk
2009-08-10
2013-04-05
  • larryalk

    larryalk - 2009-08-10

    I have just sucessfully cloned my main Kubuntu drive to another identical drive.

    However, Clonezilla has changed all the UUID numbers on the cloned drive
    to be the same as the original drive.

    As a result, when both drives are in the machine, I get the very strange /etc/mtab
    report listing sda2 ( / ),  sdb6 (/home) and sbb7 (/big).

    Also blkid reports identical UUIDs for the partitions of both drives.

    Is there any way to change the UUIDs?  I never intended to clone the drive _that_ identically!

    Larryalk
    I am not really sure which drive I am reading or writing although I hope the only drive that wrote was the original. 

     
    • Steven Shiau

      Steven Shiau - 2009-08-10

      "Clonezilla" is a tool to "clone" disk for partition for you. By cloning, it means everything will be the same. So actually it does not change the UUID of our target disk, it clones that for you.

      If the file system is ext3, you can use the command "tune2fs" to modify the UUID. For more info, please run "man tune2fs".

      Steven.

       
      • nai7

        nai7 - 2009-08-13

        First off, perhaps using tlhonmey's very clever work around, to restore the image to a virtual machine (https://sourceforge.net/forum/message.php?msg_id=7554055) would avoid the UUID collision all together. Is that an option?

        Secondly, I admit it, there are nuances here I don't get! Perhaps asking some N00b questions and putting down some basic info will help me and others. Also, I've tried to be very careful with my usage of Volume, Device and Partition, but may be confused so, if you see mix ups, please feel free to correct.

        Steven talks about "UUID on the NTFS file system", "UUID of the files on NTFS file systems" and the "UUID of NTFS partition". I'm not sure I know the differences regarding these things in Linux and Windows.

        As I understand Linux (Ubuntu), all ext3 formatted hard drives and/or partitions have unique UUID's, which can be edited as Steven says in his previous post using "tune2fs". I was not aware that all Linux files also had UUID's, is that the case? What about Windows files?

        As I understand machines with Windows OS running, they have what is called am SID, this is a unique security identifier for that machine. This is similar to a UUID in some ways, but is really for the entire machine & OS, not subsystems (volumes, devices, partitions). I know that sysprep blanks out the SID as if you try to have two machines with the same SID on one domain, there will be problems. I know, I've tried it! However, I'm not sure sysprep will change the UUID on devices, or partitions. I was just thinking it was a likely suspect.

        From what I've been able to learn about Windows XP Pro's NTFS volumes they have both a UUID and a "Volume Serial Number". You can apparently see the UUID by using the command "mountvol /L", but at least on my computer there are multiple duplicates between the C hard drive, E CD drive, and A floppy drive and between two faux CD drives P and Q, which doesn't really make sense to me (below). Can anyone explain?

        C:\>mountvol /L
        Creates, deletes, or lists a volume mount point.

        MOUNTVOL [drive:]path VolumeName
        MOUNTVOL [drive:]path /D
        MOUNTVOL [drive:]path /L

            path        Specifies the existing NTFS directory where the mount
                        point will reside.
            VolumeName  Specifies the volume name that is the target of the mount
                        point.
            /D          Removes the volume mount point from the specified directory.
            /L          Lists the mounted volume name for the specified directory.

        Possible values for VolumeName along with current mount points are:

            \\?\Volume{ddc04ac9-b8e8-11dc-a30b-000ea6028c06}\
                F:\

            \\?\Volume{837cb505-b87a-11dc-9686-806d6172696f}\
                C:\

            \\?\Volume{837cb503-b87a-11dc-9686-806d6172696f}\
                E:\

            \\?\Volume{f4b0a7cc-b409-11dd-a422-005056c00008}\
                P:\

            \\?\Volume{a0c6b2bd-b420-11dd-a423-005056c00008}\
                Q:\

            \\?\Volume{837cb502-b87a-11dc-9686-806d6172696f}\
                A:\

        As for Windows XP Pro's NTFS partitions, I don't have any set up so, I'm not sure how they would show up under "mountvol /L" or if they would have the same or different UUIDs as the volumes. Can anyone shed light on this?

        I thought I also read that there is no way to change a Windows NTFS volume's UUID directly. Everything I read suggested formatting the drive and starting over to change it. However, with  a Clonezilla image, that's not really an option, is it? I guess you could restore to a virtual volume then copy the contents to a physical volume, but that seems overly complicated.

        Then there is the "Volume Serial Number" on Windows NTFS devices. I don't know if this is also on partitions or if it would be different, anyone? You can see the "Volume Serial Number" whenever you run a "dir" command, in the format of XXXX-XXXX.

        C:\>dir
        Volume in drive C has no label.
        Volume Serial Number is 748A-FE26
        ...

        According to a thread I found (http://ubuntuforums.org/showthread.php?t=869801&page=2), the "Volume Serial Number" can be changed using a tool (http://technet.microsoft.com/en-us/sysinternals/bb897436.aspx). Perhaps changing that would be enough of a difference to use the drives normally under windows?

        So, if the collision is in the "Volume Serial Number" you've got the means to change that. If not, I'm still not sure if it is possible to change a Windows NTFS volume,  device or partition UUID, sorry.

        Sorry for the long post, hopefully this will help others! Add what info you can and perhaps we can turn this into part of the Clonezilla help.

        Thanks!

        Alan

         
        • Steven Shiau

          Steven Shiau - 2009-08-18

          Alan,
          Thanks for the post. It helped.
          Yes, here I do not think there is a good way to change the UUID of NTFS file system. Maybe someday such a tool will be developed by someone else.

          Steven.

           
          • Orgad Shaneh

            Orgad Shaneh - 2009-08-19

            Actually, it should be quite simple. All you need to do is generate a UUID, and write it (64 bit) to offset 48h on the partition. Have a look here: http://www.geocities.com/thestarman3/asm/mbr/NTFSBR.htm

             
            • Orgad Shaneh

              Orgad Shaneh - 2009-08-27

              steven?

               
            • Steven Shiau

              Steven Shiau - 2009-08-28

              Orgad,
              Thanks for the reminding.
              If you can, could you please write this program, e.g.ntfs-uuid and release it under GPL?
              Script language is perferred. However, if you want to use C/C++, sure.

              Steven.

               
              • Orgad Shaneh

                Orgad Shaneh - 2009-08-30

                Here: uuid -F BIN | head -c 8 | dd of=$target_part bs=1 seek=72

                You need to have uuid package installed.

                Just make sure it is an NTFS partition beforehand, and use with care :)

                 
                • Steven Shiau

                  Steven Shiau - 2009-08-31

                  Orgad,
                  Cool. Thanks.

                  Steven.

                   
    • larryalk

      larryalk - 2009-08-10

      Hello Steven and thanks for your reply.  Since my original post I've gotten more info and see why Clonezilla clones everything including the UUIDs.  Also I have found out how to change the UUID of Linux partitions.

      Can you point to some information on how to change the UUID of my single Windows XP partition?

      Thanks,  Larry

       
      • Steven Shiau

        Steven Shiau - 2009-08-12

        I do not know any tool on GNU/Linux can be used to modify the UUID of a NTFS partition without destroying the data on that.
        if anyone knows that on this forum, please tell us.
        Thanks.

        Steven.

         
        • nai7

          nai7 - 2009-08-12

          larryalk, Steven, maybe Sysprep could take care of UUID? I know it takes care of many other Windows things, but I cannot find a specific reference to UUID. Also, according to this <a href="http://www.linglom.com/2009/01/05/clone-microsoft-windows-xp-using-sysprep-and-norton-ghost-part-ii-prepare-source-for-disk-duplication/">Blog guide</a> you have to run it on the system prior to imaging. If you try it, let us know what happens.

          Thanks!

           
          • Steven Shiau

            Steven Shiau - 2009-08-12

            Alan,
            Thanks. I believe sysprep can take care of the UUID on the NTFS file system. Since another project we have, http://www.drbl-winroll.org, can reset the UUID of the files on NTFS file systems.
            However, I thought larryalk wants a tool to change the "UUID of NTFS partition", not the files on the NTFS partition.
            Larryalk, could you identify which one you want ?
            Thanks.

            Steven.

             

Log in to post a comment.