[Fix] “Cannot shrink a volume beyond the point” when Resizing a Partition Using Disk Management

When you use the Disk Management console to shrink the volume in which the Operation System is installed, you’re unable to choose a value (to shrink) beyond a limit. In the shrink volume dialog, the following message is displayed:

You cannot shrink a volume beyond the point where any unmovable files are located. See the "defrag" event in the Application log for detailed information about the operation when it has completed.

If you use the diskpart’s “shrink desired” command-line to shrink the partition via Command Prompt, the following error may be shown even though the partition has ample disk space:

Virtual Disk Service error:
The specified shrink size is too big and will cause the volume to be 
smaller than the minimum volume size.

diskpart shrink volume error

When you look at the Application event log, Event ID: 259 “defrag” event may show something this:

You cannot shrink a volume beyond the point

Event ID: 259 – Examples

A volume shrink analysis was initiated on volume OS (C:). This event log entry details information about the last unmovable file that could limit the maximum number of reclaimable bytes.
 
 Diagnostic details:
 - The last unmovable file appears to be: \pagefile.sys::$DATA
 - The last cluster of the file is: 0x749141f
 - Shrink potential target (LCN address): 0x9b6c2f
 - The NTFS file flags are: P---D
 - Shrink phase: 
 
 To find more details about this file please use the "fsutil volume querycluster \\?\Volume{2eeff2ba-3c96-4389-a407-6461354e612a} 0x749141f" command.

(or)

A volume shrink analysis was initiated on volume OS (C:). This event log entry details information about the last unmovable file that could limit the maximum number of reclaimable bytes.
 
 Diagnostic details:
 - The last unmovable file appears to be: \System Volume Information\{cead75c9-21e3-11ef-b9e4-cc96e535c78c}{3808876b-c176-4e48-b7ae-04046e6cc752}::$DATA
 - The last cluster of the file is: 0x189ac13
 - Shrink potential target (LCN address): 0x1231a79
 - The NTFS file flags are: ---AD
 - Shrink phase: 
 
 To find more details about this file please use the "fsutil volume querycluster \\?\Volume{73033618-7179-458a-b854-bf5c6244b858} 0x189ac13" command.

Event ID: 261 – Example

Error: a file blocked volume shrink on volume (C:).
 
 Diagnostic details:
 - The last unmovable file appears to be: \pagefile.sys::$DATA
 - The last cluster of the file is: 0x74488cb
 - Shrink potential target (LCN address): 0x743a7be
 - The NTFS file flags are: P---D
 - Shrink phase: 
 
 To find more details about this file please use the "fsutil volume querycluster \\?\Volume{2eeff2ba-3c96-4389-a407-6461354e612a} 0x749141f" command.

Event ID: 264 – Example

The storage optimizer couldn't complete shrink on (C:) because: This shrink size specified is too big. (0x89000021)

(Go to the Solution directly.)

Cause

It’s usually pagefile.sys that prevents Disk Management from shrinking the volume beyond a point, as pagefile.sys is an unmovable file. Other unmovable files include hiberfil.sys hibernation file.

There may be a large free space area before pagefile.sys and after it. For example, the disk map for C: drive is such as the one below:

[50 GB occupied by data] | [50 GB free space] | [pagefile.sys (unmovable)] | [10 GB free space]

When you attempt to shrink the disk, only the 10 GB at the end of the partition will be shrunk, no matter how well your disk defragmenter has optimized the disk; It’s because the unmovable file (such as pagefile.sys) sits between the two separate free space blocks. You can’t decrease the allocated space beyond the point where the unmovable files are located.

To avoid this issue, disable the paging file so that the free space will be be contiguous, for maximum shrinkage. Alternatively, boot into Windows RE, delete the hidden pagefile.sys from the OS partition, and shrink the volume using DiskPart, which is very effective. For more information on shrinking a volume using DiskPart, see these articles:

The “System Volume Information” folder
The System Volume Information folder used by the System Restore feature can prevent you from shrinking the drive beyond a point. In some systems, you’ll see this in the event log — “defrag” Event ID 259:

The last unmovable file appears to be: \System Volume Information\{characters}{characters}::$DATA

system volume information preventing shrink event log

The unmovable shadow copy files in the SVI folder cause this issue. Deleting all the restore points/shadow copies will resolve the issue.

NTFS metadata



The last unmovable file appears to be: \$BitMap::$DATA

If the event log notifies you about the $BitMap::$DATA as the last unmovable file, you may try running Contig (from Microsoft SysInternals) first before partitioning the volume using Disk Management. Alternately, you can use third-party software (e.g., AOMEI Partition Assistant Free) to partition the system drive to overcome the limitation of Microsoft technology.

This article tells you how to shrink your system partition to your preferred size.

Resolution

My Dell Vostro computer comes with a single partition. When I attempted to shrink the partition so that I can create a second partition out of the free or unallocated space, I could shrink the 940 GB drive only by 50% approximately. Here is the max possible shrink size the Disk Management dialog offered me:

You cannot shrink a volume beyond the point

