Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an 80GB disk, which has a 50GB VM disk image on it. This image is currently in 220,000 fragments, and is killing my drive's performance (and preventing a defragmentation). I'd like to copy it off, and copy it back, this time manually placing it in the last 50GB of the partition. Since the file will never change size, this should prevent the issue I'm currently having.

Are there any special-purpose file copying tools which will allow me to do this?

EDIT: I'm sorely disappointed in Windows's file copy. I defragged my drive with 75% free space, and then defragged all free space. When I copied the VM back onto the hard drive, it ended up in 3,894 fragments. There's got to be a better way...

share|improve this question

You can use MyDefrag to do that using a script and the MoveToEndOfDisk action. It's also excellent at defragmentation.

share|improve this answer
"... try to find a gap above that file big enough to hold the file... If no gap is found then skip the file." Unfortunately the file is bigger than half my hard drive, so this function won't work (it will never find a big enough gap). If only it were smart enough to move the rightmost bytes first. – zildjohn01 Sep 21 '10 at 1:48
I tried this, and it finished instantly without doing any work. I also tried to place it manually using MakeGap(VolumeSize - 50.1GB, DoNotVacate) and Defragment(), but that didn't help at all (my drive churned for a while without any noticable improvement). Do you think any other command might do the trick? – zildjohn01 Sep 21 '10 at 12:59
@zildjohn01: I'm afraid there's nothing else I can think of. You might try their forums to see if anyone there has any ideas. – Dennis Williamson Sep 21 '10 at 14:56
Well, thanks anyway for the help. I guess I'll see if the guys over there come up with anything. – zildjohn01 Sep 23 '10 at 10:21

Under dos-box,

Usage : fsutil file createnew <filename> <length>
Eg : fsutil file createnew drv:S-H.file 1000

to build a space-holder, then copy all files as usual. Then remove the S-H.file for future use.

Maybe: Best turn off the alarm of "low space on disk warning".

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .