Haveyou tried it with Hyper-V? I managed to get it to work mounting it that way. Like mentioned, you have to match the BIOS you are using. If it is UEFI, you have to set it up to UEFI Boot, but then to have to point it to the Boot file EFI File.
Whatever I create using the disk2vhd app NOTHING WORKS TO OPEN THE FILES! I used Hyper-V, it wont open either the vhd or vhdx file. Says no OS. VBox drops me at the Shell>_ prompt. I really am upset because this was suppoded to be a fairly easy process that I cant seem to figure out!. Just make a file using disk2vhd, open it with vbox or hyper-v. Ugh NOOOO!!
To use the virtual hard disk file we have created with disk2vhd, we need to create a virtual machine in Hyper-V manager and add the disk to it. When we create a virtual machine with Hyper-V manager we have two types to choose from:
Many thanks. I used your instructions to get a windows 10 machine running that was not booting. The windows 10 disc and the same instructions worked. The only issue I had was that it would not work as Generation 1, but when I changed it to Generation 2 it booted.
I ran into this issue previously and it turned out that the volume was too small, so it probably failed to copy all necessary files. I picked a much larger volume and was able to proceed just fine. A tiny bit more space wasted but at least it worked. You can check to see if this applies to you.
BFSVC Warning: Failed to determine source OS Version
BFSVC Warning: Resource Files missing from c:\windows\boot\Resources
BFSVC Warning: SerciceDebuggerFiles: C:\Windows\boot\BootDebuggerFiles.ini does not exit.
Hi workinghardinit,
I had to come back and comment, I stumbled on the SOP regarding disk2vdh and though yah its another non working solution from the many I tried and from people claiming that they followed their solutions to the T and it worked. Man was I proven WRONG first try and I have the VM up and running that I struggled with the whole of last week. You my man deserves a medal. Thank You very Much!!!!!!!
Great article, thank-you for publishing. I have a Windows 10 Pro VHD file I created with disk2vhd. I have created a Virtual Box Machine with this disk file and have followed your instructions. I am unable to mark the BOOT partition as ACTIVE.
Hi there. These instructions made sense and were well laid out. I used disk2vhd to move a Windows 7 Ultimate installation to VirtualBox, which was originally drive D: on the Windows 7 machine. Your instructions seemed to do the trick (except for the /f ALL option seemed to be rejected) as I booted from a Windows 7 ISO. Then when I booted from the virtual HDD, it starts ok and then gives a BSOD. Tried to boot in SAFE mode to remove the drivers but got the BSOD as well. Any tips??
The generation 2 issue is related to Hyper-V VMs. So moving an old physical machine is a bit of a different beast. The main reason for failure is not having selected the hidden system partitions along with the boot partition. Now virtual box on Windows 10 is not going to work without turning off or not using many of the security built-in to Windows 10.
Diving into the IT-specific intricacies of booting a disk. While this can all be done, doing so over e-mail or comments is very time consuming and tedious. But if the Disk2VHD went well and you have all the partitions look into BCDedit to check partition you boot from if not check this post on how to deal with hidden partitions. -generated-vhd-is-not-bootable
Normally unrelated. Many issues can prevent an ugrade. Stat by running the DISM commands to check & restore health: -us/windows-hardware/manufacture/desktop/repair-a-windows-image check the logs and dive in to find the root cause.
Hi, I think you nailed it with this awesome article. Peculiar use case here but still wanted to get your opinion: Windows 7 P2V conversion using Disk2VHD and the end result was .vhdx. The source box had IDE controller and Gen 2 VMs can only have SCSI. Is there any hope for me here? Thank you
You can always get it to work on a generation 1 virtual machine. When that is all done you can convert a generation 1 virtual machine to a generation 2 virtual machine with a script John Howard (MSFT) created many years ago. Take a look here for the latter -on-using-convert-vmgeneration-ps1-with-windows-server-2016/ I have adapeted the script successfully to work on Windows Server 2019 and will soon have to domit to run on Windows Server 2022.
The WorkingHardInIT blog is a non commercial blog where technical information is shared with the global community. We only store the minimal data need for the shortest amount of time to be able to run the website and let you interact with it. We never share and/or sell any personal or general information about this website to anyone.
Another option is to have a transactional-consistent conversion, which you need when running SQL Server, Exchange, SharePoint or similar applications on a machine. The ideal case would be to schedule maintenance time for this server, stop those services prior to conversion and/or turn the network adapter off.
NOTE: VHDX is a new disk format that was introduced in Windows Server 2012. Compared to traditional VHD, VHDX has several improvements, including a special internal log to reduce the chances of data corruption, a bigger capacity (up to 64 TB) and other great features. I recommend using VHDX whenever possible.
NOTE: Choose your VM generation carefully. Starting with Windows 2012 R2, Hyper-V has a new option: Generation 2 virtual machine. This is a second generation firmware for VMs with a revised set of virtual hardware and new opportunities for users, such as a boot from an SCSI device. There will be more to come on this topic in future releases. Among noticeable limitations of Generation 2 VMs, is that there is no support for a guest OS older than Windows 8, not to mention Unix-like. Practically speaking, choose this only for Windows 8/8.1 or Windows Server 2012/2012 R2 and only for 64-bit builds.
I have a MacBook Pro with a Windows 10 partition running on Boot-Camp and I would like to convert the Windows 10 partition into a virtual disk/machine that I can use as a VM within a Windows hosted machine using Hyper-V.
While I have successfully created a virtual image of the Windows 10 partition using Hyper-V (and indeed disk2vhd) the problem that I subsequently have is that I am unable to load the a virtual machine using that virtual disk.
I have created a VHD and a VHDX disk image but I'm unable to boot-up a virtual machine that I create with Hyper-V using either disk on a Windows 10 host (I've tried both a native Windows 10 host and a Boot-Camp Windows host).
Firstly, creating the VM as a Generation 2 proved problematic because the hard-drive could only be attached to a SCSI adapter but this was unable to boot hence why I was getting the error "No x64-based UEFI boot loader was found". I'm not quite sure why this doesn't work but the solution here was to create the VM as a Generation 1 VM.
Secondly, while I had also briefly attempted to create a Generation 1 VM previously I was also unable to load the VM. More recently the error noted when I tried to load the Generation 1 VM was "Boot failure. Reboot and Select proper Boot device or Insert Boot Media in selected Boot device".
The solution was to create a Generation 1 VM and attach the Virtual Hard-Drive (either VHD or VHDX) to the IDE adapter and NOT the SCSI adapter and this allowed the VM to load with the virtualised BootCamp VM.
You may encounter many problems when using Hyper-V, for example, Hyper-V VM failed to change state, or Hype-V not booting from VHDX. For the former problem, you can click on the anchor text to jump to the page where I introduced the solutions. As for the latter one, there may be many reasons leading to it. Such as:
In fact, while VHDX is a virtual hard disk format, it is not particular to Hyper-V. For example, you can create VHDX files from physical Windows 10 disks via Disk2vhd. However, manual creating of UEFI boot partition will be needed in this way. Otherwise, you may encounter the problem Hyper-V Disk2vhd boot failure.
Therefore, if you want to perform Hyper-V physical to virtual conversion, it is recommended that you done it via file-based backup and restore. I will introduce it after 2 other easier solutions to this problem in this article.
In this part, I will introduce 3 ways to solve the Hyper-V cannot boot VHDX problem. If the generation of your Hyper-V VM does not match the boot method, you can change it by the first 2 ways. And if there are problems converting a physical disk to VHDX, you can try the third way to perform it more safely.
2. Specify a Name for the virtual machine. And by checking Store the virtual machine in a different location option you can change the default storage. Click Next.
If your Hyper-V not booting from VHDX after it is created from a physical disk, it may because you performed the P2V operation improperly. Actually in this regard, backup everything on the physical disk and restore it to the virtual machine is a safe, effective, and affordable solution.
Starting from Windows Server 2012 R2, you can create Hyper-V VMs of generation 2, which differs from generation 1 in firmware and boot technology. Generation 2 VM uses UEFI boot, while generation 1 can only boot by legacy BIOS.
2. Then, download the Windows ISO of the version corresponding to your VHDX. For example, if you are trying to convert a Windows Server 2019 machine into VM, you need to download the ISO file of Windows Server 2019.
To avoid Disk2VHD boot failure in Hyper-V, you can take a backup-and-restore way for P2V or V2V migration. Compared to a direct conversion, this method is less likely to mess up your operating system, and you have the flexibility to choose what data to migrate (systems, partitions, or files).
3a8082e126