After I have copied over the contents and rebuilt the initrd, I then tried to run grub-install only to get this in return:
The file /boot/grub/stage1 not read correctlyIt turns out grub failed to install due to differences in the ext4 filesystem (either inode size, features and so on); on the origin server it was ext4 with CentOS 6 defaults, while the VM's was prepared from a CentOS 7 LiveCD. `tune2fs -l` should be able to show all this info.
The solution was to re-format the VM partitions from a CentOS 6 CD, after which I had no more problems.
HTH