Can't find /dev/disk/by-id/ after disk cloning?

I finished cloning my hard disk for backup purposes. Both the target and source disks are the same Western Digital drive models, identical right down to the firmware revision. Windows XP and Ubuntu seemed to accept the new drive just fine, but openSUSE is experiencing revenge of the clones, telling me: “Can’t find /dev/disk/by-id/ata-WDC_WD[long drive model/serial number].” This is right when the loading screen appears.

After that, I have a yes/no choice of reverting or falling back to that same long drive path or not. “Yes” makes it wait for the drive then go back to the command line when it fails. “No” goes straight back to the command line. What do I do to get it to accept the new disk? Would updating grub do any good?


Finally, one thing I should add is my openSUSE partition had errors according to Ubuntu and CloneZilla until a short while ago. I didn’t notice any adverse effects after using openSUSE all summer, but it had to be repaired before it could be cloned.

You need to edit /boot/grub/menu.lst and /etc/fstab to the new /dev/disk/by-id/ (drivemodel-serialnumber) since it is a identical model, just look on the drive for the serial number. I find that booting up Parted Magic and mounting the root partition allows for easy editing of the files.

In the fstab you can avoid the serial numbers by mounting everything by-label.

It is in the /boot/grub/device.map that the serial numbers need to be replaced.
It appears to be a science in itself to find out when which GRUB version uses this file at all and depending on which parameters.