View Single Post
  #2  
Old March 13th 14, 04:12 AM posted to microsoft.public.windowsxp.general
Paul
external usenet poster
 
Posts: 18,275
Default Is there any Hard drive size limit in XP?

wrote:
Is there any Hard drive size limit in XP?

On my W98 computer, the limit is 120G. I am using an 80 and a 120 on
there. I have a 160, which would not work on W98. I'm intending to add
that as a second drive on the XP puter. Do I need any special drivers
or can I just install it? I'll partition it into several partitions
anyhow. I have 7 partitions on my W98 puter, and that is how I like it.
Each has it's own purpose, but I have the dual boot to W2K on there. I
wont need that partition on XP, so I'll have 6 of them total.

Also, with this being an old computer from around 2002, will the drive
size limit be affected by the Bios?



There is a size limit, but it's complicated. For a modern
user of WinXP (say an SP3 installer CD) and a modern (just purchased)
computer, the limit is the limit caused by 32 bit sector numbers in
the MBR. That's 2.2TB. WinXP supports MBR and allows (easily) drives
with 2.2TB size. GPT partitioning allows larger disks and partitions,
but a later OS is needed. So that's the "today" limit, but
not the "Casey's hardware" limit. Since you have an 815E/ICH2
system, if memory serves.

If you go back in time, to the year 2003, that's around the time
that Southbridge IDE interfaces were just about all getting 48 bit LBA
support. Before that, there were some IDE interfaces that were limited
to 137GB drives. So 120GB was the largest drive that was recommended at the
time.

I can try and paint a picture, but I don't know if I'll get it right
or not. Even at the time, I didn't really understand it all that well.

Say you have WinXP Gold (original installer CD), without
support for 137GB.

1) If you start with an empty disk, and install C: , the OS will prevent
you from using areas above 137GB.

2) There could be existing partitions on the disk.

a) If an existing partition is entirely above 137GB, chances are
it is being functionally ignored by the new OS installation.
No harm will come to it, no data will be damaged.

b) An existing partition can "span" the 137GB capacity mark on the
disk. The lower part of the partition is below 137GB. The OS then
tries to use the partition (say, on the first boot after install).
The very first access to the partition, requires looking up near the
end of it, above the 137GB mark. If any writes are needed immediately
(like a Last-accessed date perhaps), it results in the partition
being corrupted. There is address rollover, the attempted write
goes to the incorrect sector, and the disk is corrupted. The more
writes, the more trashed it gets.

The end result of the previous description, is to make sure your 500GB
IDE drive, doesn't have any partitions straddling the "line".

To address the 137GB IDE era, Seagate produced this document. It tells
you what OS versions to use, what hardware cards to buy to work around
a motherboard limitation. This is the kind of document you'll need to
read *several times* , to get all the value from it. (390KB)

http://web.archive.org/web/200701210...c/tp/137gb.pdf

"For Windows XP SP1 see article Q303013:"How to Enable 48-bit
Logical Block Addressing Support for ATAPI Disk Drives in Windows XP"
at support.microsoft.com."

http://support.microsoft.com/kb/303013

That means, if your WinXP installer disc is SP2 or SP3, there
is no work to do at all. If the hardware, for some reason,
doesn't support over 137GB (really old motherboard), SP2 or SP3
could handle a 2.2TB disk if present, but they won't make a C:
that goes past 137GB if the hardware won't allow it.

If you insisted on using an SP1 installer CD, without slipstreaming
it to a higher Service Pack, then you'd have to read that (horrible)
303013 article and figure it out :-) Even installing using an SP1 disc,
then executing the SP2 .exe won't work, because the disk still has
the size exposure issue while the SP1 CD is being used.

I only know some of this, from the responses of Win2K when installing.
I did experiments with Win2K SP2 (137) and SP4 (137). And that's where
I pieced together some of the dangers about partitions. I don't have
enough WinXP materials here, to do much in the way of testing.

