Linux & Open SourceTechnology

How to Shrink a Windows C: Drive That Won’t Shrink for Dual Boot

Admin
How to Shrink a Windows C: Drive That Won't Shrink for Dual Boot

You are ready to dual boot Linux, you open Disk Management in Windows, and the shrink tool offers you almost nothing. The drive shows hundreds of gigabytes free, yet Windows says it can only shrink by a few gigabytes, or by zero. This is one of the most common dual boot roadblocks, and it is rarely a fault. Windows is protecting files it cannot move while it is running. With a few careful steps, you can usually free far more space safely.

Quick Answer

Windows will not shrink C: past unmovable files such as the paging file, hibernation file, restore points, and shadow copies, even when the drive looks mostly empty. To shrink further, temporarily turn off hibernation, system protection, and the paging file, run a defragmentation pass on hard drives, restart, and shrink again straight away. Turn those features back on after you create the free space for your Linux install.

Why Windows Stops Shrinking

Shrinking a partition can only cut space from the end of the drive. Free space in the middle does not help if a file sits near the end and cannot be moved while Windows is using it. Disk Management stops at the first such file, which is why the available shrink size can look absurdly small.

The usual blockers are well known:

  • Hibernation file (hiberfil.sys): A large hidden file, often around forty percent of your RAM size.
  • Paging file (pagefile.sys): Virtual memory Windows manages constantly while running.
  • System restore points and shadow copies: Snapshots stored across the volume for recovery.
  • System files and metadata: Some NTFS structures are placed where Windows will not shift them live.

The Microsoft documentation for shrinking a basic volume states this plainly: you cannot shrink a volume beyond the point where unmovable files are located, and defragmentation events in the application log show which file is in the way.

How to Find the Exact Blocking File

After a failed or limited shrink, open Event Viewer, go to Windows Logs, then Application, and look for the latest defragmentation event that lists the last unmovable file and its cluster location. The file name tells you which feature to deal with. A hibernation file needs one fix, a paging file another, so this two-minute check saves guesswork.

Before You Touch Anything: Back Up

Partition changes are routine, but they are never the place to gamble. A power cut or crash at the wrong moment can damage a file system. Before shrinking any system drive, save an image or at least copy your important documents, photos, and work files to an external drive or cloud storage.

Also save your BitLocker recovery key if the drive is encrypted, plug a laptop into power, and close heavy programs. Do not start this job with ten minutes to spare. Give it calm time, because several restarts are part of the process.

Step 1: Clean Up Easy Space First

  1. Run Disk Cleanup or Storage Sense and remove temporary files, old update files, and the Recycle Bin contents.
  2. Uninstall large games or apps you no longer use, or move them to another drive.
  3. Empty large personal folders you no longer need on C:, such as old downloads and screen recordings.
  4. Restart the computer so pending updates and file locks clear.

Cleanup alone does not move the unmovable files, but it reduces clutter, shortens later scans, and sometimes moves the limit a little because shadow copies tied to deleted data disappear.

Step 2: Temporarily Disable the Blockers

Do these three changes together, then restart before shrinking. Each one removes or shrinks a file that commonly sits in the wrong place.

Turn Off Hibernation

  1. Open Terminal or Command Prompt as administrator.
  2. Run powercfg /hibernate off and press Enter.
  3. The hibernation file is deleted, often freeing many gigabytes instantly.

You lose the Hibernate option while it is off, but Fast Startup may also switch off, which is actually helpful for dual boot because Windows then shuts down fully.

Turn Off System Protection Temporarily

  1. Search for Create a restore point and open it.
  2. Select C:, choose Configure, and pick the option to disable system protection.
  3. Delete existing restore points when Windows asks or offers the delete option.
  4. Remember: you will turn this back on after shrinking, and create a fresh restore point then.

Move or Disable the Paging File Temporarily

  1. In the same System Properties window, open the Advanced tab and Performance settings.
  2. Under Advanced and Virtual memory, choose Change.
  3. Untick automatic management, select C:, and choose No paging file, then Set.
  4. If you have a second internal drive, you may place a paging file there instead.
  5. Restart the computer so the paging file is actually released.

Step 3: Defragment a Hard Drive, Never Force an SSD

