Helping people with computers... one answer at a time.

Hard disk errors come from several different sources, and as a result there are several different approaches to resolving them.

Hi, I have a Computer running Windows XP SP2 that keeps returning a G:|$mft corrupt error. I have looked everywhere to try and find a fix for this, but to no avail. It would appear to not effect anything except for the error message popping up and the system wanting to check disk on boot every time. Any clues?

I don't have anything specific to that error, but what I'll do instead is outline the various steps I take when attempting to diagnose and repair a problem of this nature.

Depending on the underlying cause, this could be a simple fix, or a disaster waiting to happen.

I'm going to classify hard disk problems into three broad categories:

  • Soft: what I'll call "soft" errors are errors in the data written to the disk. There's absolutely nothing wrong with the disk itself, it's simply that the data written to it has somehow become corrupt.

  • Hard: what I'll call "hard" errors are errors in the drive itself. Actual physical or electrical failure of some sort that would require the drive to be replaced or repaired.

  • Firm: "firm" errors are those errors that are actual physical issues on the magnetic media of the hard disk, that can be repaired by software. This is going to cause the most confusion, since these types of errors can manifest in exactly the same manner as either soft or hard errors.

Here's the problem: if you experience a failure, such as "$mft corrupt", or an operating system that won't boot, or a file that reports a CRC error, how do you tell what kind of failure you have?

Ultimately, you don't. Just about any symptom of a hard disk failure could be a soft error, a hard error or something in between.

"... if you experience a failure, ... how do you tell what kind of failure you have?"

So here's what I do.

Start with what you have.

Every Windows system from Windows 2000 on comes with a command line utility called "CHKDSK", short for "Check Disk". That's typically the first thing I do, fire up a Windows Command prompt and run "chkdsk":

C:\Documents and Settings\LeoN>chkdsk D: /f
The type of the file system is NTFS.
Volume label is NOTENQUAD1G.

CHKDSK is verifying ...
...

Chkdsk's primary function is to check for problems in the file system, in other words it checks for soft errors in the data that's been written to the disk. If there's a problem in the file system, chkdsk will attempt to correct it.

If the problem I'm experiencing has not been resolved by this, I then move on to the next step which is to run "chkdsk /r".

C:\Documents and Settings\LeoN>chkdsk D: /r
The type of the file system is NTFS.
Volume label is NOTENQUAD1G.

CHKDSK is verifying ...

The "/r" switch instructs chkdsk to "Locate bad sectors and recovers readable information", which starts to send chkdsk into the realm of what I've been calling "firm" and "hard" errors. "Bad Sectors" can happen for several reasons, and chkdsk will attempt to identify them, mark them as bad so they won't get used again, and move any data that is readable to different sectors.

I run "chkdsk /r" separately because it can take significantly longer than regular chkdsk.

Try Heavy Duty Tools

If after "chkdsk /r" the disk still has problems, it's time for a big gun: SpinRite.

SpinRite is not free. (At this writing,it's $89.00 US.) But in the face of a hard disk failure and the potential for lost data it can often be worth every penny and then some.

SpinRite's focus is on what I've called "firm" errors - those areas on the magnetic media of the disk that can be recovered by software. SpinRite is that software.

SpinRite actually pays no attention to the file system on the disk. It could be FAT32, NTFS, or even a Mac or Linux formatted disk, SpinRite doesn't care. It looks only at each individual sector, one at a time, and attempts to ensure that the sector is readable. As a result SpinRite will not fix file system errors; it's not looking for those, and that's why we started with chkdsk above.

However, SpinRite can often fix what other tools cannot: unreadable sectors. SpinRite uses some fairly intense data recovery analysis to try to get the data from sectors that are unreadable through normal means.

And in fact, that's one of the primary differences between "chkdsk /r" and SpinRite. When chkdsk encounters a bad sector it says "oh, I can't read this, so we better mark it so we don't try to use that sector again" - which loses the data in that bad sector. SpinRite instead will say "oh, this read failed - let's use some other techniques to try to recover the data, and if that succeeds then we'll decide whether the sector can be re-used safely". You stand a significantly greater chance of recovering the data from a bad sector with a tool like SpinRite.

What's the only downside of SpinRite? It can take a while. The time is proportional to the size of your disk and the number of problems it encounters along the way. But as I said, as with the money the time can also be an incredibly worthwhile investment if it means not losing your data.

The key to understanding SpinRite is simply this: it will not fix filesystem errors, that's chkdsk's job, and it cannot repair actual broken hardware. But what it can often do is recover data from a hard disk's damaged magnetic media.

Still Unrecoverable?

If SpinRite reports that sectors cannot be recovered or worse, then it's time to consider replacement. Even if the disk is functional, for example with the intermittent error you're seeing, I'd consider it too risky to continue to rely on. Copy off and backup what data you can, and replace the drive.

As I said above, the root cause of hard disk errors can be difficult to identify. A bad sector on the drive, if in the wrong place, could render a machine unbootable, could cause a program to randomly crash, could manifest as an actual "CRC" error ... or could not show up at all. And all of those same symptoms could be due to corruption of data on the disk (soft errors), actual hardware failures (hard errors), or damaged, but potentially recoverable data on the disks magnetic media ("firm" errors).

Chkdsk plus SpinRite won't resolve every situation, but knowing to use them may save you from data loss in many situations.

Article C3472 - August 10, 2008 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

Recent Comments
32 Comments
ewhen
May 18, 2011 8:37 AM

My hard drive (with all my data) has died. I am wondering if I can repair the disk with SpinRite (or other) as opposed to just getting the data off. I use XP Pro. My proble - whilst using Excel it started crashing every time I tried to perform a task - giving me the "Unrecoverable error..... send to Microsoft" message. I opened Excel twice and the same thing occurred. I rebooted the machine... and nothing happened. I tried booting off an XP recovery disk - but it only gave me the option to reformat and clean install. I have how done a clean install of XP on a different hard drive, and connected my original as a second drive. In Explorer - if I try to view the disc it says "this disc is not formated, do you want to format...". If I right click properties on the drive it tells me its 160GB drive, format is "RAW" and that the disc is full. In Control Panel\Admin Tools\Comp. Management\Disk Management it tells me 152GB Healty (Active) but if I try and do anything "drive G: not fomatted....". I've opened a dos window (cmd) and tried chkdsk \r and get Data error (CRC). Is there anything else I can do, and do you think Spinrite would help?

Thank you
Ewhen Kurlak

It's what I'd try next. They'll refund your money if it doesn't.
Leo
19-May-2011

kuber
November 21, 2011 6:55 AM

hi leo, my computer has some problem. my hard disc is "error loding os"

Mark J
November 21, 2011 2:47 PM

@Kuber
It sounds like a file or some files have been damaged on your hard drive. In your shoes I'd run a live Linux or Windows PE disk to try to backup any documents from my hard drive. (I can't give any more details on what to back up as you haven't specified which OS you are using). Then I'd try a repair re-install from my Windows installation disk. If that didn't work I'd try a fresh install.

Upendra
December 8, 2012 8:52 PM

Hi Leo,

I have a Acer laptop and it just stopped starting window OS which was there. I thought to format the OS, it may be the OS have been corrupted.


When I tried to start formatting in Win 7, it just halts during fresh installation process. I tried in Ubuntu and I got some error message like "some bad sectors are there".

How can I solve the issue in my hard drive?

connie
December 8, 2012 10:05 PM

@Upendra
Sounds like a hardware problem with the disk. Here's a good article to read:
How do I fix a bad sector on my hard drive?