re: My old pentium can't detect my 15gb HDD
Friday, July 4, 2003 at 7:14 am Windows 98 Annoyances Discussion Forum
Posted by Bob Harris
(992 messages posted)
Over the years there have been many disk size "barriers", related to limitations
of the BIOS and/or the operating system and/or the file system. A couple of them
are near 8 Gig. You might need a BIOS update, or since that is not likely available
for an older PC, you might want to try a PCI adapter card with an ATA/100 controller.
Here is some info I saved a while back on size barriers. I had to remove the imbedded
talbes, since they did not convert well to plain text. Hyperlinks were also lost
in this conversion. The original link I followed to get this information is:
http://www.pcguide.com/ref/hdd/bios/sizeMB504-c.html
Hopefully it will help:
The 8,192 Cylinder (3.94 GiB / 4.22 GB) Barrier
After the discovery of the 504 MiB BIOS barrier, the normal way of getting around
that problem was to make use of BIOS geometry translation. (This continued until
hard drives exceeded about 8 GB in size and the whole IDE/ATA geometry scheme had
to be abandoned altogether.) In a nutshell, this translation works by dividing the
hard disk's number of cylinders by a binary number such as 2, 4, 8 or 16, and multiplying
the number of heads by the same number. This lets the number of cylinders that the
BIOS sees fall below the Int13h limit of 1,024. This translation however causes a
problem in some systems when using a hard disk over about 4 GB in size.
Note: To understand how translation causes this particular new barrier to arise,
you need to understand how BIOS translation works. See here for an explanation if
you are not familiar with this.
When the number of cylinders on the drive is between 8,192 and 16,383, the number
typically used for translation is 16. Here's an example of how this might work with
a theoretical 6.4 GB hard disk if it used the normal way that IDE/ATA drives are
specified, with 16 heads and 63 sectors per track:
This should actually work just fine; it overcomes the BIOS issues and results in
geometry that falls within acceptable limits. However, there's an unfortunate gotcha
that was discovered when drives first exceeded 8,192 cylinders in around 1997: MS-DOS
and early versions of Windows choked when presented with a drive that had (apparently)
256 heads! Thus, this is actually a barrier that is due to both the operating system
and the system BIOS: the operating system should have been able to handle 256 heads,
but the BIOS was creating the problem due to its translation.
It was decided that the easiest way to deal with this problem was to change the way
the BIOS did translation. As a result, BIOSes stopped creating translated geometries
that had 256 heads. One common way that this was done was to use 15 as the translation
factor instead of 16, resulting in this sort of conversion:
Of course, if you have a BIOS that doesn't know about the 256 head problem, you will
need to address this with either a hardware or software solution. To help avoid some
of these problems, many hard disk manufacturers also changed their specified geometries
to use only 15 heads instead of 16. So instead of the example drive above being specified
with 12,496 cylinders, 16 heads and 63 sectors, it might have been 13,329 cylinders,
15 heads and 63 sectors. With these parameters, even if the BIOS uses a translation
factor of 16, the resulting number of heads will be only 240.
The 240 Head Int 13 Interface (7.38 GiB / 7.93 GB) Barrier
The Int13h interface limit normally restricts some systems to 7.88 GiB or 8.46 GiB
as a result of the limits of the BIOS Int13h interface: 1,024 cylinders, 256 heads
and 63 sectors of 512 bytes. (I discuss this very important size barrier in some
detail here, and you may want to read that section before you read this one.) However,
in some systems the Int13h interface restriction results in a smaller limit: only
7.38 GiB (7.93 GB).
The reason why this occurs is related to a different size barrier problem (sigh,
can't these engineers get their acts together? :^) ) As I described in the discussion
of the 8,192 cylinder limit, DOS and some Windows versions cannot handle translated
geometry that specifies 256 heads. To get around this, some BIOSes change their translation
method so that only 240 heads are presented to the operating system. This fixes the
"256 head problem" but shaves some capacity off the Int13h limit. The 1,024 cylinder
and 63 sector restrictions remain, but with only 240 heads the maximum drive capacity
becomes 1024 * 240 * 63 = 15,482,880 sectors of 512 bytes, or 7,927,234,560 bytes.
In practical terms, there isn't any difference in how this barrier is handled than
the standard Int13h problem is tackled. You still need to use Int13h extensions;
see the discussion of the Int13h interface barrier for more.
The Int 13 Interface (7.88 GiB / 8.46 GB) Barrier
This barrier, often just called the "8 GB barrier", is one of the most important
in the hard disk world. Now that hard disk capacities have moved into the tens of
gigabytes and beyond, it gets most of the attention that the old 504 MiB / 528 MB
barrier used to get in the mid-to-late 1990s. Many people run into this particular
barrier as they attempt to upgrade systems originally purchased in the late 1990s
with hard disks of 1 GB to 8 GB or so in size.
Like most of the others, this barrier is also based on a BIOS limitation. It is a
tougher nut to crack than most of the smaller-valued barriers, however. The reason
for this is that with this particular barrier, we have actually come up against one
of the traditional limits of how hard disks are used in the PC: the Int13h interface.
That standard allocates 10 bits for the cylinder number (and thus a maximum of 1,024
cylinders), 8 bits for the head number (maximum of 256) and 6 bits for the sector
number (maximum of 63, since the number 0 is not used). Multiplying these together,
and assuming the standard of 512 bytes per sector, you get a maximum of 8,455,716,864
bytes. This is the largest hard disk size that can be addressed using the standard
Int13h interface.
Unlike the old 504 MiB barrier, there is no translation that can get around this
because it isn't the result of a combination of limitations like the 504 MiB barrier
is. It is in fact the limit of how hard disks can be represented using the BIOS Int
13h routines used by DOS and applications to access the hard disk. To get around
this barrier, we must change the way hard disks are accessed entirely. This means
leaving Int13h behind and using Int13h extensions.
Note: Int13h extensions require support from both the BIOS and the operating system.
Some older operating systems do not support Int13h extensions, and there are no plans
to provide it for them. In particular, all versions of straight non-Windows DOS (6.22
and earlier), and Windows NT version 3.5 will not support Int13h extensions and cannot
use hard disks over 8.4 GB in size.
Note: Some systems have a smaller Int13h capacity limit due to the use of modified
translation to avoid presenting geometry with 256 heads to the operating system.
See here for details.
On Thursday, July 3, 2003 at 6:30 pm, Jon wrote:
>My old pentium(Pentium-S) can't detect my 15Gb HDD, i tried to partition it in that
>PC and i only get a max of 8GB- what do i do to get/use the maximum 15Gb capacity?
>pls. help...
|