When This Happens
You check your drive properties in Device Manager and see "Enable write caching on the device" is unchecked. You check it, click OK, and everything seems fine. Then after a reboot—or sometimes right after a Windows Update—it's back to being disabled. This happens most often on internal SATA SSDs and HDDs, but I've seen it on NVMe drives too. The trigger is usually a power loss, a driver update, or a Windows Feature Update (like going from 22H2 to 23H2).
Why It Happens
Windows has a setting called "write cache buffer flushing" that's tied to your disk's policy. When the system detects a problem—like a crash, a surprise shutdown, or a driver that doesn't support the cache properly—it flips the cache off to be "safe." The problem is, it never flips it back on. Microsoft's logic is: better safe than sorry. But for most users, the cache improves performance a lot, especially on mechanical hard drives. If you have a battery backup or a laptop with a working battery, turning the cache back on is safe.
The Fix: Two Methods
Method 1: Change the Policy in Device Manager
This is the quickest fix. But it might not stick if the system keeps resetting it.
- Press Win + X and choose Device Manager.
- Expand Disk drives. You'll see your drives listed there, like "ST1000DM003" or "Samsung SSD 860 EVO."
- Right-click your drive and choose Properties.
- Click the Policies tab.
- Under "Write-caching policy," select Enable write caching on the device.
- Below that, Turn off Windows write-cache buffer flushing on the device — leave this unchecked unless you know your power is stable. For laptops on battery, it's safer to leave it unchecked.
- Click OK. You should see a warning popup about data loss risk. Click Yes.
- Restart your computer. After it boots, go back and check if the cache is still enabled.
If it's still on, you're done. If not, move to Method 2.
Method 2: Lock It Via Registry (The Fix That Sticks)
This is what I use on my own machines. It tells Windows to stop overriding the cache setting.
- Press Win + R, type
regedit, and press Enter. - Go to this key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\disk\Parameters - On the right pane, look for DisableWriteCache. If it's not there, right-click a blank area, choose New > DWORD (32-bit) Value, and name it
DisableWriteCache. - Double-click DisableWriteCache. Set the value to 0 (zero). This tells Windows to leave the cache enabled. If it's set to 1, cache is disabled.
- Click OK and close Registry Editor.
- Restart your computer.
After the restart, check Device Manager again. The cache should be enabled. If it's not, go back to registry and make sure the value is still 0. Some updates can reset this key, so you might need to check again after a major update.
Note: If you're running a server or a system with a RAID controller, you might not see these options at all. That's because the controller manages the cache directly. In that case, check your RAID controller software instead.
What If It Still Fails?
- Check your drive firmware. Go to the manufacturer's site (Samsung, Western Digital, Seagate, etc.) and update your drive's firmware. I've seen firmware bugs that cause the cache to disable randomly.
- Run a disk health check. Open Command Prompt as admin and type
chkdsk C: /f. Let it run. Bad sectors can trick Windows into disabling the cache. - Disable Fast Startup. Go to Control Panel > Power Options > Choose what the power buttons do. Click Change settings that are currently unavailable. Uncheck Turn on fast startup. Fast Startup sometimes messes with the cache state on shutdown.
- Check your storage driver. In Device Manager, expand Storage controllers. Look for your controller (like "Intel SATA AHCI Controller" or "Standard NVM Express Controller"). Right-click it, choose Update driver > Browse my computer for drivers > Let me pick from a list. Try the "Standard NVM Express Controller" if available. Some manufacturer-specific drivers have bugs that reset cache settings.
If none of that works, you might have a hardware issue. Try the drive in another computer. If the cache stays on there, the problem is with your motherboard or controller.