If you get the message "Operating system not found" you will need to install grub to the virtual hard disk. To do this boot a liveCD (such as clonezilla).
As root run grub, at the grub> prompt type:
grub> find /boot/grub/stage1
This will return the location of grubs stage one, make a note of this location for the next command. Type
grub> root (hd0,0) < this is the location returned by the last command
Now install grub to the master boot record (MBR) with:
grub> setup (hd0)
then quit grub with:
Reboot to get the grub menu but if you let it try and continue using the default settings it will very likely hang because it will try to use a block device name that begins with xvd, these are xenserver specific and will not exist on the VMware VM. To get it to continue booting you need to hit 'e' on the grub selection screen, then edit the boot line to replace the device that looks like /dev/xvda1 and made it look like /dev/sda1, also remove the "console=hvc0" otherwise you will not be able to see interact with your OS via the console (hvc0 is another xenserver specific device name).
Once we have booted the system we need to go about preparing the system to boot correctly when left to it's own devices (geddit?), firstly ensure the keyboard keymap is set up correctly with:
# dpkg-reconfigure console-data
Edit /etc/fstab to change all references to xvd devices to sda in /etc/fstab
On many of the machines I transferred using this method I found that they had no swap partitions after the transfer. So I simply set the disk size slightly bigger than the source disk when initially creating the VM in vSphere, then added a partition with fdisk. I usually set the swap partition as /dev/sda2.
You then need to make that partition a swap partition with (I have found often that a reboot is required before the command works):
# mkswap /dev/sda2
Then you can mount it with:
# swapon /dev/sda2
And see if the swap space is available with:
Don't forget to update /etc/fstab so it is pointing to the correct device for the swap partition so it is automounted at boot.
The CDRom is set to /dev/hdc unless you have changed the VM's hardware settings, update this in /etc/fstab as well.
We need to change grubs configuration so that it automatically boots a with appropriate parameters, this information is stored in /boot/grub/menu.list. You can achieve this by either running the following commands:
sed -i 's/xvd/sd/g' /boot/grub/menu.lst
sed -i 's/console=hvc0//g' /boot/grub/menu.lst
Or edit /boot/grub/menu.lst, find the line that begins # kopt, remove the console=hvc0 from the end and change the "xvd" device to the correct boot device. move down to the botton where the menu choices are configured and change the device and remove the console=hvc0 from each of the one you will likely use (the top one only in my case).
Edit /etc/inittab and comment out the line that begins "co:"
Remove the xenserver specific packages from your apt sources list with:
Update your packages list:
Remove all the kernels that are installed with:
apt-get remove linux-image*
You will get a warning asking about the removal of the running linux kernel, say "No" to this as we will install another one that we can get headers for in the next step.
Install a more appropriate kernel with:
apt-get install linux-image-2.6-686
Reboot to run the newly installed kernel.
Install VMware tools, details of how in my post here, then reboot to test.
To get the most out of the VM you should switch hardware to paravirutal drivers for SCSI controllers and NICs.