| Previous | Next |
| ERROR_VOLMGR_BAD_BOOT_DISK | ERROR_VOLMGR_PACK_CONFIG_ONLINE |
ERROR_VOLMGR_PACK_CONFIG_OFFLINE
Why this is narrower than a generic disk error: volmgr pack config offline
ERROR_VOLMGR_PACK_CONFIG_OFFLINE has unsigned value 0xC0380050. In the volmgr layer, it rejects a specific contract because the pack configuration is deliberately offline, so online-only metadata operations are blocked. Diagnosis of this result should follow dynamic-disk pack identity, quorum and replicated configuration log through one controlled state transition.
Dynamic volumes are represented as packs containing disks and volumes; each volume has one or more plexes, and each plex is assembled from members and extents while diagnosing this result. Indices and counts are relative to the submitted layout generation, while configuration logs are replicated across participating dynamic disks. This object model determines which identifiers, counts and ownership state are meaningful.
Keep the first result attached to its request parameters and object generation while diagnosing this result. Cleanup failures or a later drive-letter change are secondary evidence, not replacements for the original boundary.
Storage facts that change the diagnosis
| Storage diagnostic field | Value |
|---|---|
| Rejected invariant | the pack configuration is deliberately offline, so online-only metadata operations are blocked |
| Identity and generation | pack GUID and name, online state, primary flag, disk inventory, configuration-log sequence numbers, quorum view and failing transaction ID |
| Narrow experiment | query the pack configuration state, perform one controlled online/offline transition, and repeat the identical metadata operation |
| Closest comparison | ERROR_VOLMGR_PACK_CONFIG_ONLINE |
| Owning object | dynamic-disk pack identity, quorum and replicated configuration log |
Keep this HRESULT as the primary result if rollback or cleanup reports another code; those later values describe recovery, not the first rejected invariant while diagnosing this result.
A/B test for this HRESULT
- Create a nonproduction case for it that preserves the same geometry and ownership model.
- Collect pack GUID and name, online state, primary flag, disk inventory, configuration-log sequence numbers, quorum view and failing transaction ID before invoking the first mutating API.
- Change one condition only: query the pack configuration state, perform one controlled online/offline transition, and repeat the identical metadata operation.
- Re-enumerate after the transition and confirm it is not reproduced by a stale handle from the old generation while diagnosing it.
Use ERROR_VOLMGR_PACK_CONFIG_ONLINE as the nearest comparison. It is specific to the pack configuration is deliberately offline, so online-only metadata operations are blocked; the neighboring result belongs to another validation or lifecycle branch. Keeping both names prevents a generic storage label from hiding the actual owner for it.
Mechanism-specific note
Pack configuration state controls which metadata transitions are legal; it is not the same as one disk being offline in Disk Management. Capture the pack state and the state of each disk separately, then perform one explicit state transition and refresh the pack object before retrying.
Corrective action and regression check
Repair the pack configuration through supported dynamic-disk management, preserving GUIDs and the newest valid log sequence; avoid sector-level edits to replicated metadata. After correcting it, reopen the pack, volume, tier, snapshot or virtual disk so no cached generation participates in the validation run for it.
- The original request now reaches success or a documented later status with the intended layout and access mode.
- A new enumeration reports internally consistent IDs, counts, geometry and ownership for the object corrected after it.
- The passing state survives the lifecycle transition relevant to it, such as reopen, remount, owner change or detach/attach.
- The application still distinguishes it from
ERROR_VOLMGR_PACK_CONFIG_ONLINEand has no unbounded retry loop.
A reboot, blanket disk conversion or deletion of storage metadata is not a justified first response to it; it changes multiple invariants and can erase the evidence needed to identify the defect.
Technical references
- Microsoft: COM error codes for VOLMGR, VHD and SDIAG — documents the supported management path relevant to it.
- Microsoft: Virtual Disk Service object model — defines the volmgr objects used to interpret it.
- Microsoft: Pack object — primary API or object-model reference for the boundary.
- Microsoft: Virtual Disk Service common return codes — use this source to verify volmgr state and parameters for it.
Looking for a different code? Search another status or error code.
