|Spinrite is a very good program that has been around long enough, since the days when Dos ruled, it probably has the absolute minimum of bugs in it's programming if it has any at all, but you have to be very cautiuos and understand what you're doing if you attempt to repair something wrong with the data on the drive, and you can easily get yourself in trouble if you do that if you don't have the standard situation the program's defaults expect - e.g. if you have a software dynamic overlay on the drive because your bios can't recognize the full size of a drive without one, or if you have a multiboot configuration where you are booting more than one operating system.|
I don't know offhand if it can even be used on a drive with Linux or Unix on it.
Scott Mueller, who wrote a series of books "Upgrading and Repairing PCs" in the past, some of which I have, recommends you don't use Spinrite to repair data problems on a drive unless you're fully aware of what you're doing and what your sitution is, and he has some examples of how Spinrite trashed the data on drives in that book series.
However, it's excellent for checking the drive for errors, though it's most thurough checking is extremely SLOW (as in, it may take a full day or more). If Spinrite passes a drive, it's certain there is nothing wrong with the data on it.
As for all drive testing utilities, it can only be used on drives that are recognized by your computer or drive controller card's bios. In addition the drive must already be partitioned and formatted a way the program recognizes - it can't check unpartitioned unformatted free space on the drive or a blank drive.
It can mark (flag) bad sectors it finds are unreliable that weren't already marked. You can let it do that, but if there was data on the sector it will move it to a good sector, and that data may or may not be intact, but that's normal for any program that moves the data on a bad to a good sector, and usually at worst you might have to re-install the program the data was for. But like all other hard drive testing utilities that require the drive to be partitioned and formatted, such as chkdsk or Norton Disk Doctor, if you delete the partition the data with the bad sector is on, that bad sector information placed there by the program is lost when the FATs or MFT is wiped along with the partition.
If you want to try possibly fixing a few bad sectors for good, hard drive manufacturer's diagnostic utilities can do that - by "zero filling" the drive, or by "Low Level formatting" which is really not the correct term for modern hard drives but it does the same thing.
If you have lots of bad sectors, especially if they slowly or quickly grow in number, the drive is probably failing and nothing you do will save it - you are best off saving what data you can while it's still working somewhat.