WD1007V + big Maxtor + DOS + UNIX

Gordon W. Ross gwr at linus.mitre.org
Tue Oct 9 13:21:29 AEST 1990


It is better to disable geometry translation for UNIX to avoid fooling
the device drivers into optimizing head movement based on false disk
geometry parameters.  For example, the Berkeley Fast File System (FFS)
code is careful to place its redundant copies of the superblock on a
different surface in each cylinder group.  This does not do what it is
meant to do when the BIOS lies to the system about the disk geometry.

The only reason to enable translation mode in your disk controller
BIOS is to avoid confusing the system BIOS and MS-DOS when the disk
has more than 1024 cylinders.  There are at least two other ways deal
with this lossage that I know of.  They are both described below:

(1)	If your system BIOS allows the specification of arbitrary disk
	parameters (as do recent revisions of the Phoenix BIOS) you can:
	(a)	Record the disk parameters installed by your
		controller BIOS.  One can use DEBUG to examine the
		locations pointed to by interrupt vectors 41h and 46h,
		or run a disk format program (i.e. OnTrack, SpeedStor)
		which will show you the "system default" parameters.
		(I recommended SpeedStor for good surface analysis.)
	(b)	Disable the disk controller BIOS
		(normally a jumper option)
	(c)	Run your system BIOS setup program and specify the
		parameters recorded above, except for the number of
		cylinders which should be set to 1024.
	With this configuration, DOS (or the BIOS) will be able to
	access only the first 1024 cylinders of your hard disk, but
	UNIX will be able to use all of it.  When installing UNIX be
	careful when it asks you if the disk parameters it found are
	correct.  The parameters it finds will be the ones you
	specified (only 1024 cylinders) so you must tell UNIX what the
	actual number of cylinders is.  Note that the boot program
	requires the root partition to end on or before cylinder 1024.

(2)	The second method can be used on machines where the BIOS does
	not allow you to specify an arbitrary set of disk parameters,
	though it requires that you modify one of the hidden files
	which DOS uses to boot-up.  With this method you leave the
	disk controller BIOS enabled (but disable sector translation)
	and create a patched version of DOS which modifies the
	disk-parameter vector set-up by the BIOS, (limits the number
	of cylinders seen by DOS to a maximum of 1024).  The
	disadvantage of this method is that non-patched versions of
	DOS will not be able to make sense of your disk.  If you use
	lots of different bootable DOS diskettes this could be a pain.

I have a set of patches for MS-DOS 3.3 which perform the modification
described in method two above.  The patch can be applied using only
DOS DEBUG and a floppy disk (and SYS to put it on your hard disk).

If anyone wants this patch I can e-mail it or post it.  It has been
posted before in comp.sys.ibm.pc around February 1990.  If you want
it posted again, tell me where you think I should post it.

Gordon W. Ross	(M/S E095)	| internet: gwr at linus.mitre.org
The MITRE Corporation		| uucp: (backbone-host)!linus!gwr
Burlington Road			| Day-phone: 617-271-3205
Bedford, MA 01730 (U.S.A.)	|
-- 
Gordon W. Ross	(M/S E095)	| internet: gwr at linus.mitre.org
The MITRE Corporation		| uucp: (backbone-host)!linus!gwr
Burlington Road			| Day-phone: 617-271-3205
Bedford, MA 01730 (U.S.A.)	|



More information about the Comp.unix.sysv386 mailing list