I am posting this because it wasn’t obvious just from searching the knowledge base. I was recently converting some VMs running under Windows 2008 R2 to Windows 2012 R2 and dismayed to find out that I could not import the VMs into 2012 R2 that I exported from Windows 2008 R2. It turns out this is just a case of doing more than you need to do. All you need to do is shut down the 2008 R2 VMs, copy the files directly to the location you want them on in the Windows 2012 R2 server and then import them.
That is right, you just import them even without exporting them. If you export them, you can’t import them. This is explained in more detail in http://blogs.technet.com/b/rmilne/archive/2013/10/22/windows-hyper-v-2012-amp-8-1-hyper-v-did-not-find-virtual-machine-to-import.aspx
There are a few caveats, you need to reconnect the network adapter and if you might get prompted for the exact location of the virtual hard drives if you’ve moved things around some from the original setup. Also, be sure to manually edit the .vhd hard drive files to update location for the parent of any differenced discs.
There is also the option to upgrade to the new .VHDX format for the drives. That can be done without updating to generation 2 for the virtual machine configuration (requires Windows 2012, Windows 8 or later to be on the guest VM). There are significant scalability and performance advantages with the .VHDX format, especially for SSD and newer drives that natively use 4K sectors. This is explained in http://blogs.technet.com/b/askpfeplat/archive/2013/09/09/why-you-want-to-be-using-vhdx-in-hyper-v-whenever-possible-and-why-it-s-important-to-know-your-baselines.aspx
I’ve started using the new .vhdx format for my legacy Windows 2008 R2 guest machines and they work well.