Yes. Often these drivers are essential to get any kind of performance out of
your interface.
The PIO or DMA mode used when transferring data is determined by the interface
card. Some cards have jumpers that determine the speed in hardware; these work
in the fast mode from the microsecond you switch on the computer.
Most interfaces, however, are software configurable. At bootup, they default to
the slowest possible speed. Somewhere during the boot process, a piece of
software belonging to your adapter figures out what kind of transfer rates the
drives support and configures the controller chip to match. There are a couple
of cases to distinguish:
- Onboard I/O with full BIOS support. The controller is fully
configured when your computer boots. You can usually set the desired mode for
each harddisk in the CMOS setup. Many modern boards fall in this category.
- Onboard I/O with incomplete BIOS support. For some unfathomable
reason, some mainboards do not support or only imperfectly set up their
integrated I/O ports. In that case, you'll have to use DOS or other drivers to
get full functionality.
- Interface card with BIOS. This is similar to the two categories
above. The main difference is that these cards don't necessarily have setup
screens; in that case, they must use other means to determine the transfer mode
to be used. For example, the Promise 2300+ uses a combination of jumpers and a
table in ROM containing the parameters for a number of different drives. It may
or may not be necessary to use drivers for best performance.
- Interface card without BIOS. Since there is no way the mainboard
BIOS can know how to set up all those different interface cards out there, you
must use the supplied device drivers to profit from the fast modes. That
is, unless your card is hardware configurable using jumpers, which is quite
rare.
Usually, there are drivers for other operating systems as well, such as Windows,
Win95, OS/2 and so forth. These serve a couple of purposes.
- The driver may be necessary to configure the adapter as described
above. This doesn't apply to Windows, where the DOS device driver usually has
already done that job.
- The standard drivers built into operating systems don't support all
of the advanced features of your interface and drives. Examples are 32-bit
transfers, block mode and DMA.
- Windows only: the standard driver (
*wdctrl
) that ships with
Windows and Windows for Workgroups has some serious restrictions. See
Q
8.10
for details.
In view of this it is rather unfortunate that so often, the drivers supplied
with an interface are of mediocre quality.
The difference between the three is this.
WARNING. Some BIOSes change the (translated) geometry if you change
from Normal or Large to LBA. The same thing may happen if you transfer a
disk that has been formatted on an old, non-LBA computer to a new one that
uses LBA. This has destroyed data. Don't let it happen to
you.
Section
10
tells more about the differences between
these three.
Unfortunately, no. Proceed with care.
While with many BIOSes, the sectors on the disk are addressed in the same order
independent of the translation mode, a few use a different type of translation
algorithm. The latter type of BIOS will shuffle your data as if it were a deck
of cards if you alter the translation mode.
Moreover, BIOSes that conform to the WD Guide may use completely
dissimilar drive geometries in the software (int13) interface
depending on the translation mode. If this happens it will wreak havoc
with your data. This represents a major flaw in the WD EBIOS
specification.
In both of these cases, after changing the translation mode, you must
repartition and reformat your disk.
First and foremost, do you have an Enhanced BIOS? See section
2.8
and
Q
1
for
more details. If you do have an EBIOS, make sure you have enabled translation:
usually, either 'Large' or 'LBA'. If you see no such options in your
BIOS setup, remember that some types of BIOS offer them only when you tell it to
autodetect the drives.
Last but not least, remove all old partitions before trying to create new ones
after changing the translation mode.
Some try to work around the 504MB / 1024 cylinders issue by making a large
partition using a friend's computer, Linux' fdisk
, or something
else. They use it for a day or two, conclude that it works, then post a
triumphant article claiming that they found the Solution To Everyone's
Problems[TM].
It will work... for precisely 1024 cylinders. The very moment the OS or
anything else attempts to write something to cylinder 1025 through int13
calls, the write wraps around to cylinder 0. This cylinder happens to hold
some of the most important data structures on the disk: the Master Boot
Record, partition table, both FAT copies and the root directory of the
first partition. Overwrite these and probably only a specialized data
recovery company will be able to salvage your data.
Try it if you must. If you know exactly what you're doing, you can make it
work using Win95. Sort of. The first error will be fatal. But please don't post
any stories about it, recommending the procedure to everyone. The spectres of
their valuable data will come back to haunt you.
This is a convenient option, but there are caveats.
The software, sometimes bearing an exotic name depending on the licensee, is
usually a version of either MicroHouse's EZ-Drive or OnTrack's Disk
Manager. Disk Manager, when used on the boot drive, has to resort to some
trickery in order to be loaded very early during the boot process (which is
necessary for technical reasons). This is accomplished by modifying the
Master Boot Record (MBR), the first piece of code the BIOS loads and
executes when the computer boots, and storing a Dynamic Drive Overlay
(DDO) on the very first disk track. EZ-Drive works in a similar fashion.
An annoying side effect of using a software solution is that operating system
installations, which often overwrite the MBR, will render the contents of your
harddisk inaccessible. You will need to restore the MBR from the installation
floppy to regain access to your partitions.
Moreover, such software tends to create partitions quite different from 'standard'
translation schemes as used by most Enhanced BIOSes. Many device
drivers dealing with the disk will fail even if they work fine with other
schemes. Important examples are (E)IDE interface drivers; remember that
without these drivers an interface will in general be much slower. You'll
need drivers that are specifically aware of the translation software you
use. Also, many operating systems other than DOS will not be able to access
or use the drive, at least not 'out of the box'. Disk fixing utilities may
fail to work if the partition table or the overlay is damaged.
This also makes it difficult to upgrade to a BIOS based solution. OnTrack Disk
Manager version 7 includes a migration utility for the purpose and improves on
version 6 in a number of other ways. It allows multiple operating systems and
is compatible with most interfaces and drivers, including those for ATAPI
CD-ROMs. Owners of version 6.03, which is still often included with hard
drives, can download an update patch from OnTrack
http://www.ontrack.com/pub/software/dmpatch.zip
that gives some of the
benefits of version 7. View
http://www.ontrack.com/dm.html
for
general information.
For older versions of Disk Manager, IBM and Microsoft have fixes for OS/2 (in
FixPak 5 or later, or out of the box in Warp FullPack and Warp Connect) and NT
(Service Pack 2). Win95 should support Disk Manager and EZDrive out of the box
(see Microsoft KnowledgeBase article Q126855, "Windows 95 Support for Large
IDE Hard Disks"). More about Disk Manager in section
13.1
.
This software is usually installed in the boot drive's Master Boot Record
(MBR). Normal repartitioning and reformatting of the drive usually does not
refresh the MBR, which can make for a frustrating experience. Fortunately,
it's not very hard once you know how.
The best way to deinstall is to follow the procedure outlined in the utility's
documentation. If this is not available, the following procedure usually works:
boot from a clean floppy with at least DOS, FORMAT.COM
and
FDISK.COM
on it. Then type FDISK /MBR
. This should refresh the
code in your MBR. After that, repartition and reformat as usual.
For reasons I do not understand, some Disk Manager versions are reported to
cling to life rather tenaciously (perhaps due to overambitious virus
protection by the BIOS?). In that case, you need DM.EXE
. Type DM
/Y-
. If that fails as well, the following procedure was reported to
work by Mark Brown (
mrkbrown@netcom.com
).
- run
DM
(in this case, v.6.03)
- press ALT-T
- select (D)isk Sub-System Overview
- select appropriate hard drive
- press CTRL-F10 to clear out the MBR
- press Y to confirm
- press ESC to exit out of DM, rebooting from a clean floppy
If you have faced similar situations and can add to this, please share your
knowledge. A good candidate would be a utility that simply zaps the partition
table---any takers?
WARNING. Disk Manager and EZDrive partitions differ from those created by a
translating BIOS. Expect your data to be inaccessible after this operation. An
exception is v7.x of OnTrack's Disk Manager; DM.EXE has a Migrate
feature that works with many BIOSes.
WARNING. Some controllers and security software stores information on track
0 which FDISK /MBR
will clear. In this case, the data on the disk is
lost anyway, but there are a number of circumstances where this command can
destroy data.
Do not confuse this with Smartdrive (or whatever) lazy writes: what is meant
here is altering the drive's buffer cache management algorithm. This is
possible using newer versions of Drive Rocket, with hdparm under Linux, and
probably other utilities too. Provided, of course, the drive supports this
feature. Sometimes it can also be done using jumpers on the drive.
There seem to be problems with this, if a program will issue a soft-reset (which
on Intel Pentium Motherboards also issues a hardware-reset) as soon as it sees
the last IRQ, which overall ends up corrupting data. Use with care, and backup.
MS-DOS assigns drive letters as follows.
- Letters
a:
and b:
are reserved for floppy drives.
- All primary partitions on all (system and adapter) BIOS
supported harddisks get their drive letters starting from
c:
, in
order. Normally, you can have just one primary DOS/Windows partition
on every drive.
- Only then, all logical drives inside extended partitions
get their letters. This means, for example, that if you had one drive
with
c:
and d:
, adding a second drive with one primary
partition on it will bump the former d:
partition up to
e:
. If you want to avoid this, do not define primary partitions
on all drives except the first one.
- After that, MS-DOS parses the
CONFIG.SYS
and
AUTOEXEC.BAT
files. Some devices such as CD-ROMs have no BIOS
support and get their drive letters only here.
Remember that some programs, including disk compression software, may
do shuffling tricks with drive letters. Be also warned that some BIOS
setup screens, in a misguided attempt at user friendliness, refer to
harddisk units using drive letters. In trivial cases, this may be
right, but in nontrivial setups the BIOS may be all wrong.
Next Chapter, Previous Chapter
Table of contents of this chapter,
General table of contents
Top of the document,
Beginning of this Chapter