HDD
Capacity
FAQ
Introduction
Under some circumstances, and in certain hardware/software
configurations, there will be occasions where the BIOS or OS reports
less than the full native capacity of the HDD. The purpose of this
article is to provide an explanation or solution, where appropriate.
1/ Why does my
OS
report a capacity of 465GB / 931GB / 1.81TB for my 500GB / 1TB / 2TB
HDD?
HDD manufacturers specify the capacity of a HDD using a decimal system
whereas the OS will typically use a binary system.
New units have been introduced in an attempt to eliminate the confusion.
1 kilobyte (KB)
= 1000 bytes
1 kibibyte (KiB)
= 1024 bytes
1 megabyte (MB)
= 1,000,000 bytes
1 mebibyte (MiB)
= 1024 x 1024 = 1,048 ,576 bytes
1 gigabyte (GB)
= 1,000,000,000 bytes
1 gibibyte (GiB)
= 1024 x 1024 x 1024 = 1,073,741,824
bytes
1 terabyte (TB)
= 1,000,000,000,000 bytes
1 tebibyte (TiB)
= 1024 x 1024 x 1024 x 1024 =
1,099,511,627,776 bytes
For example, a 500GB drive will be reported as having a capacity of
465GiB, although the "i" may be omitted.
2/
Why is my 1TB HDD
reporting a capacity of only 31MB / 32MB / 33MB, or why is my 1.5TB HDD
reporting 500GB, or why is my 2TB HDD reporting 1TB, or why is my 3TB
HDD reporting 2TB (not 2TiB)?
GigaByte
motherboards with an Xpress
Recovery
BIOS are affected by a bug.
When the drive is first in the boot order, Gigabyte's BIOS will write a
backup copy of itself to a small Host
Protected Area (HPA)
at the end of the user area. It then hides this image by reducing the
capacity of the drive by a corresponding amount. Unfortunately a bug in
the BIOS incorrectly adjusts the drive's capacity after creating the
HPA. 1TB drives are reduced to 31/32/33MB, 1.5TB become 500GB, 2TB
become 1TB, and 3TB become 2TB (not 2TiB). Smaller drives appear to be
unaffected by the bug. (Note that if a 3TB drive is detected as 746GB
or 2TiB, then that is a different problem, possibly a 32-bit limitation
in the OS or BIOS, or in the driver for the motherboard chipset or SATA
controller, or a 32-bit limitation of the firmware in an external
enclosure.)
The solution is to use a utility such as HDAT2,
HDD
Capacity Restore Tool, or SeaTools
to
restore the drive's full factory capacity.
For example, to "change the native size" of your HDD, see page 5 of the
HDAT2 user guide:
http://www.hdat2.com/files/cookbook_v11.pdf
Some versions of GigaByte's BIOS appear to be able to automatically
remove the HPA simply by switching the drive's boot order. I suspect
that in these cases the BIOS re-examines each drive and removes any
backup copy from all but the boot drive, or it may leave the BIOS code
in place but remove the HPA. Unfortunately I don't have any user
feedback to confirm this.
I believe that most versions of GigaByte's BIOS (or perhaps all
versions) will not touch a drive a second time if they detect an
existing backup copy. This copy effectively provides immunity from the
bug, unless perhaps the BIOS is updated. However, as before, I don't
have any user feedback to confirm this.
If the drive's file system has not been touched while the drive was in
the truncated state, then everything should be back to normal after the
HPA is removed. However, if a user has attempted to use a tool such as
Microsoft's FIXMBR
or FIXBOOT
to
repair the file system, then the partition table and boot sector will
probably be trashed. In this case a utility such as TestDisk
or Partition Find and
Mount should be able to
undo
the damage.
My only concern would be in regard to the location of the BIOS code.
That is, I would be asking whether the code was successfully written to
the end of the drive, or whether it was written somewhere in the middle
of the file system. To this end I would use a disc editor such as HxD
or DMDE
to perform a reverse search for BIOS related
text strings.
The procedure for DMDE would be as follows:
Choose your Physical Drive
Select Mode
-> Hexadecimal
Type Ctrl-End
to go to the last sector of the drive.
Select Tools
-> Search String
in Object
Type your desired text into the Text
box, eg BIOS,
AMI, American Megatrends, Award, Phoenix, Diskette, etc
Select the Backward
and From Cursor
radio buttons and click OK.
3/ Why does my
Asus
BIOS report a capacity of 500GB for my 1.5TB drive?
I haven't confirmed this to my satisfaction, but it appears that some
flavours of Asus BIOS may have a bug similar to that described in Q2.
See this thread for one example:
http://community.wdc.com/t5/Desktop/1-5-tb-black-is-now-reading-500-gb/m-p/241688
4/
How can I reduce
the capacity of my drive?
Sometimes it may be necessary to reduce the capacity of a drive for
reasons of compatibility with an existing installation. Alternatively,
it could be done for testing purposes.
To this end, and provided that the firmware supports the HPA
(Host Protected Area)
feature set, one could use a
tool such as HDAT2.
The procedure for creating a HPA
is explained on page 5 of the HDAT2 Cook Book (see References).
5/ Why does my
drive
report a reduced capacity of 32GB?
At one time, some flavours of BIOS had a 32GB HDD limitation. In order
to be compatible with these BIOS versions, some drives had a capacity
limitation jumper or alternate capacity jumper (Maxtor) that reduced
the drive's reported capacity to 32GB. Some users inadvertently install
this jumper by confusing it with an IDE drive's master or slave jumper.
Often these jumpers are at opposite ends of the jumper block.
6/
Why, after
successfully partitioning my drive, does the format process hang at 54%
or 73%, or why does a surface scan show almost 50% bad blocks?
Early NVIDIA
nForce
drivers
(Windows) were affected by a 1TiB
limitation (=
1.1TB). The symptom would
be that the drive could be
partitioned in Disk
Management, but would hang
at the
54% mark (2TB) or 73% mark (1.5TB) during a full format. Alternatively,
a drive that had been quick formatted would report 46% or 27% bad
blocks during a subsequent surface scan.
The solution is a driver update.
See the References section for Seagate Knowledge Base articles that
explain the problem in much greater detail.
7/
After cloning a
laptop drive to a larger drive, why does the clone HDD report the same
capacity as the original?
There are at least two possible reasons for this.
(a)
If the drive was cloned sector-by-sector, then the
clone will be an exact image of the original. This means that the
clone's MBR
and partition table
will reflect the partition sizes of the original drive. In this case a
partitioning utility (eg Windows Disk
Management or GParted)
will see the remaining space as unallocated. The simplest solution is
to assign the remaining space to additional partitions. Alternatively,
the last partition or logical volume could be expanded to fill the
drive.
(b)
In certain situations, the clone, as reported by
BIOS, will be reduced to the same physical size as the original drive.
A common example is a Dell
laptop with a MediaDirect
partition. In this case the MediaDirect partition is hidden inside a Host
Protected Area (HPA),
and access to this area
is gained via special boot code in LBA 3. Dell uses its own MBR code in
LBA 0 to transfer control to the code in LBA
3 if the
MediaDirect function key is pressed during the boot process.
Unfortunately the code in LBA 3 also truncates the drive.
To reinstate the full capacity of your drive, read the sections
entitled "How To Avoid the
Truncation Problem" and "How
To Repair A Truncated Disk"
at the following URL:
http://www.goodells.net/dellrestore/hpa-issues.shtml
The HDAT2 FAQ
has several questions relating to
Dell's HPA, and page 5 of the HDAT2
Cook Book
explains how to "change the native size" of your HDD.
Note that you must remove Dell's MBR code before rebooting your drive,
otherwise this code will once again truncate your drive.
8/
Why does my drive
identify itself with 0 LBAs, or a strange model number (eg ST_M13FQBL),
or a strange capacity (eg 3GB)?
First check whether the drive is configured to Power
Up In
Standby (PUIS).
Most drives that support PUIS
do so via an ATA Set
Features command. Some also
provide a jumper option. Western Digital refers to this jumper as PM2.
To disable PUIS, you could use HDAT2. However, to wake up the drive,
you will need to start HDAT2 with the /w
switch.
When a drive powers up, its MCU
(microcontroller)
puts it through a self test during which it confirms the integrity of
the SDRAM and serial flash memory, among other things. It then consults
the PUIS flag and, if disabled, it commands the motor controller IC to
spin up the motor. The drive then accesses the hidden System
Area (also called the Service
Area or Negative
Cylinders) on the platters
and retrieves information such as
the runtime ATA firmware,
P-list
and G-list
(factory defects and grown defects), translator
(to convert LBAs to physical Cylinder/Head/Sector), etc. If any of
these modules are corrupted or inaccessible, then the drive powers up
in a kind of "safe" mode. In this mode there is no access to user data.
Sometimes the drive reports 0
LBAs, as is the case
with some Seagate models that have corrupted G-lists or SMART data. At
other times the drive identifies itself with its "factory
alias"
(eg ST_M13FQBL
or ROM MODEL HAWK)
rather than its actual model number. This alias is stored within the
serial flash memory on the PCB.
In most cases there are no known DIY solutions, or at least none that
the data recovery community has been willing to divulge. One notable
exception is the well publicised 0
LBA fix for
Seagate's 7200.11
and 7200.12
models (see References).
References
Storage Capacity
Measurement Standards [194563]:
http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=194563
Drive
displays a smaller capacity than the indicated size on the drive label:
http://wdc.custhelp.com/app/answers/detail/a_id/615
Difference
between Gibibyte and Gigabyte:
http://en.wikipedia.org/wiki/Gibibyte
http://en.wikipedia.org/wiki/Gigabyte
Explanation of Gigabyte
BIOS bug by "ernstatat":
http://forums.seagate.com/t5/Barracuda-XT-Barracuda-Barracuda/1TB-1000MB-Drives-shrinked-to-31MB-32MB-33MB-causality/m-p/7815#M1706
Explanation of Host
Protected Area:
http://en.wikipedia.org/wiki/Host_protected_area
HDD Capacity Restore Tool:
http://hddguru.com/software/2007.07.20-HDD-Capacity-Restore-Tool
HDAT2/CBL Hard Disk Repair
Utility:
http://www.hdat2.com
http://www.hdat2.com/hdat2_faq.html
http://www.hdat2.com/files/cookbook_v11.pdf
SeaTools for DOS:
http://www.seagate.com/ww/v/index.jsp?locale=en-US&name=SeaTools&vgnextoid=720bd20cacdec010VgnVCM100000dd04090aRCRD
http://www.seagate.com/staticfiles/support/seatools/user%20guides/SeaToolsDOSguide.EN.pdf
TestDisk:
http://www.cgsecurity.org/wiki/TestDisk
Partition Find and Mount:
http://findandmount.com/
DMDE (DM Disk Editor and
Data Recovery Software):
http://softdm.com/download.html
HxD - Freeware Hex Editor
and Disk Editor:
http://mh-nexus.de/en/hxd/
Large SATA drives (above
1.1 TB) will not completely format
[211211]:
http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=211211&NewLang=en
1.5TB (ST31500341AS) or
larger SATA hard drive only showing
1.1TB capacity in Windows Vista [206391]:
http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=206391&NewLang=en&Hilite=%2B73%25+%2Bformat
Understanding the Dell
MediaDirect Partition:
http://www.goodells.net/dellrestore/mediadirect.shtml
Inside the Dell PC Restore
Partition - HPA Issues:
http://www.goodells.net/dellrestore/hpa-issues.shtml
Seagate 7200.11 BSY bug
and 0 LBA fix:
http://sites.google.com/site/seagatefix/
http://www.msfn.org/board/index.php?showtopic=128807
http://www.overclock.net/hard-drives-storage/457286-seagate-bricked-firmware-drive-fix-pics.html
http://forums.seagate.com/t5/Barracuda-XT-Barracuda-Barracuda/SOLUTION-FOR-7200-11-SERIES-MAXTOR-SEAGATE-BRICKED-DRIVES/td-p/26009/page/1