This article is from a FAQ concerning SCO operating systems. While some of the information may be applicable to any OS, or any Unix or Linux OS, it may be specific to SCO Xenix, Open There is lots of Linux, Mac OS X and general Unix info elsewhere on this site: Search this site is the best way to find anything.
Contributed by Bela Lubkin:
How do I repair the geometry of an IDE drive?
Figure out old geometry, stamp it anew, set BIOS to "auto" -- though in fact it's probably more like: stamp anew, then set BIOS to whatever settings it originally had when the drive was first seen by Unix, be those "auto", "LBA" or whatever -- which, in practice, means: stamp it, try "auto", if no good, _stamp again_, try "LBA", etc. -- and probably better to twiddle BIOS settings _before_ stamping, each cycle of the attempt ((the Unix "stamp" appears on the masterboot sector and should not, as far as I can determine, _ever_ get corrupted by anything you do in BIOS setup. But anecdotal evidence seem to indicate otherwise; which implies, whenever you do anything to BIOS settings, do that first, _then_ restamp from Unixland.
How do I repair the geometry of a SCSI drive?
Figure out old geometry, restamp; note that default geometries vary from one host adapter to another (sometimes even between individual units of the same brand/model), so it's often necessary to do this. also, prophylactic stamping: the OS, at least older versions but maybe even up to this day, does not _by default_ stamp SCSI drives with their parms. user can do so, as a matter of course. then, if drive is ever moved to a different host adapter w/different default geometry, nothing bad will happen: OS will just use the stamped geometry without being affected by the host adapter's defaults.
Generically, how do I stamp drive geometry?
IDE or SCSI. Make sure kernel can "see" the drive, e.g. run `mkdev hd` at least once for SCSI. Then _3_ runs of dparam: 1. `dparam -w /dev/rhdxx` (makes sure masterboot record is the correct OSR5 one -- doesn't touch partition info or geometry stamps). 2. `dparam /dev/rhdxx` to read out existing params. 3. `dparam /dev/rhdxx cyls hds ppp qqq rrr sss cyls secs`, where ppp/qqq/rrr/ sss are middle 4 of existing parameters. "cyls" twice, one is landing zone.
You may find this Stage 1 Boot failure thread useful also.
Got something to add? Send me email.