Restore P2V Win10 in Hyper-V with Restore CD

I spent a few hours trying to get this restore done, and I thought I would write up my experience to save others some time. My work laptop died, and I was able to move the SSD to another laptop, but I wanted a VM copy of my laptop, just in case I don’t have replacement hardware in the future. I was toying with the idea that my “work computer” could be a “cloud computer”, I could access from anywhere and it would reliably run on a Hyper-V host in my home office. I’m lucky to have stable power and gigabit fiber, so remote access would not be an issue. ZeroTier One would be very helpful here, but I digress.

I am running Windows 10 Enterprise 1903 with all the latest updates and patches, on a Lenovo Thinkpad. The SSD drive has Bitlocker enabled.

The UrBackup server, ver. 2.4.10, is running on Debian Linux 9 Stretch, on a SFF Zotac PC. Backup storage is BTRFS. I only run image backups, no file backups.

I was trying to restore to a VM in Hyper-V on running on Windows Server 2019.

EDIT: I ran into an issue trying to reproduce my own steps. So here is a minor correction:

To run the Restore CD process, I created a temporary Gen.1 VM in Hyper-V, with the network adapter connected. Also, I created a new blank VHDX virtual disk with 1TB in size, to match the size of the laptop SSD I was trying to restore. (Yes, I know, 1TB SSD, aren’t I lucky) I used the Restore CD ISO ver. 2.3.1, which is the most recent version available at the time.

Then I booted to the Restore CD, and it connected to my server on the same LAN. I picked my work laptop client and and then picked the new empty VHD as the restore target. The restore process took a couple of hours, as the Zotac PC is only an Atom processor, but this was not an issue for me. At the end of the restore process, I did pick the option to prepare the restored image to work on different hardware. It scanned the system and determined that no drivers needed to be removed.

Once done, I shutdown the temporary Gen.1 VM, ejected the Restore CD ISO. I removed the VM, since there is no need for it anymore. I created a new VM, selected Gen 2, gave it 8 GB of RAM and a couple of CPU cores, no network card temporarily (because the laptop is running on the same network, and I didn’t want any conflicts), I mounted the VHD with the restored data from the previous step under the SCSI controller. Also, Secure Boot was enabled, with the “Microsoft Windows” template selected, and booted up the VM. And low and behold, it booted to my Windows 10 login screen, accepted my cached domain password and loaded up the very colorful desktop with a sunset wallpaper, courtesy of DisplayFusion Pro. I digress again.

I did not have to fix the MBR, or boot from a Windows install ISO or use any recovery software, like Acronis. I think the key here was using the Gen.2 VM in Hyper-V, with the Secure Boot option enabled.

The few hours I spend in vein, I did struggle to get the restored VHD working with a Gen.1 VM, and Windows would not boot. I would always get a blinking cursor on a black screen. I tried mounting the VHD as IDE, as SCSI. I ran Windows Startup Repair and FixMBR and bootrec, and Recovery Command Prompt, with chkdsk repair, and all that jazz. None of it worked. Then I started from scratch, using a copy of the VHD originally created by the Restore CD, using the Gen.2 VM settings and it worked right away.

I hope this helps somebody.

EDIT: Corrected steps.

2 Likes

Hi Flatlinebb,
Thank you for sharing your experiences.
I’m planning to backup Hyper-V VMs with urbackup image backup as well (at the moment I am creating a snapshot and doing file backup). Your “how-to” will save me a lot of time.
Cheers
Ironiff