Portability issues with Linux under Virtual PC / Virtual Server

If you are like me – then you have quickly grown used to being able to move virtual machines around from computer to computer for convenience.  However – there is one specific problem with doing this with a Linux based virtual machine – and that is that most Linux distributions install kernels that are optimized for the processor type that is detected during installation.

This is great for performance on normal hardware – but results in the fact that if you install Linux on one processor type (say a Pentium IV) and then try to move it to another processor type (say an AMD64) the virtual machine will fail to boot (usually with an ‘Unrecoverable Processor Error’).  For the most part – there is not much you can do about this problem except for naming your Linux virtual machines such that you can remember which processor type they were built on.