Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!uwm.edu!bionet!agate!linus!linus!gwr From: gwr@linus.mitre.org (Gordon W. Ross) Newsgroups: comp.unix.sysv386 Subject: Re: WD1007V + big Maxtor + DOS + UNIX Summary: better to disable translation Keywords: disk geometry translation Message-ID: <122620@linus.mitre.org> Date: 9 Oct 90 03:21:29 GMT Reply-To: gwr@linus.mitre.org (Gordon W. Ross) Distribution: usa Organization: The MITRE Corporation, Bedford, MA. Lines: 63 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@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@linus.mitre.org The MITRE Corporation | uucp: (backbone-host)!linus!gwr Burlington Road | Day-phone: 617-271-3205 Bedford, MA 01730 (U.S.A.) |