Date: Fri, 5 Dec 2003 08:30:26 -0700 From: sd <xscd@xscd.com> To: questions@freebsd.org Subject: Re: Phoenix BIOS, hard disk data loss Message-ID: <200312050830.26123.xscd@xscd.com> In-Reply-To: <200312050037.hB50bLHf010808@mist.nodomain> References: <200312050037.hB50bLHf010808@mist.nodomain>
next in thread | previous in thread | raw e-mail | index | archive | help
=46irst, sd wrote: > Some months ago, just after buying a Tyan Tiger s2466 MPX dual > processor motherboard and installing FreeBSD 5.0 on it, I > experienced a lot of data loss [...] > > However, after a couple months I decided to change just one setting > in the Phoenix BIOS: Large Disk Access Mode > > There are two options for Large Disk Access Mode: "DOS" and "Other" > > The help text for this item says: "This option denotes that a hard > drive with more than 1024 cylinders, more than 16 heads and or more > than 64 tracks per sector is present. Choose OTHER when using OSes > such as UNIX." > > So, at first I had chosen "Other." However, after all the data > loss, I felt I had nothing (more) to lose so I changed it to DOS > just to see if it made a difference. Apparently it did. I have > experienced no more lost data (from hard disk corruption or > problems) in the six or so months since I made the change. Dan Strick replied: > The large disk option sounds like it affects the "translated" disk > geometry used by BIOS to increase the amount of disk accessible to > software that uses the BIOS for disk i/o (e.g. DOS). FreeBSD uses > the BIOS disk i/o facilities only to read the disk when booting. > > It is highly unlikely that your file system corruption problems were > related to the BIOS Large Disk Access Mode option unless you were > also using a non-FreeBSD OS on the same disk and it inadvertently did > disk writes through the BIOS to wrong disk locations. sd adds: I don't know whether it is pertinent, but here is a quote from a=20 (admittedly old) technical manual published by the manufacturers of the=20 Phoenix BIOS: =2D- begin quote -- BIOS Enhanced Disk Drive Specification Version 1.1 May 9, 1995 Phoenix Technologies Ltd. 4.3 Geometric Translations Some applications get device geometry information simply by reading the tables which are accessed via the Int 41h/46h pointers, they fail to call Int 13h Fn 08h. These are =E2=80=9Cill-behaved=E2=80=9D applications. Ill-behaved applications fall into two categories: some of them read the Int 41h data and then use the conventional Int 13h interface for accessing the device. These are =E2=80=9Ccompatible=E2=80=9D ill- behaved applications. The remaining ill-behaved applications read the Int 41h/46h data and then access the drive in a proprietary manner. These are incompatible ill-behaved applications. 4.3.1 Compatible Ill-Behaved Applications Compatible ill-behaved applications require that address 0, 2, and 14 (Cylinder, Head, and Sector) information in the FDPT be identical to the information returned in Int 13h Fn 08h. This class of application normally fails to call Int 13h Fn 08h to get device geometry, but uses Int 13h Fn 02h to read data. 4.3.2 Incompatible Ill-Behaved Applications Incompatible ill-behaved applications require that address 0, 2, and 14 information have the geometry returned by ID drive data words 1, 3, and 6, a requirement that can violate restrictions placed on Standard FDPTs. Further, these incompatible ill-behaved applications may not check for the Translated FDPT signature (A0h at byte 3). Examples of incompatible ill-behaved applications are SCO Unix and early versions of Novell Netware. 4.3.3 Resolving the Compatibility Problem The BIOS can only serve one class of these ill- behaved applications each time the system boots. This presents the BIOS and the USER with a compatibility problem. Phoenix has chosen to add a Setup field which allows the user to select which ill-behaved applications will function correctly. The menu item reads =E2=80=9CLarge Disk Access Mode=E2=80=9D. This field defaults to =E2=80=9CDOS=E2=80=9D, which creates a Translated FDPT. Compatible ill-behaved applications will operate correctly when =E2=80=9CDOS=E2=80=9D is selected. The remaining selection for Large Disk Access Mode is =E2=80=9COTHER=E2=80=9D. Incompatible ill-behaved applications will function correctly with =E2=80=9COTHER,=E2=80=9D which creates a Standard FDPT. Because this format uses only physical geometries, =E2=80=9COTHER=E2=80=9D creates problems for the compatible ill- behaved applications by generating an illegal Standard FDPT with more than 1024 cylinders. The conventional Int 13h interface, however, continues to use a Translated FDPT, which is maintained internally by the BIOS, and is accessable only through Int 13h Fn 08h. SETUP never changes the method of translation used by the BIOS. Well behaved DOS and Windows applications continue to function normally because they only use Int 13h Fn 08h, which returns translated geometry. =2D-- end quote ---
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312050830.26123.xscd>