• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Info I successfully imaged a customer's old PC's Windows installation and presented it as a virtual machine on new PC

My previous little project here:

... gave me an idea. A customer's old PC essentially died, so I used sysinternals' disk2vhd, which created a vhdx file that Virtualbox claims to handle but apparently can't, so I followed this guide here with this command:

Code:
"C:\Program Files\Oracle\Virtualbox\VBoxManage.exe" clonemedium disk D:\path\to\image.vhdx D:\path\to\newimage.vdi --format vdi

I converted it to vdi format which VB can handle, then set up a basic Win10 VM and now I can boot the old PC's install of Windows on the new PC. Yay!

- update -

On Linux, I found a method that's miles easier than sysinternals' disk2vhd (the problem with that being when you mount the physical disk on another Windows system, you have to untick all the volumes that are part of the host system so you don't end up with a messy and probably nonfunctional disk image).

Code:
sudo vboxmanage convertfromraw /dev/sdb /path/to/new.vdi --format VDI
sudo chown mike new.vdi

/dev/sdb is the device path to the disk in the unix filesystem, my quick way to find this out is to run the Disks utility on Linux Mint and select the disk you're interested in, it will tell you where its device path is.

The second command is because the first command has to be run as root, then the resulting file is owned by root, so you'll want to have your user own it so you can have read/write access to it.
I'll update the OP so it's all in one place.
 
Last edited:
I'm actually surprised that worked. I thought most OEM Windows installs had a license tied to the motherboard. Maybe that's changed?
 
Even with the old install of Windows being disconnected from the Internet, Office 2013 is claiming that it needs reactivating, so that deprived me of one bit of evidence (the account it was likely registered to), but that's not a problem in this case.
 
Hey this has potential I can think of several cases where this would have been a great solution!

Yep, like when a board has died and the customer has saved passwords in chrome derivatives, as long as the drive is removable.

It's also handy when migrating from one desktop PC to another without enough equipment to have both up and running to do comparisons / double-checking work.

Disk space is a potential problem though, the vhdx image was ~70GB, convert that to vdi there goes another ~70GB (you could delete the vhdx afterwards though), fortunately in this case the customer wanted a 1TB SSD in the new PC. The vdi file could be trimmed by emptying out restore points, sdelete C: -z, then running the vboxmanage compact command on the vdi.
 
Does this requires the PCI-PCIe pass-through support? Do any vendor-specific drivers balk when loading?

Nope. Prep the data source, set up a basic Win10 VM in Virtualbox (nothing needed like matching EFI configs), point it at the datasource, fire it up.

I haven't bothered trying to get the virtualbox video driver going, I just wanted some access to the live Windows install.
 
On Linux, I found a method that's miles easier than sysinternals' disk2vhd (the problem with that being when you mount the physical disk on another Windows system, you have to untick all the volumes that are part of the host system so you don't end up with a messy / nonfunctional disk image).

Code:
sudo vboxmanage convertfromraw /dev/sdb /path/to/new.vdi --format VDI
sudo chown mike new.vdi

/dev/sdb is the device path to the disk in the unix filesystem, my quick way to find this out is to run the Disks utility on Linux Mint and select the disk you're interested in, it will tell you where its device path is.

The second command is because the first command has to be run as root, then the resulting file is owned by root, so you'll want to have your user own it so you can have read/write access to it.
I'll update the OP so it's all in one place.
 
Last edited:
Back
Top