Checking the File Hash

  • SpinRite v6.1 Release #3
    The 3rd release of SpinRite v6.1 is published and may be obtained by all SpinRite v6.0 owners at the SpinRite v6.1 Pre-Release page. (SpinRite will shortly be officially updated to v6.1 so this page will be renamed.) The primary new feature, and the reason for this release, was the discovery of memory problems in some systems that were affecting SpinRite's operation. So SpinRite now incorporates a built-in test of the system's memory. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

James: During development and testing I built a hashing function into SpinRite. Since it's doing serious work on typically large 16MB buffers, using it slows SpinRite way down. But if you give SpinRite the "hash" term on the command-line it will, when finished, dump a hash to the DOS command prompt.

What I and many others were doing was doing a Level 1 or 2 read pass over some smaller region of the drive with the "hash" parameter to get the "before" hash. Then do whatever you want with a higher level with the hash term, and then confirm that the hashes match. (I should note that as Joep (above) has said, there's really not a lot of point to that since this has already been done extensively during testing and I used it when I was deliberately inducing huge numbers of read and write errors into drives to verify that all of SpinRite's logic was always doing the right thing. We would not be at release candidate stage if it did not always pass that testing! : )
> During development and testing I built a hashing function into SpinRite.
I did not know that until you told me, so did my own hash checks. : )

> There's no reason to assume level 5 would do any harm with/to healthy sectors so it seems a bit of a waste of time.
No harm in me confirming this as part of my evaluation process either.
Same drive but inside a USB enclosure this time.
BIOS does not have the 137GB USB limit bug.

Final hash check after a level 5 scan over USB connection.
100GB partition placed at the end of the 1TB drive.
USBCHK used to present the drive over SCSI.

Hash Checks: PASSED


  • Screenshot 2023-11-24 060026.png
    Screenshot 2023-11-24 060026.png
    51.3 KB · Views: 66
Last edited: