Yeah, that error is annoying. You're sitting there, disks are healthy, dynamic, ready to go — and Windows just says "nah." I've seen this hit after a fresh Server 2016 or 2019 install when someone tries to set up a mirror on a second disk that's still MBR.
The quick fix: Convert the target disk to GPT
- Open Disk Management (diskmgmt.msc).
- Right-click the disk you want to mirror onto — the one that's not the boot drive — and choose Convert to GPT Disk.
- If that option is grayed out, you've got data on it. Back it up first, then delete all volumes, and try again.
- After conversion, both disks must be dynamic. Right-click each disk and pick Convert to Dynamic Disk if they're not already.
- Now right-click the volume you want to mirror, choose Add Mirror, and pick the GPT-converted disk.
That's it. The mirror will start resyncing in seconds. I've done this on maybe two dozen servers — it's never failed when both disks are GPT dynamic.
Why this works
Windows Volume Manager (VolMgr) has a hard rule: mirrored volumes must sit on disks with the same partition style. If your boot disk is UEFI (almost always GPT on Server 2016/2019), and the second disk is still MBR, VolMgr throws 0xC038005B. It doesn't tell you that directly — it just says "not supported." The real problem is a partition table mismatch.
MBR is limited to 2TB and max 4 primary partitions. GPT handles modern drives and is required for UEFI boot. Microsoft quietly tightened this in later builds of Server 2016 — you can't mix styles in a mirror anymore. No workaround exists for keeping MBR. Convert it and move on.
Less common variations
Both disks already GPT but still get the error
- One of them might be read-only or have a bad sector. Run
chkdsk /fon each disk. If that doesn't fix it, check the disk's status in Disk Management — if it says "Failed" or "Not Initialized," replace the disk. - Sometimes a stale driver causes this. Update your storage controller driver (especially on HP ProLiant or Dell PowerEdge with RAID controllers).
Error appears in Server Manager, not Disk Management
- Launch
diskpartfrom an admin prompt. Runlist disk— verify that both disks show Dyn and Gpt under the Flags column. If one shows MBR, useconvert gptafter cleaning it (data loss — backup first).
Mirror works initially, then fails after reboot
- This is usually a missing or corrupt Volume Manager driver. Open Device Manager, expand Storage controllers, right-click Microsoft Storage Spaces Controller (if present) or Standard NVM Express Controller, and update the driver to the latest from your OEM.
- Alternate cause: the second disk is connected via a HBA or external enclosure that doesn't support dynamic disks. Move it to an internal SATA or SAS port.
Prevention
Before you even start:
- Check your boot method. If it's UEFI (which it should be on anything from 2016 onward), convert every mirror-ready disk to GPT before making them dynamic.
- Use
diskmgmt.mscordiskpartto verify partition style first. Don't assume a new drive out of the box is GPT — most are still MBR from the factory. - Keep your storage drivers up to date. I've seen buggy OEM drivers cause VolMgr to fail even on perfectly good disks. A driver update fixed it every time.
- If you're building a new server, set all data disks to GPT during the initial OS install. Saves you from this headache later.
One last tip: if you're still on Server 2012 R2, this error is rarer because it supports mixed partition styles in some scenarios. But don't rely on that — upgrade to 2016 or 2019 and use GPT consistently. You'll thank me when a disk fails and the mirror rebuilds without drama.