Jun 00 NetManage
Volume Number: 16 (2000)
Issue Number: 6
Column Tag: Network Management
by John C. Welch, Edited by Ilene Hoffman
Reviewing the leader in Macintosh disk maintenance utilities
DiskWarrior, from Alsoft Inc. <http://www.alsoft.com> is a disk repair utility for the Mac OS. It fixes directory damage and works on HFS and HFS+ drives. Released at the Macworld Expo 2000 in January, version 2 adds the ability to prevent disk damage by preventing applications and utilities from writing to the disk in a way that would corrupt or damage the directory.
DiskWarrior has only two components, the application and the DiskWarrior extension. Although Alsoft includes an installer, you can just drag the application to the desired location on a local hard drive, and drop the extension on the active System Folder. Once installed, reboot and you're done. If you don't install the extension, the reboot is not needed.
DiskWarrior's interface is a model of simplicity and efficiency. As shown in Figure 1, the main window has only two tabs, and a minimal number of controls. When compared to other utilities, such as Norton Utilities and TechTool Pro, DiskWarrior has a simplistic interface. There is no power user mode or hidden advanced controls. This is exactly what DiskWarrior is all about it has one function in life, and that is to rebuild the directory structure on your hard drive. The interface is also one of the most intuitive for a repair utility. DiskWarrior 1.x even won a design award at the 1999 Apple WorldWide Developer Conference.
Figure 1. Main DiskWarrior Window.
To use DiskWarrior, you select the drive you want to rebuild, and click on either the Graph or Rebuild buttons. When you select Graph, DiskWarrior analyzes your directory structure, and presents you with an easy to read picture of your directory. (See Figure 2.)
Figure 2. Disk Warrior Drive Graph.
The graph is a clear way of seeing what your directory looks like, and it gives you a general idea of the state of your directory structure. Those who really understand how file systems and directory structures work may derive more meaning out of this than the less technically inclined. I just like the fact that a clean directory is indicated by a clean gradient, and the less clean the directory is, the dirtier the gradient becomes.
Another good feature is the restriction on which drives you can rebuild. You cannot rebuild the drive you are booted from, or the drive from which DiskWarrior is running. This may seem to be a liability, but from a safety viewpoint, this makes perfect sense. Alsoft has chosen to allow you to repair only drives that can be dismounted when necessary, without potentially disrupting the rebuild process. This allows DiskWarrior to avoid making any permanent changes until the absolute last step, and also reduces the chances of crashing the repaired while the directory is rebuilt.
If the drive you have selected is eligible for rebuilding, then click rebuild to start the process. If an error occurs at any point before the actual replacement, rebuilding is halted. If DiskWarrior finds an error that must be fixed before it can accomplish the rebuild, you are asked to approve the repair or cancel the rebuild. If you cancel at any point, the disk is left untouched. After the last step before replacement is completed, you are presented with a screen listing any damage found, as well as a general summary of your drive. There are two views, normal and detailed. The normal view has a generic description of the errors found, and is fairly useful for most users, while the Detail view covers specific problems found. (Figure 3.)
Figure 3. General View of DiskWarrior Report.
If you need to know exactly which files/structures have a problem, click on the Details button to see a list of every problem, and exactly what was found. This is an invaluable tool for troubleshooting repeated drive problems. (Figure 4.) A complete list of potential problems and explanations are included on the DiskWarrior PDF manual on the CD.
Figure 4. Detailed View of DiskWarrior Report.
Another interesting option for DiskWarrior is the preview ability. This button has DiskWarrior create a duplicate disk directory for the selected drive, and shows the drive as it will appear when the directory is rebuilt. DiskWarrior warns you that the both the current and preview directories will be locked, and not to unmount either disk. (Figure. 5.)
Figure 5. Preview Disk Dialog.
When you click on Continue, two drive icons appear. The normal icon is your drive as it currently exists, and the preview icon, which is your drive as it will be after rebuilding. (Figure 6.)
Figure 6. Preview and original disk on desktop.
This is an invaluable function if you are trying to rescue a lost file, as you can compare both versions, and see if the rebuild will actually rescue the file. I have found that if the file is gone due to directory errors, DiskWarrior will rescue it almost consistently. If the file is gone because it was deleted, then DiskWarrior won't rescue it. If you need to rescue a file, then I recommend using a utility specifically designed for that purpose.
Once you have seen details, and previewed the drive, you can either cancel or continue with the rebuild. If you click Cancel, nothing happens, and your disk is unmodified. If you click Replace, then the drive is unmounted, and the directory is replaced. This step gave me my only moment of worry with DiskWarrior, as when the progress bar is about one-half inch from the end, it may pauses for a while, depending on the machine. The first time this happened, I thought "Oh great, it crashed, I'm dead." I rebooted the Mac from the DiskWarrior CD, and sure enough, I got all kinds of funky messages, including the dreaded: "I can't deal with this drive, initialize it?" I decided to not initialize it, and give DiskWarrior another chance. In this case, once the <supposed> crash happened, I sighed, and went to get more coffee, figuring I had a long night ahead. When I returned, lo and behold, the progress bar was done, and everything looked fine. I ran DiskWarrior again, and waited. Sure enough, about two minutes after it paused, it finished, and my drive was fine. This is both good and bad. Good, because it was able to fix the damage caused by my premature reboot of the Mac. Bad, because I did not need that near coronary that the pause gave me, nor did I need to reboot the first time. In any case, when DiskWarrior pauses, don't reboot until you get a completion message, an error message, or wait about 20 minutes. (The larger the hard drive, the longer the pause.) After using DiskWarrior version from 1.0 to 2.0 on 30 Macs I have only found two cases where DiskWarrior threw up its hands and gave up. In the first case, the drive's head had crashed, and in the second case, DiskWarrior would lock up or give up. As it turned out I had a bad DIMM, which caused the problems. In either case, DiskWarrior caused no harm, and left me no worse than I was before, unlike some other utility packages which I've used.
The second tab is a new feature in version 2.0, DiskShield. DiskShield is designed to prevent you from incurring directory damage in the first place. This is what the DiskWarrior extension controls, and this tab, (in Figure 7) allows you to set DiskShield's options.
Figure 7. DiskShield Options.
The first control is the actual switch for DiskShield. By default, after the extension is loaded, DiskShield is turned off. I appreciate that Alsoft allows me to choose whether to turn the extension on, as opposed to most vendors, which automatically turn extensions on. Once you turn DiskShield on, the other options come to life. The notification is fairly self-explanatory. You can decide how you want to be notified at which level of severity, either by an alert dialog, or flashing the Apple Menu. (The alert is a nicer option for MacOS 9 with those nice, unobtrusive windoid dialog boxes. ) I was able to test this out, when installed the latest beta of AOL Instant Menu (AIM). As the install finished, DiskShield suddenly popped a warning about an attempt being made to write to the directory in an unsafe manner, and that I should immediately run DiskWarrior on my drive. What was nice was that the damage never occurred, and my directory remained clean. DiskShield had prevented a bad write to disk, but let the write happen, only in a safer manner.
The next set of controls concerns speed issues. Since DiskShield checks every single write to your disk, if you are about to download a lot of files, (say a couple of hundred or more), you might see a speed penalty. So by selecting Bulk file operations are faster, you tell DiskShield to not monitor these types of writes, and thereby avoid any speed penalty. You can also turn off DiskShield for individual applications. In Figure 5 I have turned off DiskShield to run an AppleScript that copies my web site to disk. This copy involves over 3,000 files, so I don't want every write monitored for that application.
DiskShield is an extension, so, the standard possibilities for conflicts exist. As of this writing, I am working with Alsoft Tech support to resolve a conflict that manifests itself as a Type 10 error. We have determined that the DiskWarrior extension by itself, or with the standard MacOS 9 extension set is not the culprit, so it is a third party extension conflict. This should not reflect poorly on DiskWarrior as much as act as a reminder that extensions should be used as sparingly as possible. The DiskWarrior PDF Manual also includes a section on troubleshooting extension conflicts.
As previously mentioned, DiskWarrior does not patch or repair your disk directory, but rebuilds it. This is an important distinction over Norton and TechTool Pro, which normally apply fixes and patches to the damage in a directory, (although TechTool Pro version 3.0 has an option for this type of directory repair). In contrast to repairing an existing structure, DiskWarrior analyzes your drive, and the files on it, and creates a completely new optimized directory. By replacing the old directory in its entirety, a lot of errors that can accumulate even with applied repairs, are completely fixed. (The analogy here is the difference between dropping a new engine into your car, and rebuilding the existing one. Both will work, but only the new engine is going to allow you to effectively start at zero with regard to mileage. ) This also means that every time you run DiskWarrior, you get a brand new directory, which is as close to a brand new drive format you can get without actually reformatting. The list of what DiskWarrior will fix is impressive. DiskWarrior run on a regular basis has been excellent for preventative maintenance. The directory rebuild also optimizes the directory structure, so that you should see some speed increase after the rebuild also. I did see some speed increase, but, I have about 45,000 files and folders on my main drive, so your mileage may vary. DiskWarrior is also scriptable, so you can use AppleScript to automate the rebuilding of drives. I haven't found a need for it, but the fact that it is available is an indication of the thought that went into the product.
According to Susan Starnes, Alsoft's marketing representative, DiskShield does two things to save you from damaging your drive. The first is DiskShield checks what is going to be written and how the write is supposed to occur, by checking the file system calls the application is making. If the write is safe, then it proceeds. If the write is not safe, then you are alerted as to its severity, and warned that you should run DiskWarrior as soon as possible to check for damage. In my one, (admittedly not a large sample size) experience with this, the write was allowed to occur, but no damage happened, so DiskShield was doing its job quite well. The second function of DiskShield involves the disk cache. The disk cache is a space in RAM that holds frequently accessed data. Normally, this is used primarily for data coming from the disk, or "reads." However, it can also be used for writes, and can speed those up as well. If there is a crash with data still waiting to be written in the cache, particularly directory data, (i.e. creating a new folder, renaming a folder, etc.), then disk damage can occur if the cache is not flushed cleanly. DiskShield, if it detects a cached directory write, forces the write to occur immediately, rather than at idle time as is normal. This ensures that directory structure changes are made as quickly as possible, thereby lessening the chance for directory damage in the case of a crash.
As I pointed out earlier, there is a potential for slowdowns here, especially in the case of large numbers of files being transferred. In reality, I haven't seen it yet, and that includes a 9000+ file transfer I did via FTP just to beat on DiskWarrior. If you think about it, unless you are transferring from a computer with a Gigabit network interface to your Mac, which also has a Gigabit interface, your file system is operating at much higher speeds than the network is capable of running. In that case, any slowdowns from DiskShield aren't even going to show up. If you are doing large transfers between drives on an Ultra-Wide SCSI card, then you may see a slowdown. In a test with a Beige G3/300 server, running Mac OS 9, AppleShareIP 6.3, and using an Adaptec 3940UW dual-channel card, transferring files between two mirrored drive sets was so close to the speed without DiskShield, that realistically, there was no difference. DiskShield requires an extension to operate, so conflicts can, and in my case, do happen, (In my case, the conflict was with the netOctopus 3.5.2 agent, and the Virex 6.X control panel.) I must also say that Alsoft's technical support staff has been absolutely outstanding in their efforts to help me resolve this problem. No finger pointing, just excellent help. The way I see it, by preventing a bad install from damaging my disk, DiskShield made its case better than any amount of press ever will.
With this latest release of DiskWarrior, Alsoft has improved on not only the track record of a truly outstanding product, but also the company's overall track record. Although I could do without the pause during the last part of the rebuild, it's a niggling complaint, and the only one I've had since version 1.0. DiskShield is a welcome addition to DiskWarrior, and has given me real-world proof of its value as well. A nice touch with version 2.0 is the inclusion, of PlusOptimizer for free, so that not only can you rebuild your drive's directory structure, but also you can optimize the files on that drive in the same session. Just one of those little polishes that place Alsoft at the top of any group of Mac software companies. I would also like to note that in addition to superb technical support, Alsoft's Marketing Director is one of the most technically savvy individuals I have ever met in that type of position. To sum it up: If you own a hard drive, you need DiskWarrior. If I had to pick one disk utility, forsaking all others, this would be the one. For more information, visit their web site at <http://www.Alsoft.com/>.
John Welch <firstname.lastname@example.org> is the Mac and PC Administrator for AER Inc., a weather and atmospheric science company in Cambridge, Mass. He has over fifteen years of experience at making computers work. His specialties are figuring out ways to make the Mac do what nobody thinks it can, and showing that the Mac is the superior administrative platform.