Working Around Windows Vista's "Shrink Volume" Inadequacy Problems
The Shrink Volume feature in Windows Vista has some serious limitations, which we'll try and explain and then suggest a few workarounds that might help you out. Be careful when following these steps, because they could leave your system unable to boot… advanced geek level required.
I would also suggest that if you are trying to configure a dual-boot system, your best bet is to backup all your data, and setup a fresh new dual boot system, remembering to install the oldest OS first. (XP before Vista, and Linux last)
Problem Explanation
The main problem that we encounter with the shrink volume feature is that you can't shrink the volume even when there is clearly free space.
You are unable to shrink the volume at all, since according to Windows you have no free space to shrink:
The reason why Windows won't let you shrink the volume is because there are immovable system files at the very end of the volume, as this screenshot from Auslogics defragment utility shows us. In this case, the immovable file is actually the MFT, or Master File Table for the volume.
Making Shrink Volume Work
To absolutely ensure that you can shrink the volume, you should disable as many of the system files as you can, at least temporarily. Here's the list of steps:
- Run the Disk Cleanup Wizard, making sure to remove the hibernation file and all restore points.
- Disable System Restore
- Disable the pagefile ( Open up System in Control Panel, then Advanced System Settings \ Advanced \ Performance \ Advanced \ Change \ No Paging File.
- In the same Advanced Settings, go to Startup and Recovery \ Settings and then change the Write debugging information drop-down to "None" to disable the kernel memory dump.
- Disable Hibernation mode in your power options \ advanced power options screen.
- Reboot the machine, and then delete your c:\pagefile.sys file, following these instructions if you are having issues.
Now that we've deleted almost every system file that we can, you should run at least one of these free defrag utilities, but preferably all of them, in order to move all of the files to the beginning of the volume, so we can force the Shrink volume feature to work.
- Power Defragmenter (GUI interface for sysinternals contig)
- Auslogics Disk Defrag
If you are encountering the MFT problem, then you won't have too much luck even after running those utilities. What you'll need to do is use one of the non-free defrag utilities that is able to move the MFT files. If somebody can suggest a free way to move the MFT, leave a note in the comments.
- You can download a 15-day free trial of Perfect Disk 2k and then uninstall it when you are done. Or not.
At this point you should be able to shrink the partition, at least a decent amount. Once you've gotten the partition shrunk, you should re-enable those important files:
- Re-enable the Pagefile (Reverse instructions above)
- If you have issues re-enabling hibernate, follow these steps.
- Enabling System Restore or kernel debugging information is entirely up to you.
- Reboot.
Again, your best bet for dual-boot is backup, wipe, and reload, but these steps did work for me during testing.
Using Linux to Resize
You can also use the gparted live cd to resize your partitions. The problem with this is that it will definitely cause your system to not boot anymore unless you follow some very specific steps, because Vista can't handle it.
Using Commercial Utilities
There are a number of commercial software utilities that can handle this type of thing for you, like Partition Magic. We prefer free software here whenever possible.
In summary, If you are lucky enough for Shrink Volume to work for you, great. If not, I'd recommend backing up, wiping, and installing fresh.


This medod did not work. Later I tried "gparted live cd" at first it did not work either but it did instruct me to use chkdisk and rebbot 2 times. Then gparted did a great jobb
I had problems with 160 GB HDD and about 150 GB partition C: (HP cleaver idea create one big partion + a recovery partition,which I also removed), I could not shrink in Vista bellow 147 GB
It worked when I used of Perfect Disk 8.0 to move MFT files, I could shring to 75MB
idnt wok for me either, followed directions word for word and my disk still has files scattered around it, they are kinda in 3 different groups. one group at the beginning (large) one group in the midle (small, but in the way) and one at the very end (small but in the way)
It did worked for me. I used Perfect Disk 8.0 and was able to shrink up to 15 GB. Thanks
Brilliant thanks! Various steps along the way cleared up some room but needed Pefect Disk 2K to get the partition to where I wanted it to be. Thanks again!
Just wanted to let you know that, using this method, I was able to change the max size of my partition from 400MB to 25GB. Worked wonderfully. Thanks!
Hi,
I change my old PC running XP for a new one Pentium D with 1 GB. Vista merely could run! So, I returned the machine and bought a more powerful Athlon 6000+ 3GB of memoryt and 500GB disk. Then I tried to shrink the Vista partition. It did work but did not want to go below 250 GB while I wanted to give it 20GB. Fortunately I found your site
I ran the two recommended defragmenters and in the shrink pop screen I could see an improvement it said I could go down to 60 GB which is more than I wanted but, I said, ok let's shrink it to 60 GB. Then I got an error:
"Unexpected error happended.Check the system journal for additional information. Close de disk management console then restart the disk management, or restart the computer"!
Pure Microsoft !
Does someone has an idea of what the error could be?
thanks
Joaquin.
Read _all_ of the instructions: "ADVANCED GEEK LEVEL REQUIRED". If you don't understand what the function of the Pagefile is, don't attempt this; you are in over your head.
Thank you for the instructions Geek, worked very well.
Thanks a ton! You saved my bacon.
Was trying to take a new laptop with a 120GB partition (20 GB used), and vista wouldn't let me bring it down past 90GB.
Got it down to 40 and change with your help.
Stumbling you now!
- Dave
Thanks for the Stumble!
I always wondered who the great people are that submit us to Stumbleupon =)
Very useful
thanks!
Thank you!
I couldn't get it to work until I used PerfektDisc 8 - we're the other steps really necesarry? I'd recomend someone who haven't started yet to start with PerfektDisk 8 - defragment and offline defragment (which moves system files).
PerfectDisk is also what worked for me. I did everything in your guide but couldn't get anywhere, then downloaded the trial of PerfectDisk and now I can shrink my partition to a size larger than 596 MB. Thanks for the guide!
Thank you! This completely solved my partition shrinkage problems!
The problem is that (from what I've read) you can't shrink a windows partition more than 50%. Try this, it worked for me:
1. Shrink as much as possible using Vista's tool.
2. Reboot, and defrag using Vista's defrag.
3. Create a free space at the end, unformated, unmapped.
3. Boot Gparted Live CD and resize to (no less than) 60% of present size.
4. Reboot, and add free space to unmapped, unformatted space. Defragment using Vista.
Repeat steps 3 and 4 until you've achieved the desired size.
I found I had to add the free space to avoid Vista going all "Borg" on it (resistance is futile).
Oh, and I follow the same tips as the Geek recommends, this is just if you want to avoid installing any third party stuff and just use Vista's tools and Gparted.
amazing solution guys…perfect disk 8.0 is a real gem and the solution given above is just fabulous.
it has helped sort out my problem so easily on which i had been banging my head for hours…. thanx guys u rok
GREAT JOB!!
I used PerfectDisk, which allowed me to shrink 120GB down to 75GB… in theory only! In practice, The Disk Management tool, despite allowing me to such this new limit, wouldn't go through with it, always saying "There is not enough space available on the disk(s) to complete this operation".
Which is pretty funny, really. Despite just freeing up 50GB, and having most of 100GB completely unused on my 120GB disk, it doesn't have enough disk space… riiiight.
Thanks man!!!!
I hit the MFT (I think) when trying to shrink less than 100GB. I used BootIT NG (http://terabyteunlimited.com/bootitng.html ) which gives a 30-day trial, $35 well spent if you keep it. BING was able to resize the partition, slide it, and make a backup images of it on DVD and on HDD. I did two systems on it, making one dual-boot XP & Vista. BING walks on water.
Perfect Disk8 did the job after the previously mentioned methods failed. I was able to move system files and thus shrink my Vista partition to approx. half its size
Your solution worked. Thank you. I was trying to get a 500GB down to 60 and could only get to about 260 with Shrink and hours of turning things off, rebooting, Microsoft’s Defrag and Check Disk.
While I stopped paging and rebooted I could not find pagefile.sys to delete it. (Haven’t figured out how to see the system files yet.) However it was there and got replaced when I eventually restarted paging. Still it must have been below 50 GB line. Otherwise did what you suggested. I only tried the Auslogics Defrag, not the other. Auslogics showed your dreaded yellow clusters at about 50 GB. Whatever was hanging me up at 260 was gone. The Vista Shrink then ran fine.
What a disaster, Windows Vista. I need a shrink after trying to use shrink. Finally I made an image with Acronis TrueImage 11, used GParted to shrink the partition, restored Vista using Acronis. That worked.
PerfectDisk solved my problem, none of the other tools were able to.
Hi
I think you are overdoing it with disabling the system files…PerfectDisk 8.0 has an Offline defragmentation tool which unmounts your drive and can defragment your pagefile, hibernation, metadata and MFT files. Disabling may not be necessary…simply right-click on your drive, choose offline defragmentation and choose the system files you want to shift..
Thanks anyway…your ideas worked fine too..
Well, this method worked for me, but it also rendered my Norton Save and Restore useless. In my case I have a 338 GB partition with Windows Vista on it that I wanted to reduce down to 60 GB so that I could create other partitions for my data. I was only able to shrink the partition down to about 222 GB using the partition manager that comes with Vista.
I followed the instructions to delete the hibernation file, turn off the pagefile, etc. I then defragmented the drive using Perfect Disk 8, which moved the MFT files away from the end of the partition. When I tried to shrink the partition, the partition manager told me that I had room to shrink it 112 GB, but when I tried to shrink the entire space I received an error message that there wasn’t enough room on the hard disk. When I tried to shrink it in 10 and 20 GB increments it worked. I then defragmented the drive again, so as to move the MFT and shrink the partition down to 60 GB.
Vista worked fine after I did this, so I thought it would be a good time to backup my PC using Norton Save & Restore, which came with my Dell XPS 420. When I tried to perform a backup I got an error message, stating that a system integrity test had failed. I then tried several utilities to fix the problem including loading a new MBR, but they didn’t work. I also tried to restore Vista from my previous backup only to get a similar error message halfway through the restore process. After doing this I couldn’t boot up the PC.
I spent several hours over the next two days trying to fix this, including several chat sessions with the tech’s at Symantec. The Symantec advisor told me that the error was due to changing the size of the operating system’s partition, and the only way for Norton Save & Restore to work was to completely reinstall Vista from scratch. When I expanded the size of the operating system partition back to its’ original size Norton Save & Restore worked and I had my original PC back! However, that didn’t get me the smaller partition size that I wanted.
Now that I had my original 338 GB partition back, I removed Norton Save & Restore according to their removal directions. I then went back and shrunk the operating system partition down as I had before, and then reinstalled Norton Save & Restore. When I tried to perform a backup it again failed! I guess the tech at Symantec new what he was talking about.
I am going to start over by setting up my disk partitions to the size I want, and then I will reinstall Vista. Anyone using Norton Save & Restore should be aware that changing the size of their operating system’s partition may make their Norton Save & Restore backups unusable. Further, they may not know this and render their PC unbootable after trying to perform a restore. I should also mention that my two hard disks are setup as RAID1, which possibly affected Norton as well.
Is there any way to see what Vista is defrag-ing, like you can with XP?
I have a problem with Perfect Disk 8.0. I've run it so I have roughly 60GB free out of 106GB on the hard drive. I tried to get it to defrag PageFile, but it keeps saying 'loading failed' but it scans the others fine. Anyone got any suggestions?
Perfect Disk 8.0 is great!! Vista is still work in progress ….
I had the same problem not being able to shrink my C: volume from over 200 to 20 Gigs. I followed partially the instructions. Specifically, I did not:
- Disable the pagefile
- Disable the kernel memory dump
- nor, Delete the c:\pagefile.sys
I did use the defrag from Vista, which gave me just a few gigs room, but the main gain came from Perfect Disk! I just had to run it a couple of times with reboots in between (check the defrag on boot feature to make sure it moves the MFT, etc).
I got C: now at 20 Gigs. The problem I have now is that I cannot add this space to an extra partition I had for data (shown on the right). I tried to create a new volume, move the data there and add the space from the old data partition to the new partition but it did not work. Any suggestions?
I have now C(20G)//New Part(180G)//Old Data Partition (45G)//OEM System Recovery Partition(7G).
to Margus, if you are wanting to have a 65GB drive which is bootable and has your data: Resize C(20GB) to 65GB, then copy the data into it. If you are short on space do it in steps. I will assume Perfect Disk can slide the 180GB out of the way but if it cannot you will slide using BootIT NG (http://terabyteunlimited.com/bootitng.html ) which gives a 30-day trial.
worked like a charm now I can dual boot multiple operating systems thanks
I followed all of the steps and the method worked perfect. I have one 750GB hard drive in my system that only had Vista installed on it. Learned about the shrink capability but I could only shrink the volume to create an additional 75GB partition. However after following all of these steps and (a LOT ~8 hours worth~ of defragmenting and file consolidating with Perfect Disc 2008) I was able to break the 750 into three drives: 175GB for Vista, 175GB for XP, and 350GB for data/backups. Only note from me about this process is that I did not have to manually delete the pagefile.sys after I disabled it. I guess that Vista automatically deleted it.
Great help!
Arthur Archnix suggestions worked great in partnership with perfect disk 8.0. followed his directions and was able to create 90GB from a 120Gb disk with vista preloaded. When I started out vista would only let me create 30GB, major help
thanks everyone!
Great help!
My purpose was to create an additional partition (but not for dual-boot). Your very complete and clear description worked without problems.
Thanks
Just to say that I tried Arthur Archnix's comment and it worked. I tried to do it first using this tips, but couldn't pass the 50% barrier when shrinking.
Then, I used PerfectDisk offline defragment and shrinked several times until i reduced it to 50G in a 250G disk.
Thanks for this page! It really helped me a lot
Hi. Really nice guide! Unfotunately I still have a problem. I own a VAIO laptop (this is not the problem…I hope), it came with Vista preinstalled (I've already made the recovery DVDs) and I am planning to install XP and Linux also. The thing is that even though I've followed this guide (including defragmenting with Perfect Disk) I can´t reduce Vista's partition as much as I want. I would like it to be only 25-30GB big, but Vista only allowed me to reduce it to 55GB. I ran GParted LiveCD and it shows that Vista's partition has 37GB occupied, but Windows says that only 12-15GB (I don´t remember now exactly) are under use. I tried then to shrink using Paragon Partition Manager 9, but after it reboots to apply the shrinkage nothing happens (Vista boots normally and nothing has changed). Any suggestions are welcomed!
I made a blunder! I was using the Vista feature to shrink some space on my C drive, and it looked sort of stuck, so i closed the window mid-way!
Now the space i was trying to shrink (around 15 GB) doesn't show in C nor in Unallocated Space!
What can I do? It seems to have got lost somewhere in between!
Me again! Solved the problem thanks to Arthur Archnix (three times I thank you!) post. Open source developers have made great tools (GParted Live and SupergrubDisk, only to mention two of them). Now, after searching and reading quite a lot, I'm triple booting in my laptop without problems!
Hello and many thanks for the methodically written guide. Like some others who have posted here, I finally had to run Perfect Disc 2008 for the shrinking to work…. possibly, there were system files that were simply not getting moved otherwise. After which, the whole thing went through like a charm.
Now I need to figure out how to bring hibernation back
)
How do you use perfect disk
did it once and it went from 1400MB to 217MB
Omg, thanks to all of you guys!!!
I was all day breaking my head…and yes, Perfect Disk 2008 made the trick, but I had to follow all the steps from the article. I love the webpage…
Keep Up the Good Work!!!!!!!!!!!!!!!!!!!
Thanks guys! I followed the instructions mentioned above and got the job done. I used the trail version of PerfectDisk2008. I have another problem. After shrinking, I'm unable to format the unallocated space. I get "there is no space" error message. The size of the new Volume is around 35 GB.. please help.
Big thanks for nicely driving me in the right direction.
As the Geek mentioned it is the MFT bit that is blocking us.
However, by experience, I noticed the following:
- the MFT is roughly placed in the middle of the volume and therewith allowing you to shrink your volume by half its original size at a maximum;
- if you don't reuse the free-d up space, a factory restore will give you the same result
- if you do reuset the free space, a factory restore result in a new factory install with the MFT in the middle of 50% of your original volume size.
So, without all hoops, tricks, extra software etc. this is what I did:
- half my 480 GB C volume (shrink does not allow me shrinking below half)
- create new partition in free space
- factory restore in remaining 240GB
- half my 240 GB C volume to 120GB (again shrink limit, checked MFT now to be in the middle of the volume again
- create new partition in free space
- factory restore in remaining 120GB
- shrink to my target of 75GB
Hope this is of any use to anybody. Viva Vista
If you are shooting for a dual boot machine with Vista/XP, if you can get just enough room to install XP, you can use its defrag tool to defragment the Vista partition. Then you can shrink the vista partition, and use some other tool (like a GParted Live CD - no version of Patition Magic CD boots if Vista is installed) to grow your XP partition, or just delete it and reinstall the XP partition.
Or you can do like I did and boot an XP virtual machine under Linux, mount the physical partition, and defrag the Vista partition while you do other work.
This information was really helpfull, i was able to shrink my harddrive by about 60 gb after fllowing some of the tips on here. Thanks Alot!
Rene Fennet nearly had it down pat (I'm happy as I was not keen on messing with the other stuff suggested here). It took a while - hint, do not create a logical partition until you have iterated down to the size you are happy with for the C: drive. Then, create any logical partition(s) you like from the space remaining. Also, use quick format, or you'll be there forever. I had 1TB on a Dell XPS 420 with Vista Ultimate. The Recovery partition was set at only 15GB, as the D: drive. The rest was the C: drive - one giant one. I now have a 50GB partition for programs and the rest for a data partition.
Another point. I tried to reorder the disk drive letter - i.e. moving the Recovery partition to N:. Running a restore will return it back to D:. Maybe someone knows of a tweak for that?
No deal here. After using PerfectDisk, Vista says I can shrink the partition by 30Gb. Great!
When I try to shrink it by 10Gb, it says "Access id denied" after a few seconds.
Then I've tried the Vista's restore DVD, using diskpart. Same history: "Access is Denied".
Ok, let's try a linux Live CD, then. Gparted live CD tells me my drive is all "unallocated", and PartedMagic live CD tells me "no devices found".
Please, someone help me…
now I've tried the XP installation disk, and it too tells me that there is no disk found.
The creepy part is that the disk works perfectly booting vista. Any idea?
1. sounds like now you should ask how current your backup is.
2. are you logged in as administrator (I'd recommend that)
Yes, I'm logged as administrator, and I've checked all permissions and so on.
The problem is my S-Ata HD. As it seems, all this programs are unable to load the correct drivers, even XP. I've got to partition using Paragon's Partition Manager, and then running a boot fix from vista's DVD.
I now have room to install XP, but it doesn't recognize my disks. Maybe I need to download some drivers and slip them into xp disk…
Thansk for your help!
I hope you have a backup? BING will boot and talk directly to the hardware and handle image backup, partitions and boot fixes. If you are stuck try it, it has a 30-day free trial. You would gladly pay the price if it fixes your problem, and you will know today whether it is working for you or not. BootIT NG (http://terabyteunlimited.com/bootitng.html )