During p2c with VMware converter of an ubuntu 8.04 server the UUIDs of the disk change with respect to the original UUIDs on the phisical machine.
The converter updates the paths in /boot/grub/menu.lst accordingly.
Unluckily, we found that if the kernel is updated, then debian packages will run "update-ubuntu" script to add an entry in menu.lst, overwriting the UUID changes made by converter and replacing the phisical UUID. This happens because the UUID for root is not read by blkid, but taken from a static line in menu.lst itself, the one beginning with kopts!
To fix this you have to boot by editing grub line and providing the correct UUID or path for root, then edit menu.lst, place the right UUID for root in kopts (find them with blkid), run update-grub.
This will NOT directly fix menu.lst!!! It will create an updated version of PART of menu.lst in
you have to replace the corresponding kernel image list by manually merging this file and menu.lst.