Article View: demon.tech.pc
Article #34559Re: FDISK
From: Harry Broomhall
Date: Sat, 10 Apr 1999 00:00
Date: Sat, 10 Apr 1999 00:00
100 lines
5219 bytes
5219 bytes
On Fri, 09 Apr 99 18:19:37 GMT, {R}@sunshine.tm (Richard Ashton)
wrote:
>In article <370e5bb9.13913772@news.demon.co.uk>
> haeb@pc60.demon.co.uk "Harry Broomhall" writes:
>
>} IMHO *don't* use DOS6.2 on such a large drive. It doesn'r support
>} drives over 8Gb correctly. On drives under this limit the largest
>} partition you can create is 2Gb.
>
>I would like to fully understand this. There are AFAIK three
>"barriers" at 528Mb, 2.1Mb and 8.4Mb.
I've covered this in the past, but the posting has probably fallen
off Dejanews by now!
>
>1) 528Mb. This is with old machines that do not have a translating BIOS
>where the system bios is limited by the combination of the IDE spec
>and BIOS Int13H capability giving a maximum of 1024 Cyls 16heads and
>63 tracks this equals 512,482,304 bytes or around 504Mb formatted.
Spot on.
>
>2a) 2.147Mb. There is BIOS issue with LBA drives that cannot go past
> 4097 cyls.
Actualy it is a problem with the maths in old BIOSes, plus not
allocating enough space for the cylinder figure. Some boards (the
Intel Plato comes to mind) will hang during boot if a drive over 2Gb
is attached.
>
>2b) 2GB? There is a specific maximum DOS partition size caused by ?
This is the limit imposed by FAT16. DOS (FAT16) imposes a
maximum cluster size of 32Kb. As the cluster count is 16bit (hence
FAT16) multiplying the two gives 2Gb. It is actualy a bit less than
this as some cluster numbers are used to indicate 'bad' clusters and
the like.
Note that the product can be contained by a signed long integer -
this seems to be a DOS legacy. NT4 has a special mode where it can
cope with 64Kb clusters thus allowing a FAT16 partition of up to 4Gb.
This is not readable by MSDOS, and is probably achieved because the
driver was completely rewritten for NT.
At this point you miss out the 4Gb barrier. This is the result of
more BIOS maths cockups. Most BIOSes have a fairly simple strategy
for doing the LBA mapping. (After all - it has to be written in
assembler and fit into the ROM.) The basic rule seems to be:
Multiply the heads by two, and divide the cylinders by two until the
cylinder figure drops below 1024 and thus fits in the INT13 structure.
When the cylinder figure goes over 8096 (equivalent to about 4Gb)
this results in the heads going to 256. As the heads figure is
supposed to fit into a byte this causes problems!
There are a number of fixes for this of various complexities, but
the most common is for some of the drives in this size range having an
extra jumper, which changes the figure it reports for size (and don't
forget that all these sizes are fictitious) to give a heads value of
15, and a cylinder value increased by 16/15, which gets round the
problem fairly well.
With all this there is a small range just under 8Gb which can
sometimes cause problems, and a number of motherboards have flash
upgrades to fix these.
>
>3) 8.4Gb. DOS 6.xx and earlier also Windows 3.1 cannot see past 8.4Gb, why?
> NT4 with SP3 does recognise drives > 8.4Gb
> Novell 4.11 needs drivers to see past 8.4Gb
> Novell 5 supports 8.4Gb drives and bigger
> OS/2 Warp needs a fix to see past 8.4Gb
8Gb is where the INT13 interface runs completely out of steam.
This is the limit for this API. To go past this you need to abandon
the classic INT13 interface.
Most reasonable OSes can manage this easily while running, after
all you don't want to be calling a real-mode API from flat-model! The
problem is during boot, when traditionaly the system is in real-mode.
The answer is known as 'INT13 extensions' and is a completely new
API which should see us OK for a time. (The next limit is the IDE
limit, which is in the 100s of Gb area.) This API was borrowed from
the SCSI world.
This requires a new BIOS and boot system (there isn't enough room
in the MBR to cope with the code to boot such things), and also a DOS
that understands it. Also there are a whole raft of new partition
types. The DOS that ships with Win95 OSR2 understands such things, as
does Win98. The rules that govern which partition type are quite
complex - they don't seem to be documented anywhere, but I ran a
series of tests about a year ago to determine them.
I hope this quick overview is of use!
Regards,
Harry.
Technical Details
Message-ID:
<37109072.1806085@news.demon.co.uk>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<+CHhWCApZRD3EwLq@shacc.demon.co.uk> <370e5bb9.13913772@news.demon.co.uk> <923681977snz129.os2.7@sunshine.tm>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1036bc,da6b0e82da45eede X-Google-Attributes: gid1036bc,public From: haeb@pc60.demon.co.uk (Harry Broomhall) Subject: Re: FDISK Date: 1999/04/10 Message-ID: <37109072.1806085@news.demon.co.uk> X-Deja-AN: 464631355 Content-Transfer-Encoding: 7bit X-NNTP-Posting-Host: pc60.demon.co.uk:158.152.8.1 References: <+CHhWCApZRD3EwLq@shacc.demon.co.uk> <370e5bb9.13913772@news.demon.co.uk> <923681977snz129.os2.7@sunshine.tm> Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@demon.net X-Trace: news.demon.co.uk 923703460 nnrp-06:28508 NO-IDENT pc60.demon.co.uk:158.152.8.1 Organization: C.I.C. Ltd MIME-Version: 1.0 Reply-To: haeb@pc60.demon.co.uk Newsgroups: demon.tech.pc