How to shrink a disk volume beyond the point where any unmovable files are located
If you came across the message "You cannot shrink a volume beyond the point where any unmovable files are located" when trying to shrink a partition on your disk using the Windows Disk Management tool, there's an easy fix to it. You'll need to disable Hibernation, Pagefile, and System protection as these files generated by Windows can't be automatically moved by the Disk Management tool so you are stuck at shrinking a partition down to where any of these system files are physically located. Other partition software (such as AOMEI Partition Assistant, EaseUS Partition Master, Paragon Partition Manager) can overcome this problem, but not Windows' Disk Management.
We explained before what hiberfil.sys, pagefile.sys, and swapfile.sys are and how to delete them, and also what System Protection is and how to enable/disable it in Windows 8, but we'll cover disabling all of them once more here, in an easier to follow tutorial. This will work for both Windows 8 and 10, but the screenshots below were taken in Windows 8.1.
First off, in order to actually see these files in Explorer, you need to uncheck Hide protected operating system files (Recommended) and check Show hidden files, folders, and drives in Folder Options, as shown in our tutorial How to show (or hide) hidden files, folders, and drives, as well as protected system files in Windows 8 Explorer.
Hibernation can be found in your Windows 8 partition, usually the C: partition, C:\hiberfil.sys. Pagefile is under C:\pagefile.sys. You'll also notice there a file called swapfile.sys - this file is used to suspend or resume Metro or Modern Windows 8 apps. System protection files are stored in the folder System Volume Information under the same Windows installation partition, in our case, C, as shown below.
Here's how to temporary disable each of them in Windows 8. Keep in mind that you'll need administrator privileges for this task. We recommend that you re-enable them after you shrink your partition.
Disable Hibernation
Step 1: Open an elevated command prompt by pressing Win+X and choose Command Prompt (Admin). Click Yes if UAC pops up. (here are more ways to open an elevated command prompt in Windows 8)
Step 2: Type powercfg /h off, press Enter. You won't get a success confirmation but you'll notice that hiberfil.sys is gone from your OS partition.
Step 3: Restart.
Note: You can postpone this restart until you have disabled pagefile and system protection as well, and do a single restart at the end.
Disable Pagefile
Follow steps 1 through 5 from the first tutorial here, and restart the PC. You are basically setting "no paging file" to the partition you wish to resize, as shown below, and restarting.
Initial Settings in the 1st image above and Settings for disabling pagefile in the 2nd image
Here is the same tutorial, summarized:
Step 1: Press Win+R (or Win+S), enter SystemPropertiesPerformance.exe, press Enter. Click the Advanced tab.
Step 2: Click Change under Virtual Memory and uncheck Automatically manage paging file size for all drives.
Step 3: Click on the partition you are trying to resize and set paging file size to No paging file. Click Set, then Ok.
Step 4: Restart. You'll notice that both pagefile.sys and swapfile.sys are now gone from your disk. If you're still seeing pagefile.sys and swapfile.sys on your partition, try deleting them manually.
Note: You can postpone this restart until you have disabled system protection as well, and do a single restart at the end.
Disable System protection
Step 1: Open a command prompt by pressing Win+R and type SystemPropertiesProtection.exe, press Enter.
Step 2: Click on the partition you need to resize, if it has Protection set to On. Click Configure.
Step 3: Select Disable system protection and click Apply.
Step 4: You'll be prompted with a warning informing you that current restore points will be deleted and future restore points won't be created. Click Yes.
Step 5: Restart, or postpone restart until the end of the tutorial.
That's it. You can now shrink your partition to the desired size. Afterwards, make sure to re-enable hibernation, pagefile, and system protection.
Extra step: Disable the kernel memory dump
Step 1: Press Win+R (or Win+S), enter SystemPropertiesAdvanced.exe, press Enter. This opens the Advanced tab of System Properties.
Step 2: Under Startup and Recovery click Settings.
Step 3: Under System failure > Write debugging information, pick (none) from that drop-down menu, which is set to Kernel memory dump by default. Click Ok.
Step 4: Restart.
One more Extra Tip
When resizing a partition, if you run into the error message "There is not enough space available on the disk(s) to complete this operation.", try running a defragmentation program such as Defraggler or Windows' own built-in defrag tool. This will re-locate file fragments which are physically located towards the end of your disk and which are preventing you to resize the partition. Then try resizing your partition again.
Re-enable Hibernation
Step 1: Open an elevated command prompt by pressing Win+X and choose Command Prompt (Admin). Click Yes if UAC pops up.
Step 2: Type powercfg /h on, press Enter. You won't get a success confirmation but you'll notice that hiberfil.sys is back on your OS partition.
Step 3: Restart, or postpone restart until the end of the tutorial.
Re-enable Pagefile
Step 1: Press Win+R (or Win+S), enter SystemPropertiesPerformance.exe, press Enter. Click the Advanced tab.
Step 2: Click Change under Virtual Memory and check Automatically manage paging file size for all drives.
Step 3: Restart. You'll notice that both pagefile.sys and swapfile.sys are now back on your OS partition. You can postpone the restart until the end of the tutorial if you wish.
Re-enable System protection
Step 1: Open a command prompt by pressing Win+R and type SystemPropertiesProtection.exe, press Enter.
Step 2: Click on the partition you just resized, the OS partition. Click Configure.
Step 3: Select Turn on system protection and click Apply, then OK.
Step 4: Restart, or postpone restart until the end of the tutorial.
Re-enable the kernel memory dump
Step 1: Press Win+R (or Win+S), enter SystemPropertiesAdvanced.exe, press Enter. This opens the Advanced tab of System Properties.
Step 2: Under Startup and Recovery click Settings.
Step 3: Under System failure > Write debugging information, pick Kernel memory dump, then click Ok.
Step 4: Restart.
That's it.
It seems that in the latest Windows 10 builds, the "System Volume Information" folder contains more data in it than in previous builds, so just disabling System Protection won't remove this hidden folder.
I found more info on these threads:
http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_files/whats-wpsettingsdat-generated-by/e11bca97-8c76-4662-8897-774ea3d5691a
http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_files/cannot-delete-system-volume-information-folder-in/0b80793f-4d9a-4df2-808c-59a24835709e
The safest way to go about resizing your system partition at this point would be to use a 3rd party tool. I'd try MiniTool Partition Wizard Free Edition or AOMEI Partition Assistant Standard Edition, also free.
If you wish to do some testing, you could try taking ownership of the "System Volume Information" folder and delete it from an elevated CMD. Then try to resize the partition. The steps would be:
1. Open an elevated cmd (admin cmd). Simply press Win key + X and choose "Command prompt (admin)"
2. Assuming C is te partition in question here, type the following 3 commands:
takeown /F "C:\System Volume Information" /R /A /D Y
icacls "C:\System Volume Information" /grant Administrators:F /T /C
rd /s /q "C:\System Volume Information"
3. Don't restart because restarting will just recreate the "System Volume Information" folder.
4. Try resizing the partition now.
I'm not sure it will work because I'm not getting the "You cannot shrink a volume beyond the point where any unmovable files are located" error on my Windows 10 PC so I can't test it myself.
After a restart, the "System Volume Information" folder comes back but I'm not 100% sure if all Windows functionality depending on it works as before. Most probably it does.