These days Atola Technology makes digital forensic tools that allow restoring HDD capacity, among other more complex and effective capabilities:
This article is a complete guide on recovering your hard drive’s factory capacity. At the end of this article there is a link to our program that recovers factory capacity of any hard drive.
“My hard drive has mysteriously became smaller! How can I restore its full capacity?”
There are several common reasons of why your hard drive might lose some megabytes or even gigabytes:
- Your Operating System does not support LBA48 addressing mode
- You are mixing binary and decimal gigabytes
- Your motherboard has created a hidden area on your hard drive to store a backup of the BIOS binaries
- Your PC/Laptop manufacturer has created a hidden area on your hard drive to store a backup of the Operating System installation files (needed for automatic restore functionality)
- You have used some software that sets HPA (Host Protected Area), messes with DCO (Device Configuration Overlay), or switches off LBA48 support
- You have misplaced a jumper on the drive
- There was Magic involved
Now I will go through these things one-by-one and provide some more details.
Operating System does not support LBA-48 addressing mode
Windows 95, Windows 98 and Windows ME will not support big drives (>137GB) even if you install all hotfixes. There are ways to get around this problem, but since these Operating Systems are rather rare nowadays, I do not see the point of writing about them.
Windows 2000, 2003 and XP do not support big drives by default; you will have to install the latest service pack in order to get big drives working properly on these OS.
Windows Vista does not have any issue with big drives.
Binary and decimal gigabytes
Hard drive manufacturers use decimal gigabytes while operating systems use binary gigabytes. One decimal gigabyte contains
Motherboard creates HPA
Motherboard can create a so-called “Host protected area” on your hard drive to store its data. Usually this area is not bigger than 10 megabytes, so there is nothing to worry about.
PC/Laptop manufacturer creates HPA
Manufacturer of your PC can create a “Host protected area” on your hard drive to store an image of the original operating system and programs. This area is used when you want to restore the original state of your desktop PC or laptop without using CD/DVD disks. Usually this area is quite large (8-20 GB).
In this case, to restore the original capacity of the hard drive with the HDD Capacity Restore tool that we include in this article, you may need to remove the hard drive out of its original PC/laptop and temporary attach it to another PC. This is needed because most BIOSes will disable HPA/DCO operations to ensure that nothing can reset or damage that hidden area.
Software that has the ability to control HPA and DCO
For example, MHDD. This software allows you to set a Host protected area on your hard drive, so the hard drive will report less capacity to both BIOS and Operating System. MHDD can also access DCO (Device Configuration Overlay), and that allows you to not only change hard drive’s capacity, but also switch some hard drive functions, such as LBA48 support, Security commands support and others.
Some manufacturers (for example, Dell and HP) use DCO to reduce capacity for marketing needs. Example: they need to ship 1000000 computers with 40GB hard drives, but they only have 80GB drives in stock. They will use their own DCO tools to lock capacity to 40GB.
Jumper settings that limit hard drive capacity
Most hard drives have a special jumper setting that allows you to limit their capacity to either 32 or 128 (137) gigabytes.
These include things like HDD firmware bugs (believe me, there are plenty of them).
Also, sometimes a damaged Master Boot Record may cause the BIOS and/or the Operating System to misdetect the true hard drive capacity. In this case you would need to use a zero-fill tool.
Sometimes a very broken hard drive may report wrong capacity. In this case there is nothing you can do about that.
Solutions. Restoring factory capacity
1. Check jumpers. Consult with manufacturer’s instructions and set jumpers to the proper position.
2. Check your OS, does it have all updates installed?
3. Check disk partitions. Run Windows Disk Management console and see if there is any free space that is not used by any partition.
4. If steps 1—3 did not help, then we have a very cool tool that analyzes your hard drive’s LBA48, HPA and DCO status and recovers factory settings (see below).
HDD Capacity Restore Tool
We’ve came up with a freeware tool that handles LBA48 mode setting as well as HPA and DCO features. It does everything automatically: it extracts the factory capacity; then it restores the factory LBA48, HPA and DCO settings.
Download HDD Capacity Restore Tool.
Supported OS: 32-bit versions of Windows XP/Vista/2003
All you have to do is to run it and click “Restore Capacity”. The program will do the rest.
Update May 24, 2008: Many people ask if this this tool formats the hard drive and/or erases the data. No, it does not perform any kind of formatting; furthermore it does not read from or write to the user data area at all (including partition tables, boot records, etc). It only alters HDD firmware (HPA and DCO settings).
I strongly recommend to re-power your computer before running this tool. That means, completely power off your computer; then power on, start Windows and run the tool.
If the tool fails to restore the original capacity, then the most common reason is that your motherboard is blocking HPA and DCO commands. You can check that by running BIOS Setup and looking for things like “DCO” or “HPA”. If nothing helps, try on another computer. If you are brave enough, you can also try the following: run the program, select your hard drive, and then when you see the “Restore Capacity” button, re-power your hard drive by detaching and re-attaching its power cable. Warning: you are doing this at your own risk!
After the program finishes working (3—20 seconds), you will need to power off your PC, then wait 10—20 seconds and then power on.
I believe I’ve covered everything. If I am missing anything, you are very welcome to leave a comment :)