The 815E comes with an ICH2 I think. The IDE ports would be off that
thing. If you wanted to guarantee no hardware problems, you could
plug in an Ultra133 TX2 for example. It supports 48 bit LBA. With the
Ultra100 TX2, only certain firmware versions supported 48 bit LBA. So
that card could be flash upgraded. A modern PCI IDE add-on card will
have a 48 bit LBA BIOS chip installed, so it would work too. The examples
I just gave, of Promise IDE cards you can find on Ebay, is intended to
show that even the add-on cards straddled the magic 2003 date. One
card was a lock, the other card, you could flash it and fix it. I've
flashed Promise cards here before, as part of aligning firmware to
driver version.

As far as I can interpret from the original proposal of how
to do 48 bit LBA on IDE, this is largely a BIOS (firmware) issue. The
method should be relatively independent of the circuits in
your Southbridge. But this is my interpretation of how this works,
not something I can provide a reference to. 48 bit works by "double
pumping" registers on the disk, and the disk just listens to the
last two writes on the register, to be prepared for a 48 bit address.
It's an clever scheme, intended to have as little impact on hardware
as possible. I just wish it could have been explained a little better
at the time, to help people understand what needed to be fixed.

(Reading page one and two is enough. It shows the original 28 bit LBA
register scheme, being replaced by two-deep FIFO registers. Doc is
150KB. I've probably never read the whole thing to the end. I just
read enough, to see the double-pumping thing.)

http://www.t10.org/t13/technical/e00101r6.pdf

So then we look at the year of release of the motherboard. If
it was designed in 2003, it might be OK to use a larger drive.
If before 2003, you might need more info. The idea being, the
three large BIOS companies, had 48 bit compatible code in the
year 2003 or so.

One scummy software company, made a Windows utility to check
for 48 bit LBA support at the BIOS level. But, they charged money
for the utility, when it just should have been a freebie. (They
could have put a small executable on one of the big download sites,
to do the check, rather than trying to make a fortune from the
misfortune of others.) And I don't know if any other utilities
can do the report or not. Maybe Linux hdparm ? Not really sure.
I have one system here, where the manufacturer reported the kind
of disk support available. So I didn't need to use a utility on
that one. That motherboard, the original limit was 64GB, then a later BIOS
flash upgrade, made it to 137GB. It never supported more than that,
and I never tried torturing the thing, to see what would happen.
Some other motherboards, I can use the "2003 rule" and assume
they all have 48 bit LBA BIOS support, and can boot from a
partition shoved up near the end of a large IDE drive. That might
still leave a few computers in the 2002-2003 era, where the manufacturer
did not release a new BIOS with the necessary support, and the date
of release of the product is such, we can't rely on all the actual
BIOS makers, for the necessary proof.

Here, someone with SATA drives, drives that should not
have a size limit, seems to get a size limit from the BIOS.
The Linux tools seem to be indicating an HPA (Host Protected
Area) has been set on the drive, but it's highly unlikely
that happened "by accident". I would take this to be a BIOS
bug. Anyway, that thread has examples of some of the utilities
you can consult, to learn more about a pesky setup. Any number
of Linux LiveCDs could allow running such tools, but they're
an 800MB download (typical size today).

http://forums.gentoo.org/viewtopic-t...6-start-0.html

The HDINFO tool, is described here. This is the one where they
expected people to pay for it. I never needed to even consider
using this, because my motherboards were sufficiently supported
to understand what they did. (The 1999 motherboard was 137GB,
and the next one that I used regularly, was past year 2003
and was 137GB.) The "evaluation" utility here is 842KB, and
it's packed with something, so I can't easily view the contents.
I really wouldn't waste the time on it.

https://web.archive.org/web/20110907...nfodetails.htm

In summary, your 2002 computer is "on the edge", meaning either
a copy of HDINFO must be used to check the details, or you pop
in a VIA IDE (PCI) card and just connect the 137GB IDE drive
to that thing. Getting old computers to work, is a lot like
working at the Smithsonian, building dinosaurs out of a
pile of bones :-)

Paul
Ads