The fix is to temporarily disable hibernation, the Paging file, as well as the System Restore feature. Once disabled these features, restart Windows and resize (shrink) the volume using Disk Management.

Disable System Restore

  1. Launch systempropertiesprotection.exe from the Run dialog
  2. Select the system drive and click Configure
    You cannot shrink a volume beyond the point
  3. Click Disable system protection.
  4. Click “Delete“.
  5. Click Continue when you see the prompt:
    System Protection
    
    You will not be able to undo unwanted system changes on this drive. Are you sure you want to continue?
    
    This will delete all restore points on this drive. This might include older system image backups.
    
    [Continue] [Cancel]
  6. click OK, OK to close the dialogs.

This turns off System Restore and also erases all the restore points.

Disable the hibernation feature

  1. Open Command Prompt as administrator
  2. Run the following command:
    powercfg /hibernate off

This turns off the hibernate feature and clears the hiberfil.sys from the system drive.

Disable the Paging file

  1. Launch systempropertiesadvanced.exe from the Run dialog.
  2. Under Performance, click Settings, click Advanced button
  3. Click the Change button.
  4. Uncheck Automatically manage paging file size for all drives
  5. Select No paging file, and click Set
    You cannot shrink a volume beyond the point
  6. Click OK.
  7. You’ll see the following warning message after you click OK.

    If you disable the paging file or set the initial size to less than 200 megabytes and a system error occurs, Windows might not record details that could help identify the problem. Do you want to continue?

    Click Yes to continue.

  8. Restart Windows
  9. Open Disk Management and attempt to shrink the system volume. Now you should be able to shrink the drive to the required size as you want.You cannot shrink a volume beyond the pointAfter disabling paging, hibernation and System Restore, I’m now able to shrink the drive by 95% as seen in the above screenshot. The remaining 5% disk space is consumed by the OS, your personal data and other overheads. I could successfully partition the C: drive, reducing its size to 150 GB which is what I wanted.

Re-enable System Restore, Paging file and Hibernate features

After you shrink the volume, be sure to re-enable the Paging file and System Restore and Hibernate options by reversing the earlier steps.

Enable System Restore

  1. Launch systempropertiesprotection.exe from the Run dialog
  2. Select the system drive and click Configure
  3. Click Turn on system protection, click OK, OK.

This turns on System Restore.

Enable Hibernation

  1. Open Command Prompt as administrator
  2. Run the following command:
    powercfg /hibernate on

This turns on the hibernate feature. As a side note, Fast Startup depends upon the Hibernate feature to work.

Note: If you run the command from a normal (non-elevated) Command Prompt, you’ll see the error Unable to perform operation. An unexpected error (0x65b) has occurred: Function failed during execution when turning off/on hibernation.

Enable the Paging file

  1. Launch systempropertiesadvanced.exe from the Run dialog.
  2. Under Performance, click Settings, click Advanced button
  3. Click the Change button.
  4. Select the system drive, click System managed size, and click Set
  5. Enable Automatically manage paging file size for all drives
  6. Click OK.
  7. Restart Windows

I hope this article helped you shrink your system volume as required, without any limitation on your Windows computer.


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

28 thoughts on “[Fix] “Cannot shrink a volume beyond the point” when Resizing a Partition Using Disk Management”

  1. I get “An unexpected error has occurred : function failed during execution” when turning on the hibernation off through the command prompt . Help
    Please

    Reply
  2. Great article, worked like a charm for me.

    However there are a few mistakes in the last section “Re-enable System Restore, Paging file and Hibernate features”, that could cause problems to inexperienced users.

    For example, System Restore step 3 should be “Turn on system protection”, not “Disable system protection” (obvious to most, but you never know).

    Also some of the steps under Enable the Paging file are not in correct order.

    Reply
  3. Thank you. This guide is very useful. This is the only guide that covers everything about regaining shrinkable space.
    Thank you again.

    Reply
  4. I only had to implement the removal/reenable of the swapfile setting to be able to shrink the disk space on the C drive I was shrinking. Thank you so much! Great step by step information!

    Reply
  5. It worked for me. But sometimes you need to do the procedure a couple of times, until the page file step requires to restart the system. Thank you very much for your help!

    Reply
  6. Need Help: I have problem with some sort of Windows Defender File

    Diagnostic details:
    – The last unmovable file appears to be: \ProgramData\Microsoft\Windows Defender\Scans\mpenginedb.db-wal::$DATA
    – The last cluster of the file is: 0x314b5cc

    Reply
  7. I followed this guide until the restart. Then when I tried to shrink the volume it gave me less space I could shrink than before. Then I run the defrag again and waited for 8 passes to complete and show me 0% fragmentation and then suddenly I had lots of shrinkable space.

    Reply
  8. My system get stuck on:
    Diagnostic details:
    – The last unmovable file appears to be: \System Volume Information\$CBT2::$DATA
    What gets past that one?

    Reply
  9. I’ve got 512GB SSD. I couldn’t shrink it beyond 100GB while having 340GB of free space. I actioned all three points as described in this article and it brought 100GB down to 84GB! That’s unexpected as the article had the opposite of an effect!

    Reply

Leave a Reply to Rui Felix Cancel reply