Storage Pool Rebalance Stuck: Fix Interrupted Operation

When a storage pool rebalance gets interrupted by a power loss or drive removal, the pool can hang. Here's how to resume or force through it.

When This Happens

You're running a storage pool on Windows 10 or Server 2016/2019. Everything's fine until the power blinks. Or you yank a drive to hot-swap it. When the system comes back, you open Storage Spaces and see the pool status shows "Rebalancing" with no progress. Maybe it's stuck at 0% for hours. The pool is technically online, but you can't write or read files reliably. Sometimes the rebalance just won't resume, no matter how long you wait.

What's Going On

Storage Spaces uses a metadata log to track rebalance progress. When the operation gets interrupted—power loss, drive removed without disconnecting properly, or even a driver crash—that log can get out of sync. Windows thinks the rebalance is still running, but it's actually dead in the water. The pool's parity or mirror state is inconsistent, so the system refuses to move forward. It's not a hardware failure most of the time. It's a software lock that needs a kick.

The real fix isn't in the GUI. You have to use PowerShell to check the status and either resume or reset the operation. Don't bother with chkdsk or SFC first—those won't touch the rebalance state.

Step-by-Step Fix

Step 1: Open PowerShell as Admin

Right-click the Start button and pick "Windows PowerShell (Admin)". Click Yes on the UAC prompt. You need elevated rights to talk to Storage Spaces directly.

Step 2: Check the Pool Status

Get-StoragePool -FriendlyName "YourPoolName" | Select-Object FriendlyName, OperationalStatus, HealthStatus, IsReadOnly, IsClustered

Replace "YourPoolName" with the actual name of your storage pool. Look at the OperationalStatus column. If it says "Rebalancing" or "Repairing", that's the problem. Also check IsReadOnly—if True, you can't write until this is fixed.

Step 3: Check the Virtual Disks in the Pool

Get-VirtualDisk -StoragePoolFriendlyName "YourPoolName" | Select-Object FriendlyName, OperationalStatus, HealthStatus

You might see individual virtual disks stuck in "Detached" or "Degraded" state. That's normal when the rebalance is incomplete. Write down the names of any virtual disks that look problematic.

Step 4: Try Resuming the Rebalance

Sometimes the operation just needs a nudge. Run this:

Resume-StorageJob -StoragePoolFriendlyName "YourPoolName"

Check the pool status again after 30 seconds. If the rebalance restarts and shows progress (even 1%), you're done. Watch it for a few minutes to confirm.

Step 5: If Resume Doesn't Work, Repair the Virtual Disk

When resume does nothing, the virtual disk's metadata is corrupted. Force a repair on each stuck virtual disk. Replace "YourVirtualDiskName" with the actual name:

Repair-VirtualDisk -FriendlyName "YourVirtualDiskName" -Force

The -Force parameter bypasses the stalled state. You'll see a warning about data loss—ignore it if you have backups. This doesn't erase your data, it just resets the rebalance state. Wait for the command to finish (it may take 30 seconds to 2 minutes depending on pool size).

Step 6: Verify and Reset Pool Read-Only Flag

After repair, check the pool again:

Get-StoragePool -FriendlyName "YourPoolName" | Select-Object IsReadOnly

If it's still True, force it off:

Set-StoragePool -FriendlyName "YourPoolName" -IsReadOnly $false

Step 7: Restart the Storage Spaces Service

This clears any stuck background threads. Open Services (services.msc), find "Storage Service", right-click and pick Restart. Then go back to PowerShell and run:

Get-StorageJob -StoragePoolFriendlyName "YourPoolName"

If no jobs are listed and the pool status shows "OK" or "Healthy", you've fixed it.

Still Stuck?

If the pool still shows rebalancing after all that, you have a hardware problem. Check the physical disks in the pool:

Get-PhysicalDisk -StoragePoolFriendlyName "YourPoolName" | Select-Object FriendlyName, OperationalStatus, HealthStatus, Usage

Look for any disk with OperationalStatus of "Lost Communication" or HealthStatus of "Unhealthy". Replace that drive immediately. If all disks show healthy but the pool won't rebalance, try removing and re-adding one drive at a time (only if you have redundancy—don't do this on a simple pool with no parity or mirror).

One last trick: if you're comfortable with data loss risk, you can detach and reattach the pool entirely. In PowerShell:

Remove-StoragePool -FriendlyName "YourPoolName" -Confirm:$false
Restart-Computer
# After reboot, re-add the pool via Storage Spaces GUI

This is a nuclear option. Only do it if you've got a full backup of the data. Most of the time, the repair command alone will get you moving again.

Related Errors in Hardware – Hard Drives
0XC0000278 NTFS error 0XC0000278: reparse data invalid fix SD Card Shows Wrong Storage Size? Fix It Hard Drive Clicking Noise: Bad Sectors vs Head Crash Fixes 0XC000030B 0XC000030B: DVD Region Lock Permanently Set? Fix It Now

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.