|
Some time ago I had
installed a spare 1.0 GB hard drive in my main computer (the upstairs
one). The purpose of installing it in my main computer was to use it for
backup purposes. I used it for no other purpose than to keep backup
copies of files from the primary hard drive. The primary hard drive was a
Western Digital 3.5 GB and the 1.0 GB Seagate (ST31220A Medalist 1080)
was the slave. This computer operated on Windows 98, so both drives were
each formatted as single logical drives with a 32-bit FAT.
Just recently, the 1.0 GB slave hard drives
started reporting errors by triggering the surface analysis scan in
Scandisk. So, with the declining prices of hard drives, I decided it was
time to purchase one of the really big ones. I found a Western Digital
8.4 GB hard drive for just $119 (actually there a lot bigger ones, but
this was enough for me). The plan was to install it as the only drive in
my main computer after transferring all of the contents from the
previous primary hard drive onto the new hard drive. PowerQuest's
DriveCopy did the job almost effortlessly in about two to three hours.
The only work on my part was to set the primary/slave jumpers as marked
on the back of the drives. The way it is instructed by DriveCopy is to
set the original (source drive) as the slave and the new drive (target
drive) as the primary and then boot the computer from floppy disk. The
boot floppy is then removed and DriveCopy is run from a floppy. It
worked perfectly. The original drive was then removed and the new drive
jumpered for single drive operation. It worked.
At this point I had two spare drives, a
Western Digital 3.5 GB hard drive and a Seagate 1.0 GB hard drive. I
wanted to put the 1.0 GB drive in an old 486 machine operating on
Windows 3.1. Now since the 1.0 GB drive was previously formatted to
FAT32, I knew that it needed to be repartitioned and reformatted to
FAT16 to be operable under Windows 3.1. In hindsight, I realize now that
I should have done this before removing it from the Windows 98 machine
because trying to FDISK this drive on the Windows 3.1/DOS 6.2 machine
proved to be somewhat of a problem. Under DOS 6.2 (and probably any
earlier DOS) FDISK reported that the entire drive was a non-DOS
partition. The non-DOS partition had to be removed before it could be
partitioned for DOS 6.2. It seemed like FDISK would lock up trying to
remove the non-DOS partition. Alternatively, I tried PartitionMagic 2.0
to remove the non-DOS partition, but it reported the partition name as
"UNAVAILABLE" and would not permit removing the partition. Under
PartitionMagic 2.0 you cannot remove a partition unless you type in the
name of the partition. Typing in "UNAVAILABLE" didn't work. Then I
checked the manual for PartitionMagic 3.0 and found that it would allow
typing in "NO NAME" under this circumstance. I Installed PartitionMagic
3.0 and tried that, but still without success. It still wouldn't remove
the non-DOS partition. So now what!
I tried FDISK again and this time instead of
shutting down because I thought that FDISK had locked up, I let it run
for several minutes. Finally FDISK finished whatever it was doing and
terminated without having to press Ctrl-Alt-Del. After this,
PartitionMagic 3.0 successfully deleted the non-DOS partition and went
on to format the drive with three logical partitions all within a single
extended DOS partition. I used only an extended partition so that the
drive letters assigned by DOS on the first drive would not be changed.
The first drive then had C, D, and E while the second drive came up F,
G, and H.
At this point it seemed like everything was
solved. DOS was able to access all of the drive letters. Windows 3.1
acknowledged that the additional drive letters existed. But when Windows
3.1 tried to read one of the new drive letters, a warning message
appeared that Windows was trying to access the drive in a manner that
was not compatible with the drive and that it may cause the system to
become unstable. Sure enough, Windows locked up. This required some
research, so I went to the World Wide Web and searched for "drive
lockup". What I found was that the 32-bit disk access in Windows 3.1
only supports Western Digital drives.
|
While my first drive was a
Western Digital, the second one wasn't. Apparently when Windows 3.1 was
installed it detected the Western Digital drive and set 32-bit disk
access active. Then when the Seagate drive was installed as the slave,
Windows could not access it because the 32-bit access driver, WDCTRL,
only supports Western Digital drives. [This in installed from the
SYSTEM.INI file by the following statements under [386 Enh] Section:
device=3D*int13 and device=3D*wdctrl.] I then searched the web for a
Seagate 32-bit driver and found one. But when trying to install it I
found that Windows would not accept it because it conflicted with the
WDCTRL driver. The reason is that since both drives are on the same IDE
cable, only one driver can be active. The only solution was to disable
32-bit disk access, which is done from the Control Panel,
386 Enhanced,
Virtual Memory,
Change,
Uncheck the "Use 32-Bit Disk Access" box.
With this change Windows 3.1 could access
both physical drives and could copy files from one to another. But all
was not coming up roses yet.
The big surprise came when I ran an old
Central Point Computing utility called "Optimizer". It displays a
cluster map something like SCANDISK. The surprise was that about a third
of the clusters contained bad sectors. So I tried SpinRite from Gibson
Research to see if they could be recovered. However, things only got
worse; SpinRite found even more bad sectors. Maybe you have guessed by
now that there was something else basically wrong. There was. It was in
the CMOS drive setup. Something else that I should have done before
removing the drive from the previous computer was to manually record the
drive cylinder, head and sector values. While the newest computer
BIOS's can detect these values automatically, the old 486 machine did
not. Unfortunately, this information was not printed on the drive label,
or at least it was not visible with the drive installed inside the
computer. I was, however, able to find this information from the Seagate
page of the World Wide Web. The first page of the ST31220A data sheet
gave the values as follows:
Cylinders: 524
Heads: 64
Sectors: 63
So these are the values which I had entered
into the CMOS setup. It happened to be MR BIOS v1.66 (1994) by Microid
Research, Inc. Now, drives with more than 1024 cylinders and more than
528MB require LBA translation. While this BIOS is capable of LBA
translation (the first hard drive is 1048 cylinders and 528MB), it would
not allow the LBA translation for the second drive because the cylinder
count for that drive was less than the 1024 requirement.
Finally, the solution: In the details of the
data sheet it gave the actual physical number of cylinders as 3,876 and
6 physical heads. These values did not do well in the CMOS setup, but
on the back page of the ST31220A data sheet were some alternate
settings. The one which finally worked was:
Cylinders: 2099
Heads: 16
Sectors: 63
With these values, the BIOS accepted the LBA
translation. At this point the partitioning and formatting operations
had to begin all over again. First I ran FDISK to remove the old
partitions and set a single new extended DOS partition. The extended DOS
partition was then set with three logical partitions. Next each
partition was formatted using FORMAT. Finally when I booted this
configuration and went into Windows 3.1, the "Optimizer" utility showed
no bad sectors. Just to be sure, I now ran SpinRite on each of the three
logical drive letters and it found only three bad sectors, which it the
blocked out. Running "Optimizer" again confirmed the three bad sectors.
Well, I made a lot of mistakes and sometimes got thoroughly confused,
but I certainly learned something in the process. End of story.
|