First round the CentOS5 was migrated to the new HDD 3TB,but failed to boot even I re-generate its UUID. After one week's think and research, finally I found that my motherboard doesn't have UEFI support. The error message is like below.
So the solution is to migrate it to the 2TB HDD. The steps are simple.
1. create new partition for / and swap.
2. Use gparted to copy the partition from 1TB HDD to the 2TB HDD partition /dev/sdb2 as shown below.
Before the copy, I gave beautiful label to the partition /dev/sdb2 (CentOS5_Root) and /dev/dba5 (CentOS5_Swap). In fact, these two labels will create new problem for me.
3. regenerate UUID for /dev/sdb2
4. I use GURB2 of ubuntu 15.04 as boot loader installed in SSD, so after copy centos5 I don't need to take care of the grub on this disk /dev/sdb . Was a doubt in my mind. To recognize the centos5 in /dev/sdb2, just issue sudo update-grub2
in Ubuntu, after which I see the /dev/sdb2 entry in the boot menu.
However, because I changed the two partition's LABEL and I didn't remember Volume Group was created in CentOS, caused I hit subsequent errors and spent me another two hours in the midnight.
mount: could not find filesystem '/dev/root'
Notice here not able to find root location /dev/root. As original "LABEL=/" is updated to Ubuntu grub.cfg. This seems Ubuntu grub doesn't know the LABEL being created in gparted.
After I updated root to use "LABEL=/CentOS5_Root", the booting process moved one step further.
This time, I learned faster and revert the two partitions' LABEL to original value. And finally it brings me the clean GUI.
References:
http://ubuntuforums.org/showthread.php?t=1786292
https://frankfzw.wordpress.com/2014/12/23/migrate-ubuntu-14-04-from-hdd-to-ssd/
http://frugaltech.happystoic.com/ssdlinux
https://help.ubuntu.com/community/UsingUUID
https://help.ubuntu.com/community/MovingLinuxPartition
https://www.centos.org/forums/viewtopic.php?t=11207
https://theguyonthe3rdfloor.wordpress.com/2013/02/28/how-to-install-grub-2/