When CHKDSK reports "insufficient memory"
When a CHKDSK /F command aborts with an "insufficient memory" error, most people scratch their heads and wonder why a machine with megabytes of free RAM and gigs of free hard disk space is saying this. The answer is unfortunately rooted in one of the most severe and hard-to-repair kinds of damage that can befall an NTFS drive -- damage that is usually due to some kind of low-level physical failure.
NTFS maintains several files, hidden from user access, which contain metadata about the file system -- $MFT and $BitMap are two of the most common, with $MFT being the Master File Table and $BitMap being the volume bitmap (a representation of which clusters on the disk are being used). CHKDSK has to have write access to the file system it's trying to repair (which is why the system volume has to be checked after a reboot to give CHKDSK access to system files which are normally locked). And one of the conditions of having write access is being able to read and write NTFS metadata properly. So if one or both of these files are damaged to the point where it is not possible to write new clusters to the disk safely, CHKDSK /F will not work and will abort with this misleading-sounding error.
The options at this point are few and generally expensive. If the data on the disk is critical, then the only real solution is either a data recovery firm or the use of a third-party product such as OnTrack's EasyRecovery. The free demo version of the product allows you to recover five files at once; the full version is $400 and is probably worth it since one trip to a data recovery clinic can cost that much or more. Even if the recovery is successful, your best bet is to discontinue using that disk if you can afford it and start over with a fresh one.
Serdar Yegulalp is the editor of the Windows 2000 Power Users Newsletter.