Eric's Webspace
Recover CHK Files

Important:  Save yourself some trouble. If you already know the extension of the file(s) you want to get back, just rename all your CHK files to the desired extension and see what works. The programs here are for when you have way too many CHK files to test or when you have way too many different file extensions you want to recover.

So what is a CHK file?  Well, any time a program or Windows crashes, any files that were open are not closed properly. Part of closing is writing all the file location information in all the right places. Without this info, Windows can't find all the parts of the file. When SCANDISK or CHKDISK is run, all the parts are identified as "lost file fragments" and converted (if you want) into CHK files. Face it. Stuff crashes all the time. If you only run SCANDISK once a month, you get a month's worth of old crash junk. If you were working on (and lost) something important just before a crash, you might want to try to recover any data from any CHK files that exist. On the other hand, if you aren't in a state of panic over lost data, just delete any CHK files. A handy tip: Keep your disk defragmented. That way if you ever do lose it all, the lost file fragments will be more likely to be complete files.

Welcome Competition!  A nice guy named Martin Kratz wrote a utility to compete with my UnCHK program. Amazingly, he sent me the source code. So... I compiled it and am offering it here for your consideration. Now you have two open-source CHK file recovery programs to choose from!

Both programs need the Visual Basic 5 runtime files, which come pre-installed on Windows 2000 and newer. If you don't have them, you can get them from Microsoft or Ziff-Davis. I'll do a side-by-side comparison:
 

UnCHK (Eric Phelps)
FileCHK (Martin Kratz)
Out-of-box supported file types JPG PSP PSD GIF ZIP CAB EXE DLL OCX WRI BMP DOC PPT XLS PDF RTF HTM WAV MID AVI RAR TIF MP3 WPD FPX EPS CLP 3DS TIF EXE BMP SWF PSD AI GIF PST CAB RAR CHM MID PDF ZIP HLP MP3 DWG MPG LNK URL HTM JPG TTF MDB MOV QT DOC XLS RMI WAV AVI CDR TXT ASF
Can add more file types? Yes, just drag a good file and drop it on the program (only applies if that file type has a standard header). No.
Alters CHK files? No. Makes a copy of the CHK file and gives the copy the correct extension. Yes. Renames the original CHK file so it has the correct extension.
Recovers any CHK file? Yes. Anything with a CHK file extension is checked. This makes things more flexible. No. Only acts on files named like "FILE####.CHK". This makes things safer in case there are legitimate files with CHK extensions.
Identifies files by file header? Yes. Also looks inside some files in an inexact way to try to discriminate between different types of files that share the same header.
Yes. Also reads inside the file in a more exact way to tell different files that use the same header apart.
Looks inside CHK files to recover cross-linked files? Yes (if you choose the "hard disk" option).
No.
Looks inside CHK files to recover embedded items?
Yes (if you choose the "embedded files" option).
No.
Runs fast? Fast enough. And it has a percentage done indicator so you'll know whether you have time for lunch.
Yes. You won't believe it.
Has cool graphical interface? Cool? Well... It has an interface. No. No way. None at all. Except for the "Done" message when it finishes.
Stable? It works for me. Always. It's too simple to break.
Selectable directory? Yes. You pick what directory CHK files are in and what directory you want recovered files to be in. The program itself can be anywhere. No. Put the program in the same directory as your CHK files and run it.
False negative or false positive recoveries? About a quarter the files it recovers are either mis-named duplicates (which can't be opened) or fragments (which you might not be able to open). But it allows you to choose scan depth options so you can decide how to trade off missed files and false detections. Might not recover a file fragment and never recovers a cross-linked file, but the files it does recover can more likely be opened without errors. 


The UnCHK program link above (at the top of the comparison table) is for version 3. Version 3 was built for Windows 2000, but might work on computers as old as Windows 95. Version 2 was built for Windows 95, but might work on computers as new as NT4. Version 1 was built for Windows 3.1 and might work on computers as new as NT4. I recommend you use the newest version that applies, because the older versions really needed the fixes and features that are in later versions!



Other free recovery programs
PC INSPECTOR File Recovery  A generic file and disk recovery program.

Avira UnErase  From the people who also provide the free Avira antivirus

PC INSPECTOR Smart Recovery  Recovers jpg, tif, bmp, gif, crw, raf, raw, orf, dcr, mrw, nef, x3f, avi, mov, wav, and dss image and multimedia files from most digital camera removable memory devices.

Zero Assumption Digital Image Recovery  Recovers GIF, JPG, TIF, WAV, MOV, and CRW. This dedicated image recovery utility was made to recover digital camera data, so it recovers an entire drive.... which means use it on a mounted camera or CF/SD card, not to recover a few CHK files on a normal hard drive!



If you've lost your entire hard drive and you already tried fixing it with ScanDisk, then UnChk and FileChk (or something like them) may be your only hope. Once you run scandisk or do anything else to a bad drive (like running a program or copying a file), you make changes to the "File Allocation Table" (FAT) that helps track where the files are (were) actually stored. If you lost your entire hard drive, your FAT probably got damaged by an accident that killed Windows while it was busy updating the table. If you use Scandisk, it goes through and builds an entirely new file allocation table, permanently replacing whatever was left of the previous one. Which eliminates all hope of every fixing the original FAT.

If all your recovered files only seem to be pieces, it's because your files are (were) fragmented. All hope is lost. Well... If you have a viewer that lets you see the good part of a bad file (like you can see half a picture or hear half a song), then it will take you about one solid month of work to recover a single file. If you can't  see partial files and you have more than a few fragments in a file, you are on the wrong side of a big factorial. There will be nothing but neutrons and black holes in the universe by the time you get anything recovered. You're better off starting over.

Your only hope is that you were hit by a particular kind of virus... Maybe a virus made a separate copy of your FAT and hid it in a "bad" sector of your hard drive. The virus then put a fake FAT in it's place. If the virus suddenly got killed (usually because a newer virus tried to take it's place), then nobody would know where the real FAT was hidden. If that's what happened, you might be able to use an anti-virus program to find your missing FAT. A clue would be if ScanDisk or CHKDISK says you have "bad" sectors on your hard drive. There are also some dedicated disk recovery programs that are familiar with common hiding places for FAT tables.

