Boot Loader Did Not Load in Hyper-V VM

Wally96333

Senior Member
Joined
Feb 26, 2020
Messages
5
I am using Hyper-V in Windows 11 Pro. I have very little experience with Hyper-V and VMs, so treat me like I'm a 7-year-old.

I've been using a USB drive in a virtual machine. I've been following the operation where I start the VM, open disk management on the host machine, take the USB drive offline on the host machine, then open the settings on the VM, click on SCSI Controller, select "hard drive", click on Add, select the physical hard disk (USB drive), click apply, then "connect" on the VM.

This has been working just fine, until now.

When I try to start the VM, I get the following error message:

-------------------------
An error occurred while attempting to start the selected virtual machine(s)

Checkpoint operation failed

production checkpoints cannot be created

Cannot take checkpoint

checkpoint operation for 'VM_01' failed

Production checkpoints cannot be created for 'VM_01'

Cannot take checkpoint for 'VM_01' because one or more pass-through disks are attached.
-------------------------

When I open settings, then SCSI Controller, I do not see another hard disk, other than the hard disk for the boot, and the (standard) DVD entry.

I tried rebooting the host system. That didn't do any good.

I tried to disable checkpoints, then start the VM. It starts. I then try to connect, and I get a window that says:

-------------------------
Microsoft Hyper-V UEFI

Virtual Machine Boot Summary

1. Unknown Device
The boot loader did not load an operating system.
2. SCSI DVD (0,1)
The boot loader failed.
3. Network Adapter
A boot image was not found.
[NOTE: I turned the network adapter off, so that is to be expected.]
4. SCSI Disk (0,2)
The boot loader did not load an operating system.

No operating system was loaded. Your virtual machine may be configured incorrectly.
Exit and reconfigure your VM or click restart to retry the current boot sequence again.

[BUTTON> Restart now]
-------------------------

I click on "restart now", and it goes into the Windows installation sequence (which I would rather not do).

I get the impression that the VM has an internal entry of some kind for a USB device that is not actually attached, but is not showing up in settings.

I have been stuck on this all day, and I very much hope that there is someone who has a very simple solution to this that I am completely unaware of and can clue me in before I jack around and make this situation worse.

If nothing else, is there a way to do a repair install on the VM?

I am dreading the prospect of having to rebuild the VM from scratch.

Any assistance with this would be appreciated.

Thanks!
 

Why this happened (plain English)​

  • Hyper‑V doesn’t like “pass‑through” disks (your USB set as a Physical hard disk). When a pass‑through disk is attached, Hyper‑V can’t make Production/Automatic checkpoints, so it throws that checkpoint error.
  • After you disabled checkpoints the VM started, but it can’t find a bootable hard drive. Either:
  • there’s a “ghost” pass‑through disk still attached in the VM config, or
  • the real OS VHDX isn’t first in the boot order (or isn’t attached), so it falls back to the DVD/ISO and shows Windows Setup.

Fix it step‑by‑step (do this in order)​

1) Fully shut down the VM (not just “turn off”), then close its console window.
2) Remove the ghost pass‑through disk and confirm what’s attached
  • In Hyper‑V Manager > right‑click VM_01 > Settings > SCSI Controller:
  • If you see any “Hard Drive” that says “Physical hard disk”, Remove it.
  • Still in Settings > Checkpoints: make sure “Enable Checkpoints” is unchecked (at least while we fix this).
  • Optional but easy check via PowerShell on the host:
    Code:
    Get-VMHardDiskDrive -VMName 'VM_01' |
    ft ControllerType,ControllerNumber,ControllerLocation,Path,DiskNumber
  • Rows with a DiskNumber and blank Path = pass‑through. Remove them with:
    Remove-VMHardDiskDrive -VMName 'VM_01' -ControllerType SCSI -ControllerNumber <num> -ControllerLocation <num>
3) Make sure your real OS disk (the .vhdx file) is attached
  • Settings > SCSI Controller > Hard Drive:
  • You should see “Virtual hard disk:” with a Path ending in .vhdx (this is your OS).
  • If it’s missing, click Hard Drive > Add > select “Virtual hard disk” > Browse to your OS .vhdx and Apply.
4) Fix the boot order and DVD
  • Settings > Firmware:
  • Put “Hard Drive” at the top of the boot list.
  • Expand Hard Drive and make sure your OS .vhdx is listed.
  • Move “DVD Drive” below Hard Drive, or eject the ISO in the VM window later (Media > DVD Drive > Eject).
  • Secure Boot: if this VM runs Windows, set Template to “Microsoft Windows” and leave it enabled.
  • Start the VM. It should now boot your OS instead of the installer.

If it still won’t boot​

  • Try Startup Repair:
  • Mount a matching Windows ISO in Settings > DVD Drive.
  • Boot the VM, press a key to boot the ISO, choose Repair your computer > Troubleshoot > Startup Repair.
  • If Startup Repair fails, we can rebuild the boot files (one small command). Say the word and I’ll paste kid‑friendly steps.

Safer way to use your USB with Hyper‑V (so this doesn’t happen again)​

  • Avoid pass‑through disks. Instead:
  • Create a VHDX file on the USB drive (Hyper‑V Manager > Action > New > Hard Disk > VHDX).
  • Attach that VHDX to the VM (SCSI > Hard Drive > Add > select the VHDX).
  • Inside the VM, initialize/format it once in Disk Management. This works with checkpoints and won’t break boots.

