Note: this is related to this issue, but I don't think it is the same.
I am running ubuntu 12.10, which exists in a certain partition on my /dev/sda drive.
I have ubuntu 10.10 running on /dev/sdb1.
Using gparted, i cloned /dev/sdb1 to /dev/sda12.
I modified /dev/sdb1 so that it would have a different uuid with
I also edited /etc/fstab (on the /dev/sdb1 partition) to use the new uuid.
Then, while booted into ubuntu 12.10, I ran:
sudo grub-install /dev/sda
This created a new menu entry for /dev/sdb1 (which i can sort of read in /boot/grub/grub.cfg) which is partially but not totally correct. The part which is right is the text immediately following menuentry (where i can see the new uuid). However, the boot command is wrong: it has the old uuid in it. And sure enough, if I go to the grub menu, it boots into /dev/sda12 instead of /dev/sdb1 when I choose the menu entry that should boot to /dev/sdb1.
I am aware that i can set up a custom menu option, and that I can also turn off identifying disks by uuid (in configuring grub).
However my question is how to force grub to do the right thing, and use the right uuid for the menu option. That is, i would like to comprehend my system a little more completely.
So I would like to know the complete list of files and attributes I have to modify (it must consist of more than just /etc/fstab on /dev/sdb1).