Using Spinrite on Mac OS X Drives
My attempt at setting up an old PC for using Spinrite is finally a success.
- I had to find an old PC that would boot from CDROM.
- I had set the CDROM to master.
- I had to set the drive to Cable Select or Slave. This may take some tweaking. I have not found a pattern yet.
I have heard that Mac OS X doesn’t need the likes of Spinrite. I had heard that the journaling property of the OS X extended journaled file system actively maintains the drive, in a sense doing what spinrite does continually.
I have given spinrite two drives that we knew were bad or going bad. So far the drives were so bad that spinrite could not fix.
I am going to try some more drives that I have access to.
The problem is that I need to know prior to drive failure (under Mac OS X), so that I can rescue the drive data before total failure.
September 20th, 2007 at 5:09 am
Comment by Mark S. via email
A few thoughts.
Mac OSX can’t do anything against drive failure. It is protecting at a higher level of process failure. Multiple processes are hitting a filesystem. A process can fail and leave the system in an inconsistent state. With journaling the failure will show up as an entry that doesn’t have a successful closure. Other processes that will involve the failure then know to roll the failure back before proceeding. If no other process involves the failure then it will be rolled back at shutdown or at startup. If a problem is severe enough the filesystem has the unique ability of being frozen so it can be repaired. Freezing allows the OS to make a repair that normally could only happen in single user mode during startup or shutdown (a book I am reading says HFS+ is the only filesystem they had seen that could be frozen).
HFS+ borrows ideas from databases. It is not block and i-node based but tree based. This somehow (I don’t know the particulars) means they are actively keeping track of block in a tree structure so that the filesystem doesn’t fragment.
HFS+ treats small files different then large files. A simpler data structure is used for small files so there is less overhead. Large files have a more complicated data structure but it allows for virtually unlimited file sizes (its not unlimited but it is huge). Most recently used files that are of the small file structure are moved to occupy the middle of the platter so statistically they can be accessed quicker.
Boot data is written redundantly to a disk so that a system has a better chance of surviving a crash.