| Previous | Next |
| ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE | ERROR_VOLMGR_PACK_CONFIG_OFFLINE |
ERROR_VOLMGR_BAD_BOOT_DISK
What this result says about the disk model: volmgr bad boot disk
The practical meaning of ERROR_VOLMGR_BAD_BOOT_DISK (0xC038004F) is tied to logical volume geometry and the disk extents that realize it: the disk that carries boot-critical volume metadata is reporting failures that make the planned layout change unsafe. The result does not, by itself, prove file-system corruption or physical-media failure.
Capture the exact object instance
| Storage diagnostic field | Value |
|---|---|
| Owning object | logical volume geometry and the disk extents that realize it |
| Rejected invariant | the disk that carries boot-critical volume metadata is reporting failures that make the planned layout change unsafe |
| Identity and generation | pack and volume IDs, input structure version and sizes, transaction ID, disk-layout snapshot before the call and the first kernel storage event |
| Narrow experiment | serialize the exact VM_VOLUME_LAYOUT buffer, validate every count and Size field, and compare it with a layout produced by a known-good management API |
| Closest comparison | ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE |
Do not overwrite this result with a close, detach or rollback error. Preserve the causal order so the original storage contract remains visible.
Prove the condition in a test volume
- Before changing state, freeze the failing generation and save pack and volume IDs, input structure version and sizes, transaction ID, disk-layout snapshot before the call and the first kernel storage event.
- Exercise this exact comparison: serialize the exact VM_VOLUME_LAYOUT buffer, validate every count and Size field, and compare it with a layout produced by a known-good management API.
- During the comparison, keep image bytes, unrelated disks, provider policy and cluster topology fixed.
- After the test, record the next return value and the durable object state; crossing the boundary should expose a later result rather than silently retrying.
A useful diagnostic fork is ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE versus this result. This code concerns the disk that carries boot-critical volume metadata is reporting failures that make the planned layout change unsafe; the alternate code should remain observable after the fix, proving the application did not suppress the entire subsystem.
Mechanism-specific note
Boot-critical placement raises the safety bar because losing the disk can affect both startup and the dynamic-disk configuration. Preserve storage health, path redundancy and recent I/O errors. Move or repair boot dependencies through supported boot and storage tooling; a successful metadata write alone does not prove the system remains bootable.
Safe recovery path
Restore access to the identified disk or extent and confirm its identity and health; do not substitute a different disk merely because its size matches. Keep the correction scoped to the owning object and avoid rewriting adjacent metadata merely to make the call return success.
- The controlled A/B case changes only the invariant that triggers this result.
- No unrelated disk, cluster owner, tier policy or virtual-disk backing file is altered to hide it.
- Health, synchronization or job state reaches a terminal value consistent with the repaired operation.
- Telemetry includes both symbolic names when it or
ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGEoccurs again.
Technical references
- Microsoft: COM error codes for VOLMGR, VHD and SDIAG — use this source to verify volmgr state and parameters.
- Microsoft: Virtual Disk Service object model — documents the supported management path relevant to this HRESULT.
- Microsoft: Pack object — defines the volmgr objects used to interpret it.
- Microsoft: Virtual Disk Service common return codes — primary API or object-model reference.
Looking for a different code? Search another status or error code.