Jump to content

Would love feature to defrag and compact MFT


Crni

Recommended Posts

Paragon TotalDefrag has this feature and it works pretty fast.

CCleaner has Drive Wiper which does similar job, but it takes too much time as it's actually wiping the whole free space and is forcing MFT to shrink, though when it gets close to 99% it triggers System Restore which then deletes one or more SR snapshots as the disk space gets very low. It's not a bug, but may need some improvement.

Anyway, what I'm proposing is just to include similar feature to Defraggler, but instead of wiping the free space just compact MFT and defrag it.

Link to comment
Share on other sites

+ 1

 

CCleaner MFT wipe IS pretty slow, if I say so myself.

Could definitely use something faster.

 

I hate having to spend 15 minutes waiting for it to complete, when, ah, 15 seconds or so would be nice.

If compacting is faster, I would second that.

 

I would also second the option to ONLY do the MFT wipe.

Currently, I have to STOP the disk wipe operation after MFT because they are integrated. Sigh.

 

A drop down MFT wipe would be nice!

Link to comment
Share on other sites

  • Moderators

Compact and defrag probably describe the same action.

 

In XP if the MFT is in several fragments within or even out of the MFT Zone (disk full/stressed) then these fragments can be defragged - made contiguous again - back within the Zone. I think that most defraggers do that already.

 

In Vista onwards the MFT Zone is much smaller (200 mb) and when the MFT fills it another 200 mb zone is created elsewhere. The zones are deliberately fragmented, and M/S says that making these zones contiguous is possible but pointless in performance times.

 

You can't mess around with any of the insides of the MFT. If you create a million files and then delete them the MFT will contain a million entries forever.

 

Apart from the first known system records, the only sequential read of the MFT (as far as I can think) is on new file/folder allocation, when the first (lowest numbered) free slot is used. NTFS probably reads the MFT bitmap to find the first free slot, then multiples that -1 by 1024 to find the free slot offset. So no sequential reads at all.

 

I can't see any practical reason why CC's Wipe MFT shouldn't be separate. It does run before WFS so it is a separate entity. As for taking a long time, it's creating tens or hundreds of thousands of new files, every one with a corresponding transaction record, MFT folder update, bitmap update, etc, then deleting the lot, every one with a corresponding transaction record, MFT folder update, bitmap update, etc. That takes time.

Link to comment
Share on other sites

That makes sense, but I can think of a reason to do the MFT separate.

 

Sometimes, I just want to clear the MFT for performance reasons & skip a drive wipe.

Not only does this wear out the drive unnecessarily, it is pointless clicks to cancel it.

 

If I really needed a drive wiped, sure, but sometimes I only just need the MFT cleaned...

Link to comment
Share on other sites

  • Moderators

Yes, that's what I said.

 

(Later edit) I can't see any performance gain from wiping MT entries. It's a way of replacing the existing file name and folder reference in a deleted MFT record with another. The MFT has the same number of entries, in the same order, as before.

Link to comment
Share on other sites

  • 1 year later...

At risk of necroposting - has any progress been made on MFT compaction and truncating within Defraggler? Keep in mind this needs to be an out-of-windows operation.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.