CheckIt PRO: CKMEDIA Applet Copyright (c) 1993 TouchStone Software Corporation. ALL RIGHTS RESERVED. FREE License to Use the CheckIt PRO: CKMEDIA Applet TouchStone Software Corporation (developer of CheckIt) is pleased to provide you a FREE license to use the CheckIt PRO: CKMEDIA.EXE applet (mini-application program), provided that you do not modify the program in any way. You may make as many copies of the program as you need for your own use or to pass along to others as long as you also include this text file in its original form. Neither the program or this file may be (resold) distributed as part of any commercial venture. DOS 6.0 and Data Corruption Problems There has been a lot of discussion in the press lately regarding DOS 6.0 and possible problems with DoubleSpace compression. In the process of doing our own research for CheckIt PRO, we did indeed encounter some problems with data loss, but not as a direct result of DoubleSpace compression. The specific problems that we identified were actually due to installing DoubleSpace on a drive with latent errors, or physical media defects which caused some data areas on the drives to be marginal for storing data safely. The problems that occurred on our DoubleSpace volumes could have been prevented by testing the drive to detect unsafe data areas (clusters), then re-formatting or re-marking the clusters as bad to prevent any file, especially a DoubleSpace volume, from using them. QuickStart: The CKMEDIA.EXE applet finds disk surface and file structure problems with your HD, FD, or SyQuest/Bernoulli drives. These latent errors may cause data corruption once you format them with DOS, or begin using DoubleSpace or SmartDrive. The CKMEDIA applet is completely harmless; it creates a report but doesn't alter the disk. We recommend you use it in conjunction with CHKDSK, which finds corrupted cluster links. To get started, type: C:>DOS6PREP To Run CKMEDIA & CHKDSK from a BAT file C:>CKMEDIA C: To Test Drive C C:>CKMEDIA /? To See program Help C:>TYPE CKPRO.RPT | MORE To View default program output C:>CHKDSK > CHKDSK.RPT To Run CHKDSK & create file If you want to learn a little more about the DOS data corruption problems we've found, or how this procedure can help you avoid them, read on... Problems Created by the DOS FORMAT Command Older MFM and RLL-encoded drives are more likely to experience data-loss because of the lack of error detection built into the drive. Newer technologies such as IDE has intelligence for managing bad tracks and therefore become less susceptible, although not impervious. Before you begin using a drive for data you should always first test it rigorously to eliminate any chance of potentially bad clusters being assigned for use by DOS. This preparation step is particularly crucial for compressed drives. In our testing, we backed up an existing MFM drive which had been in use for a while. Several marginal clusters were detected over time by our CheckIt hard drive test and therefore marked as bad in the FAT. Then we performed a DOS FORMAT before installing DoubleSpace. This created a special circumstance which not all users may be aware of. Incredible as it may seem, the DOS FORMAT process does NOT preserve any entries marked as "BAD" (FF7h for 12-bit FATs, FFF7h for 16-bit FATs) in the File Allocation Table (FAT). All of the bad sector marks we had painstakingly applied with Disk Doctor and DiskFix were gone. Instead of carrying forward this vital information, the DOS FORMAT re-marked all of these bad clusters "Available for Use". Subsequently, when we restored the data some of the bad sectors were assigned to data files -- and others ended up being assigned to critical areas like our DoubleSpace compressed drive. As we began to use the drive again, errors occurred and the data files became irrecoverably corrupted. Another problem with the DOS 6.0 FORMAT is that it may even return to use some of the sectors that have been marked as part of a Bad Track at the low-level! During the format, it will re-read individual sectors that are part of a marked track, and make the determination that some of them may be useable (this is what's happening when you see the message "Trying to recover allocation unit #"). However, the test performed by the DOS Format is inadequate, and sectors may be returned to use that would fail more rigorous tests, and will subsequently cause errors and data loss. The lesson here is, try to avoid using FORMAT.COM, and make an effort to mark bad sectors at the low-level. Even though no method seems completely impervious to the DOS FORMAT process, at least with the low-level format you have a much better chance of avoiding re-use of the bad sectors. We recommend that the entire track which the bad cluster occupies be marked out at low-level -- you can do this with the formatter supplied with your drive, or with the Checkit PRO Universal Low-Level Formatter. If you aren't willing to backup your drive do another low-level format, then retest your drive using our free CKMEDIA utility to create a list of the bad clusters, and purchase a utility to re-mark them each time you use the DOS FORMAT. We plan to include a replacement for the DOS format command in a future release of CheckIt PRO. Media Problems and DoubleSpace: The use of disk compression magnifies the potential for problems if a drive is less than perfect. Once installed, DoubleSpace creates a single large file (the size depends on how much of your drive you want to compress) which becomes the new DoubleSpace volume. This volume contains its own file structure for managing files that have been compressed as well as the compressed files themselves. Since the DoubleSpace volume occupies a significant portion of your drive, the chances of a "marginal" data cluster being assigned to it for use are somewhat substantial. More of disk space is now devoted to critical areas such as the DoubleSpace's internal subset of the FAT and header data. Furthermore, more data is packed onto each cluster, and it is more difficult for data-recovery utilities to unscramble errors in these areas. Cross-Linked Files: When data errors occur, they may be caused by -- or they may result in, "cross-linked files". This term refers to a file which references a cluster which is also referenced by another file (a cluster should only ever be referenced by one file). Once a cluster has become cross-linked, a future read/write operation may cause either or both of the files to become unreadable and your utilities or applications may crash when attempting to access the file. Since DoubleSpace creates an entire disk drive within a single file, a cross-linked cluster within this special file can create major problems, and even cause the loss of all the data in the compressed drive, if the bad cluster is within one of its critical areas (the headers, buffer area, or compression table). Cross-linked files may be created as an indirect result of re-use of bad clusters caused by the DOS FORMAT command, because a read error by an application may cause it to crash and corrupt the FAT. They can also be caused by using the SmartDrive caching utility in delayed-write mode, and then having your system crash, rebooting, or turning it off before all the data is written out and the file closed properly. A third method we have seen involves running DOS programs under Windows and swapping between them during file I/O. The cross-linked or corrupted-link clusters are a serious problem likely to get worse; and we recommend that you run CHKDSK at least daily to prevent this from happening, if you use your computer frequently with DoubleSpace or SmartDrive. File Names with Special Characters: We also found, in reviewing some of these problems with other developers, that the DoubleSpace installation program is especially sensitive to the use of illegal characters in DOS filenames. If any filenames or directory names on the your disk contain an illegal DOS filename character, corruption may likely result. We added the capability of reporting these names to our CKMEDIA applet, to help with this problem. Test your Disks with CKMEDIA: The CKMEDIA.EXE applet is a specialized version of the CheckIt Hard Drive Test, which we have improved and extended to cover the range of DOS 6.0 & DoubleSpace problems described above. In this version, CKMEDIA.EXE not only checks the entire disk surface for problems, but differentiates between clusters/sectors already marked bad at the low-level format and those marked at the DOS level (as well as, of course, bad clusters that are not marked at all). It also shows the type of use for each bad cluster -- so you can see right away if any critical areas are involved. Finally, we added a check on filenames, so CKMEDIA.EXE will list the full pathname of all files with special characters in the name. NOTE: CheckIt 3.0 and CheckIt PRO also include excellent programs to use for finding surface errors -- the CKMEDIA.EXE applet simply adapts that technology to this special situation. For best results, if you have those programs you can run them too, as they include more specific tests of the drive mechanics and may detect additional errors. And while you may have other utilities for finding disk errors, we strongly recommend that you use CheckIt or the CKMEDIA.EXE applet because the tests they perform are rigorous and may discover errors missed by other programs. In addition, the other utilities generally do not show all the information you need to determine which sectors need to be re- marked, the relationship between logical clusters and physical sectors, or whether bad sectors are currently being used for any critical disk areas. Also, be aware that the results of tests may vary slightly. We recommend taking the pessimistic perspective on all errors and mark all the sectors/clusters that fail any test. How to Use CKMEDIA The CKMEDIA.EXE applet can be used as a command at the DOS prompt, or from a DOS batch file with a variety of output options. The interface options also allow it to be called from another program. This syntax is typical of the 20 or so applets that are included with CheckIt PRO. To view this syntax when you're using the program, simply type CKMEDIA with no parameters and a help screen will be displayed. CKMEDIA - DOS Drive Structure/Media Test CheckûIt PRO: v1.07 Copyright (c) 1989-1993 TouchStone Software Corp *ALL RIGHTS RESERVED* Usage: CKMEDIA drivename [/T:#test] [R:start-end] [/F:filename,type] [/I:interface] [/O:dest,format] [/N:"note"] drivename Letter-name of drive(s) to test (A, C, etc., up to four). /T:#[test] Run # iterations of the specified phases (default=1bfrdn). test One or more of the following: b = boot sector f = FAT sectors r = root directory d = data clusters n = naming check c = CHKDSK results /R:start-end Test this range of clusters (ie /R:2-1000). /F:filename,type Store bad entries to this file. type b = bad tracks (BIOS geometry) c = bad clusters for marking at DOS level f = invalid file and directory names /I:s[a] Silent. Run with no program interface. /I:t[a] Terse. Simple display output (default). /I:b[a] Boxed test dialog for batching. (the optional [a] sounds a beep on failures/anomalies). /O:[dest,format] Send output to destination in the specified format. dest Any valid DOS file or device name. DOS devices include CON, AUX, PRN ,LPTx, COMx, and NUL. format Any of the following: a = ASCII format (default setting is /O:CKPRO.RPT,A). j = Journal format. Used for debugging. /N:"note" Add a note to the output. (i.e. /N:"This is a note") Example: CKMEDIA C E /T:3bd /O:prn,a /O:ckpro.rpt,a /N:"Test Drives C & E" To make the applet easier to use for those who are not familiar with our syntax style, we have included a BAT file which illustrates how to use the applet in combination with the CHKDSK utility (required to provide the cross-link information). The BAT file to check drive C: is DOS6PREP.BAT: CHKDSK C: > CHKDSKC.RPT DEL *.RPT DEL CKMEDIA.JNL CKMEDIA C: /T:brnfdc /F:BADTRACK.RPT,B /F:BADCLUST.RPT,C /F:BADFILES.RPT,F /O:CKMEDIAC.RPT,A /O:CKMEDIAC.JNL,J /N:"TEST HD C:" TYPE CKMEDIA.RPT|MORE TYPE CKMEDIA.JNL|MORE If you use the BAT file, output from CKMEDIA will consist of up to 6 files: CHKDSKC.RPT Report from CHKDSK on drive C: CKMEDIAC.RPT Report of Test Results. CKMEDIAC.JNL Journal (report) of step-by-step test progress. BADTRACK.C Data file with the addresss of all bad sectors found. BADCLUST.C Data file with the numbers of all bad clusters found. BADFILES.C Data file with the pathnames of all bad filenames. How to Use the CKMEDIA Report: 1. Boot Sector Test. If this test failed, you cannot boot from this drive. You may use the disk to store programs and data files (only). 2. FAT Sector Test. If this test failed, you already have a very serious problem which may not be able to be repaired. This test compares the FAT and its backup copy, which should be identical. 3. Rootdir Test. If this test failed, you already have a very serious problem which may result in the loss of at least some subdirectories. 4. Data Clusters Test. If this test failed (at least one unmarked bad cluster), there will be a list of bad clusters in the output file. If the bad cluster is in a critical area, it may already be too late -- but you can try to backup as much data as possible from the entire disk, and then perform a low-level format before restoring the data. When you perform the low-level format you will need to re-mark all the bad tracks (if you use the CheckIt PRO universal low-level formatter, it will use the data in the BADTRACK file and mark them automatically). The low-level format markings will be safer in the long run, if you continue to plan using DOS 6.0 because they are less likely to be destroyed by the DOS FORMAT command. The CheckIt PRO low-level formatter will format all types of drives, including ESDI, SCSI, and IDE as well as MFM and RLL. On the other hand, you can also use utilities like Disk Doctor to re-mark the Bad Clusters at the DOS- level, but BEWARE: If you ever use the DOS FORMAT command again, all your markings will be lost and you will be in danger again! 5. Filenames Check. If this test failed, there will be a list of pathnames in the report file which contain illegal characters. This problem is less serious. Simply change each filename to one which has no illegal characters, unless your application must use the name as it is currently specified. In that case, the file must be moved off the drive to be compressed to another uncompressed drive. 6. CHKDSK Results. If this test failed, it means that your disk contains cross-linked clusters. Examine the file named CHKDSK?.RPT to see the cluster numbers which are currently cross-linked. You may be able to recover, depending upon which files are affected. In general, you can run the CHKDSK utility again, with the /F option to have that program create a file with the data from the cross-linked cluster in it. Examine this data and see if you can determine which file it belongs to. This type of problem should be fixed IMMEDIATELY, before you use your hard disk further. 7. CKMEDIA Data Files: The Bad Tracks, Bad Clusters, and Bad Filenames data files are only created as needed. The Bad track file is formatted for use directly by the CheckIt PRO Low-Level Formatter. The Bad Cluster and Bad Filename file will be useful if you decide to re-mark clusters at the DOS level, or change the filename using another utility. You Really Ought to Get a Copy of CheckIt PRO! CheckIT PRO is the diagnostic program of choice for most serious PC technicians, and has recently been awarded PC Magazine's Editor's Choice for System Reporting utilities. The retail CheckIt PRO product provides not only many more diagnostic applets, but a pretty menu interface for them, and customizable test scripts. Important features include: CheckIt PRO: SysInfo Over 50 charts, tables, and graphic displays that show: * Detailed hardware component and software configuration data * The most accurate IRQ Usage and I/O Address Map information * CMOS Setup and DOS/Windows System File Editor * Performance Benchmarks with User-Modifiable Comparison Library * Built-In Technical Reference Library CheckIt PRO: Tests & Tools Hardware Diagnostics for: * Comprehensive Testing of System Board, Memory, Hard Drives, Floppy Drives, COM Ports, LPT Ports, Printer, Video, Joystick, Mouse, and Keyboard * Scripts for Quick Test, System Certification, and Burn-In * Universal Low-Level Formatter for all types of hard drives * Virus Scan that detects over 2,000 viruses including Polymorphic * Create Rescue Disk function that creates a bootable floppy with copies of your CMOS, System Files, Device Drivers, and Utility Programs necessary to recover from a hard drive or system crash. CheckIt PRO: Deluxe This new package includes both volumes of CheckIt PRO described above, plus a Tool Kit consisting of: * 3.5" and 5.25" Mini-Spiral Floppy Drive Alignment Testing Disks * Set of 3 Loopback Plugs for IRQ and external COM, LPT port tests * Screwdriver, Cable Labels, etc. Isn't it time for you to Get With the PROgram? CheckIt PRO is available at most computer software resellers. To purchase a copy or find out the name of the store nearest you, write or call: TouchStone Software Corporation 2130 Main Street Huntington Beach, CA 92648 USA Phone: (714) 969-7746 or (800) 531-0450 And REMEMBER: When in Doubt, CheckIT OUT!