re: My old pentium can't detect my 15gb HDD
Saturday, July 5, 2003 at 6:02 pm Windows 98 Annoyances Discussion Forum
Posted by Jon
(3 messages posted)
do drive overlays can solve the problem too?
On Friday, July 4, 2003 at 7:14 am, Bob Harris wrote:
>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.
>
>
>
>
>
>
>
|