If you get stuck, tell me:​

  • A screenshot of the VM’s Firmware page (boot order).
  • The output of:
    Code:
    Get-VMHardDiskDrive -VMName 'VM_01' |
    ft ControllerType,ControllerNumber,ControllerLocation,Path,DiskNumber
    With those two, I can give you exact “click here, type this” instructions.
 
I've followed your instructions and managed to get the VM to boot.

THANK YOU SO MUCH!!!

I am looking at the third point in the alternative to the pass-through. The USB drive has lots of data on it with multiple partitions. Will this wipe the drive (which would be a catastrophe)?
  • Inside the VM, initialize/format it once in Disk Management. This works with checkpoints and won’t break boots.
 

Short answer​

No. Creating a VHDX on the USB and then “initialize/format” it inside the VM will NOT wipe your existing USB partitions. You are only formatting the new virtual disk file (the .vhdx), not the physical USB drive. The only thing that changes on the USB is: a new .vhdx file appears and takes up space.

Do it safely (kid‑simple steps)​

1) On the host, keep using the USB normally (do NOT take it offline).
2) In Hyper‑V Manager (host): Action > New > Hard Disk > VHDX > Dynamically expanding > choose a size > save it onto your USB drive (for example E:\Data.vhdx).
3) Attach that VHDX to your VM (Settings > SCSI Controller > Hard Drive > Add > browse to E:\Data.vhdx > Apply).
4) Start the VM. Inside the VM, open Disk Management. You’ll see a brand‑new “Unknown, Not Initialized” disk with the size you chose (that’s the VHDX). Initialize it (GPT is fine) and create a new simple volume. This touches only the VHDX.
Tips to avoid accidents:
  • In Disk Management inside the VM, only work on the disk whose size matches your new VHDX. Don’t touch anything else.
  • Don’t mount the same VHDX on the host while it’s attached to the running VM. One at a time.
  • If you need multiple partitions, you can either create several VHDX files or make multiple partitions inside one VHDX.

How to get your existing files into the VHDX​

  • Easiest: Copy them in from the host via a share (right‑click the USB drive on the host > Share… > give Everyone read/write > in the VM, open \<host‑PC‑name>\<share>).
  • Or temporarily detach the VHDX from the VM, right‑click the .vhdx on the host > Mount, copy files into it, then Eject and re‑attach it to the VM.
If anything here feels scary, tell me the size you chose for the VHDX and I’ll point out exactly which “Disk X” to click so you don’t risk the real USB.
 
OK - just to clarify:

I would create a .VHDX file in each partition, then copy the entire folder structure for that partition into the .VHDX file at the host level?
 
Yes—that plan works. You can put one VHDX file inside each USB partition, then copy that partition’s folders into the VHDX. You’re just filling a big “container file” that lives on the USB; you are not reformatting the USB itself.
How to do it safely
  • On the host, leave the USB online. In each partition, create a VHDX (e.g., E:\Work.vhdx, F:\Photos.vhdx). Pick a size a bit larger than the data you’ll move there; “Dynamically expanding” is fine.
  • Attach each VHDX to the VM (Settings > SCSI > Hard Drive > Add), boot the VM, then inside the VM initialize/format the new disks (NTFS is best).
  • Copy your data into the VHDX:
    • Easiest: Share the USB folder from the host and copy inside the VM from \HostName\Share to the new VHDX drive(s).
    • Or do it on the host: Detach the VHDX from the VM, right‑click the .vhdx > Mount, copy files in, then Eject and re‑attach to the VM.
  • To preserve timestamps/permissions (optional), use on the host or in the VM:
    robocopy "E:\OldPartitionRoot" "X:\" /E /COPY:DATSO /DCOPY:T /R:1 /W:1
    Replace X: with the mounted VHDX’s drive letter.
Important notes
  • Don’t mount a VHDX on the host while it’s attached to a running VM.
  • Make sure there’s enough free space in each USB partition for the VHDX file plus growth.
  • This is perfect for data partitions. If any USB partition was bootable or BitLocker‑encrypted and you need it exactly as‑is, say so—we’d use a partition‑to‑VHDX capture (e.g., Disk2VHD) instead of file copy.
If you tell me the sizes of your partitions and about how much data is in each, I’ll suggest VHDX sizes and the exact click path for your setup.
 
To clarify: On the four steps listed in your post for creating the VHDX and migrating the data into the VHDX, are the third and fourth steps mutually exclusive (either/or)?
 

Short answer​

Yes—those two copy methods are either/or. Do only one at a time.

Pick one of these paths​

Option A: Copy inside the VM (via a host share)
  • Attach the VHDX to the VM.
  • Boot the VM, then in the VM’s Disk Management: initialize/format the new disk.
  • Share the USB folder on the host and copy files from \HostName\Share into the new VHDX drive inside the VM.
Option B: Copy on the host (by mounting the VHDX)
  • Do not have the VHDX attached to a running VM.
  • On the host, right‑click the .vhdx > Mount.
  • If first time, initialize/format it in the host’s Disk Management.
  • Copy your folders into the mounted VHDX drive letter.
  • Eject the VHDX, then attach it to the VM.
Notes
  • Never mount a VHDX on the host while it’s attached to a running VM.
  • You can initialize/format either in the VM (Option A) or on the host (Option B)—not both, and not simultaneously.
  • Repeat the same process for each partition’s VHDX.