When an NTFS volume is created, the first four entries of the MFT are copied and placed halfway the volume in the $MFTMirr file. According to Microsoft, since XP these files (metadata files) can be moved, but in practice I don't seem to be able to move them. Yet I need to reclaim a large contiguous free space block to be able to resize the disk.

I've tried several defragmentation programs, including the open source UltraDefrag, PerfectDisk 11 and Windows own defragmenter. But none seem to move this file, or the related $LogFile, $Bitmap etc.

What tool or command can I use to relocate these files from the middle of the drive to somewhere else?

  • Note that $MFTMirr is quite small. It's MFT reserved space that typically resides in the middle of the volume and prevents shrinking.
    – Vadzim
    Jan 18 '19 at 15:24

The mentioned PerfectDisk can do this, actually. You just need to know that you must select Boot Time in the main screen, which will perform an offline defrag or a on-next-boot defrag (depending on whether this is the current OS disk).

See also this related question by me, and this little blog that I wrote, containing more details on how this all comes together.

  • 2
    I was able to move $MFTMirr with Defraggler and shrink in GUI/Diskpart. This was on a Windows 2008 R2 x64 server who initially had 1000GB, and now currently is shrinked to 60GB. I plowed through Abel's thorough blog on the matter, and I bumped into the same issues with Windows own tools, but before buying PerfectDisk I gave the free tool Defraggler a go. Jan 22 '15 at 11:50

I am a dummy. and it took me 2 days to finally shrink my C: sys volume (WINDOWS 7). the solution I found is terribly simple.

  1. I downloaded the free app PerfectDisc, installed
  2. on 'Global Settings' I selected and ticked: PerfectDisk manages book and prefetch files'
  3. right click on C: - Drive preferences - select: 'Default optimization method' = 'Prep for Shrink' and 'Free Space search method' = 'Forward'
  4. now start defragging (play button)
  5. try also to turn on 'boot time defrag', and press the 'boot time defrag' button in the upper menu (requires restart)

Good Luck everybody !!! what a relief


I tried many other solutions like boot-time defragmentation with PerfectDisk as suggested in other answer. But the only working solution was to shrink partition with MiniTool Partition Wizard which will move files at boot-time and shrink partition to desired size. If it writes something about filesystem error then run chkdsk /F /R C: in cmd.exe after Windows loads, it will suggest to run this at boot-time, reboot, wait while file system is checked, then again try to shrink partition with Partition Wizard.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.