Disable ReadyBoost encryption and compression

By default Microsoft Windows uses compression and encryption for ReadyBoost caches. It’s fine unless your CPU resources are very limited. There is a way to create ReadyBoost cache that is not compressed nor encrypted to save some CPU cycles. According to Microsoft docs encryption cannot be disabled on removable devices, only on fixed internal ones. There are ways to make USB drive appear as fixed drive instead of removable drive that worked for me.

If you are trying to create persistent ReadyBoost cache that can survive restart your are out of luck this will not allow this. In case you use Windows 10, ReadyBoost cache can survive shutdown but not the restart.

This is undocumented behavior, please consider that this can have some side effects and use it on your own risk.

  1. Disable ReadyBoost on target device if you have enabled it before
  2. Open regedit
  3. Create registry key HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\UnattendSettings\Microsoft-Windows-SystemMaintenanceService\CacheList\Cache1
  4. Create 5 DWORD values in HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\UnattendSettings\Microsoft-Windows-SystemMaintenanceService\CacheList\Cache1
    1. CacheSizeMB = 500 (Size of your cache in megabytes, make sure to use decimal value not heximedical)
    2. DiskID = 1 (ID of the disk where cache will be placed, use diskpart.exe to find correct disk id)
    3. PartitionID = 1 (Partition id where cache will be placed, use diskpart.exe to find correct partition id, most USB flash drives have only one partition so in 99% of the cases it will be 1)
    4. EnableCompression = 0 (1 – enable cache compression, 0 disable cache compression)
    5. EnableEncryption = 0 (1 – enable cache encryption, 0 disable cache encryption)
  5. Execute this command in administrative command prompt –
    “%WINDIR%\SYSTEM32\RUNDLL32.EXE” sysmain.dll,PfSvUnattendCallback specialize
  6. ReadyBoost.sfcache cache file is created on Disk 1, Partition 1. EMD.dat hidden system protected file is created near the ReadyBoost.sfcache file. EMD.dat files contains compression and encryption settings. Because EMD.dat is system protected file it’s not visible by default in explorer. You can show all files by changing view settings.

To verify that your cache has disabled compression you can check ReadyBoost performance counters:

  1. Press Win+R and type perfmon than click Ok
  2. Click on red cross to remove all existing performance counters
  3. Click on green plus to add new counters
  4. Select ReadyBoost and click Add
  5. Click OK
  6. Find “Compression Ratio” performance counter and observer its value
  7. If compression is disabled that “Compression Ratio” will be greater or equal to 100, for me it’s now 103.25