On Sat, 8 May 2004, Dave Pacheco wrote:
> On Thu, 2004-05-06 at 06:07, Szakacsits Szabolcs wrote:
> > On Wed, 5 May 2004, Dave Pacheco wrote:
> >
> > > I apologize if this is a common question, but I could not quite find the
> > > answer in the documentation.
> > No, it's not common and I'm sorry but I can't tell what's the problem if
> > you don't send the 'ntfsresize --info partition' output.
> I verified that I am, indeed, using ntfsresize 1.9.0.
OK, it's one of the very uncommon, documented issues I menationed earlier:
highly fragmented MFT (Master File Table, the most important file).
> Below is the output you requested (transcribed from the screen, as I was
> unable to just copy it). As you can see, there is plenty of free space,
> but I cannot free more than 99MB. Thanks!
>
> ===========================================
> Output of "ntfsresize --info /dev/hda1":
> Current volume size: 39999500800 bytes (40000MB)
> Space in use: 14827 MB (37.1 percent)
> File feature Last used at By inode
> Multi-record: 39901 MB 0
> You might resize at 39900835840 bytes or 39901 MB (freeing 99MB).
> ===========================================
The 'Multi-record' line above says that inode 0 used at 39901 MB. Inode 0
is the MFT. This is the "highly fragmented MFT" case.
Now, MFT usually starts at 3GB due to performance reasons (Microsoft
documented so and reflects real world) hence if XP's defragmenter indeed
defragmented the MFT, as Microsoft claims it is able, then you have 39 - 3
= 36 GB MFT. But it can't be true since you have only 15 GB data on your
partition.
In short, you just refuted another Microsoft marketing hype,
congratulations! ;) XP doesn't able to _fully_ defragment the MFT,
it does only partial defragmentation.
What can you do? First of all, make a full backup (ntfsclone, partimage,
etc). This is a very rare case and many (free, commercials) tools miss(ed)
this case or can't cope with it properly. Actually even Microsoft had to
release at least once an NTFS driver fix in the past when this happened
since Windows wasn't able to boot anymore.
Then you could experiment. I doubt any defragmenter would _fully_
defragment the MFT _even_ if they advertise they are capable to defragment
it (probably they also just do MFT record level defragmentation). The best
luck you could have is perhaps the O&O defragmenter -- I know _nothing_
about it, never used or affiliate with them but people wrote the best
about that one in the past to me).
You could also try the shareware BootItNG NTFS resizer. Same comments as
above, people wrote excellent opinions but I've never even downloaded.
I could also add support for this case in the future when time allows if
you could provide off-list the NTFS metadata
ntfsclone --metadata --output ntfsmeta.img partition
tar -cjSf ntfsmeta.img.tar.bz2 ntfsmeta.img
I have only artificial test cases for this pattern, no real-world one yet
and I don't want to release any code that wasn't fully tested at least
with one real-world such NTFS metadata.
I'm aware if you have only one NTFS partition on one disk then getting the
above data might look tricky but there are several solutions, let me know
if you're willing to or need help in this.
Cheers,
Szaka
|