If you ever lose your entire hard drive again (and you know it's badly fragmented), turn the computer off, pull out your bad hard drive, run out to the store and buy a new hard drive and a recovery program. Install and format the new hard drive in the computer and make it the primary drive. Reinstall an operating system on the new hard drive. Install the recovery program on the new drive. Then install your bad drive as a slave. Once the recovery program is running, tell it to try to repair the FAT and preserve the original file names as much as possible.  If you're lucky, the recovery program might even be able to fix your bad drive. If not, you at least stand a good chance of at least getting your data copied onto your new drive.  By the way, the better recovery programs (and better computer techs) NEVER write to or change anything on a bad hard drive unless they are VERY sure they can bring the bad hard drive 100 percent back to normal.

I can't recommend a disk recovery program. It's not that I won't recommend a program, but I can't recommend a program. I have almost no experience with them!  Most of what I know is based on a vendor's reputations and on what I've heard.

The first one that comes to mind is Symantec (Norton Utilities). I also remember "LostAndFound" from PowerQuest, but I see they've been purchased by Symantec. Maybe you can find someone (other than me) who downloaded or bought it while it was available. PowerQuest/Symantec now suggests Total Recall's VirtualLab.  I tried it and was impressed, but found they wanted about a hundred dollars for the first gigabyte of recovered data. Ouch! Steve Gibson's SpinRite disk recovery software has a very good reputation. SpinRite will work on any file system to recover low-level hard-disk errors. Another great company is OnTrack. They mainly do paid disk recovery, but they also sell programs so you can do your own disk or file recovery.  Sysinternals is another company with a good reputation. Ask almost any sysadmin, and you'll find at least one of their tools being used. Sysinternals offers NTRecover and RemoteRecover for limited transfer of NTFS files from a bad computer. Sysinternals gives most of their utilities away free, but the unlimited recovery versions of their software do require you to spend something! Finally, there's RunTime, a company I only know of because of a recommendation. RunTime has several disk recovery programs. The big reason I include it here is that they support (and have links to and from) Bart Lagerweij's PE Builder -- a method of creating a bootable CDROM to host your recovery programs. The link from Bart's site to RunTime really raises RunTime's credibility. Having a bootable CDROM around in case of problems is such a great idea. And being able to customize the CD to include the programs you want makes it an even better idea!

My personal experience with disk recovery was when I managed to wipe a 20GB disk (by foolishly installing and uninstalling a FAT disk encryption program). I had a feeling all the data was there, but that the FAT table was bad: Windows 2000 wouldn't see the drive, and the disk manager showed it existed with an unknown partition type. I tried Active Partition Recovery, and while it was a little awkward, it did convert my hard disk from the inappropriate FAT12 into the correct FAT32, thereby recovering the hard drive. That set me back about 40 bucks, but I had darned little choice -- the disk that got lost was the one I had all my disk recovery software on. No backups, of course!

I searched PC Magazine for software reviews and found this page:
http://www.pcmag.com/category2/0,4148,4834,00.asp

I searched Google with words like "file disk recovery data download" and I was shocked to see how many disk recovery programs are out there! Here's a few in no particular order and with no recommendations. Most offer a free preview version that will show you the data they can recover (after you pay for the full version):

http://www.stellarinfo.com/
http://www.jufsoft.com/badcopy/
http://www.z-a-recovery.com/
http://mediarecover.com
http://biatchux.dmzs.com/
http://www.ntfs.com/products.htm
http://www.recovermyfiles.com/
http://www.bitmart.net/
http://www.wrinx.com/products/recover/
http://www.r-undelete.com/
http://www.finalrecovery.com/
http://www.softwareshelf.com/default.asp
http://www.downloadfreetrial.com/utilities/file_&_disk_recovery.html

MP3 Files  Virtually everybody I know who's lost a bunch of MP3 files knows which files are the MP3 files they've lost. Really, you don't need either of the above UnCHK or FileCHK programs! Just rename the files so they have an MP3 file extension. Then see which ones actually play! The next problem is how to rename all the MP3 files by song title and/or artist. Luckily, there are several perfectly good MP3 ID3 utilities out there that can automate the renaming task. You can search the web and find several, but my favorite software site is SourceForge (because like the UnCHK program, all their software is free and open-source). SourceForge has the following Windows MP3 ID3 projects:

http://massid3lib.sourceforge.net/
http://entagged.sourceforge.net/
http://mp3bookhelper.sourceforge.net/

<>
Martin's Explanation on
FAT and Filenames
        Filenames are contained in ordinary files with the DIR attribute set, which DOS and Windows recognize as directories / folders. There you find for each file contained in that directory: DOS 8.3 file name in ASCII, Win Long file name in Unicode, file size, Create/Modify/Last Access Date, attributes (such as ReadOnly, Hidden, Archive, System, and DIR [meaning actually a subdirectory, not a file]) - and the disc sector cluster number of the file's first fragment.
        With the latter info, the OS goes to the FAT to find out the cluster numbers of all subsequent fragments - that's all a FAT does. It describes clusters - whether they're free, bad, or used.
       It's possible to use some sector-level disc editor to search lost directories for files with 1st cluster numbers matching the1st cluster number of a given FILE####.CHK, but that that would probably take weeks (it has to be done manually) and you can totally forget it if the disc in question is your C: drive.
        There are FAT-16 and FAT-32 file systems. FAT-16 FAT entries are simply 2-byte unsigned integers and hence can hold values of up to 2^16-1 = 65535 for each cluster. That's why we have clusters - on discs having more sectors than that, Gates had to lump subsequent sectors together in clusters to scale down the numeric values. If a cluster is used, the FAT entry of that cluster gives the number of the cluster where the next file fragment sits, or some special value if the cluster has the last fragment of a file.
        However, cluster sizes in the MByte range would be a waste of disc space because of slack. Imagine a 300-byte Iexplorer favorite taking up 1MByte on a 65-GByte disc because it has to combine 2048 512-Byte sectors into 1 cluster in order not to have more than 65535 clusters. So Gates came up with FAT-32 - to get cluster sizes back down to at least tens of kBytes. By the way, that's why "file size" and "size on disk" are different ballgames (last fragments of files not filling up their entire clusters), and that (among other things) is also why Gates should be serving >=10 yrs in a boot camp for not combining all favorites in a single bookmark file, like Netscape does (at least he combined all those pesky WIN3.11 INI files into SYSTEM.DAT and USER.DAT).

After reading Martin's explanation, you may see how after CHKDISK or SCANDISK "fixes" your hard drive, NEITHER of our two recovery programs wil get your original file names back. Why? Because both our programs are ignorant of any recovered directory files that might contain the original names.  We both treat a recovered directory file as just another file.


Lost? Look at the site map.

Bad links? Questions? Send me mail.

Google
Yahoo
Ask Jeeves
PicoSearch