If C: is a mechanical hard drive, run Optimize Drives and defragment it after the steps above. Defragmentation gathers files toward the start of the disk, which can pull the last used cluster much closer to the beginning and increase shrink room.

If C: is an SSD or NVMe drive, do not run a traditional defrag to fix this. Windows Optimize on an SSD performs a trim operation, which is fine, but moving files around is not the answer there. On solid-state storage, disabling the blockers and restarting is what makes the difference.

Step 4: Shrink Again, Straight After Restart

  1. Press Windows key + X and open Disk Management.
  2. Right-click C: and choose Shrink Volume.
  3. Check the newly offered shrink amount. It should now be far larger.
  4. Enter the amount to shrink in megabytes. For Ubuntu, 40,000 MB is a workable minimum, and 80,000 to 100,000 MB is more comfortable.
  5. Confirm the shrink and leave the resulting space as Unallocated. Do not format it in Windows.

Unallocated is exactly what a Linux installer wants to see. Creating a Windows volume in that space would just force the installer to undo your work, so leave it empty and grey in the Disk Management display.

Once the space exists, you are ready for the install stage itself, such as the method described in our complete Ubuntu and Windows 11 dual boot installation walkthrough.

Step 5: Turn Everything Back On

People often forget this part. After shrinking successfully:

  • Re-enable system protection on C: and create a new restore point.
  • Set the paging file back to automatically managed by Windows.
  • Run powercfg /hibernate on if you actually use hibernation, and restart again.

Skipping these steps leaves Windows without restore safety and without virtual memory management, which can cause errors when RAM fills up.

If It Still Will Not Shrink Enough

Sometimes a stubborn system file remains near the end of the volume. At that point you have three sensible choices. First, accept a smaller Linux install if the space is honestly enough for your use. Second, use a trusted third-party partition tool that can move files during a reboot, after a full backup. Third, back everything up and do a clean Windows reinstall with a smaller C: partition from the start.

Never force a shrink by deleting system files by hand, and never edit partitions from within a live Linux session while Windows is hibernated, because that can corrupt the Windows file system.

Common Mistakes and Tips

  • Shrinking from a Linux installer first: Always shrink Windows partitions using Windows tools where possible. Windows understands its own unmovable files best.
  • Forgetting the restart: Disabling the paging file does nothing until you reboot. Shrink attempts before that show the same old limit.
  • Formatting the new space: Leave it unallocated for the Linux installer.
  • Leaving protection off afterwards: Restore points and paging are safety features. Turn them back on the same day.
  • Working on battery: Plug in. A partition operation plus several restarts is no place for a dying battery.

Conclusion

When Windows refuses to shrink C:, it is protecting unmovable files, not mocking your free space. Back up, clean the drive, temporarily switch off hibernation, restore points, and the paging file, restart, and shrink again. Restore the safety features afterwards and leave the new space unallocated. Your dual boot install then starts from clean, free space instead of frustration.

Frequently Asked Questions

How much space should I free for a Linux dual boot?

Around 40 GB works for light use and testing, but 80 to 100 GB is a better long-term choice. It leaves room for apps, updates, games, and files without you needing to resize partitions again soon.

Is it safe to turn off the paging file temporarily?

Yes, for this short process, as long as you restart, shrink, and then turn automatic paging back on. Using Windows for heavy work with no paging file can cause low-memory errors, so do not leave it off.

Why does Disk Management offer 0 MB to shrink?

An unmovable file is sitting at or near the very end of the partition. Check the defragmentation event in Event Viewer to see the file name, then disable the feature that owns it and try again after a restart.

Should I defragment my SSD to shrink it?

No. Traditional defragmentation does not help an SSD shrink and adds needless wear. Use the Optimize trim function Windows offers, and rely on disabling hibernation, restore points, and paging to move the limit.

Can I shrink C: from the Ubuntu installer instead?

The installer can resize partitions, but doing the shrink inside Windows first is safer and more predictable. Windows knows which of its own files are in the way, and its own tool avoids moving them incorrectly.

Admin

Passionate about the intersection of style and storytelling. I simplify fashion trends and industry news into easy-to-follow advice, helping you stay stylish and informed in the fast-paced world of fashion.

Leave a Reply

Your email address will not be published. Required fields are marked *