Follow the advice of RichUK to the tee, exactly as is. This should work.
I spent over 30 hours trying to recover my 320 gigs from showing up as 78 gigs.
I dloaded at least 2gb of different software, gave everything a shot, nothing worked.
HDAT2 was the only thing that saved the day for me.
I'll give you a brief outline of what happened -
1. I upgraded my HDD from a 80 gigs to a 320 gigs on a Dell Inspiron E1505.
2. Used Norton Ghost to restore the ghost hidden images to restore XP MCE from Dell's Hidden Recovery Partition.
(Actually this step itself took me more than 6 hours - I had Norton Ghost 2003 Build 793 BootCD, but it refused to recognise the images, since they were prepared using Norton Ghost 10. I finally used Norton Ghost Solution Suite 2.5 and prepared a USB Boot Drive which restored the images like a breeze. NOTE HERE : After restoring the images to a new partition on the new HDD, if you try and restart XP, it will give you a HAL.DLL error. That's becoz' the SID identifiers in the image and that of your HDD are different. Use Ghost Walker on the same boot CD to change the SID and voila, XP MCE boots like a charm !!!)
3. Now, the issue was I also wanted to transfer all my stuff from the old HDD to the new one. I connected it using a USB Casing, started copying, and deleted all the Windows and Program Files folders on the old HDD (since I wanted to use the old disk as external backup now). And rebooted the computer.
4. This is where everything practically went to tethers
5. My boot order was set to boot from USB, CD and then Internal HDD. The laptop tried to boot from the old HDD. I realised this and immediately shut the computer down. (HUGE MISTAKE !!!). My worst nightmare came true.
6. The next time it booted, I got an error of UNACCESSIBLE_BOOT_DEVICE and a BSOD. All solutions on the net pointed out, I should use Recovery Console from a Windows CD and do a "FixMBR" sort of stuff. My biggest problem here was, my internal CD-ROM Drive on my Inspiron doesn't work !!! I have an external USB CD-ROM Drive, but the laptop just completely refuses to boot from it - since it's not detected by the older Inspiron E1505 BIOS. I was completely frustrated by this point in time.
7. Also, I knew the above method would most likely not work, since after you enter the Recovery Console, it will ask you for an Administrator Password, which is what Dell sets it and I don't have it.
8. The biggest problem was not the above error for me, but the fact that I had a huge 200 gigs partition on this new drive wherein I had just finished consolidating all my data for the past few years - and the drive when removed from the laptop and connected to a different PC was just showing up as a 78GB HDD (even in BIOS now). I kind of knew that it's only the MBR and Partition Table which have fried - but my efforts in recovering this was becoming a pain.
9. Over the next 18 hours, I tried using Knoppix, QTParted, Partition Magic, GParted Live, Seagate SeaTools, MHDD, Magic Boot Disk and tons of various utilities, all in vain - nothing would detect the HDD to be more than 78GB.
10. Finally I found and installed "Partition Wizard Home Edition" and connected the new HDD to it using USB. It ran for a few hours and recovered my Boot partition (which was a 97.65 gigs (the new XP MCE which had booted so well a few hours ago).
11. Still a bottleneck - becoz' I now had a 97.65 GB partition on a HDD which was being detected by everything I know to be only a 78 GB HDD. Windows was mounting this recovered partition as a NTFS partition showing me the C drive of the brand new setup (which was kind of useless to me, since I wanted all the data of the D drive).
12. Then scrambled and searched through the forums, and found HDAT2. Downloaded the ISO, burned it to a USB disk, booted, but it wouldn't go through searching for USB devices and would perpetually hang up. Please note, I know USB Mass Storage support is anyway broken in most of the programs above, so I had re-connected my new HDD to my laptop (which was not really an issue since it was now booting as a 78 GB disk with a 97.65 GB WinXP boot partition like a charm). Anyway, I booted using the HDAT2 I downloaded, but it wouldn't go past the booting process, and if it did, wouldn't detect my HDD at all.
13. Finally, I downloaded Hiren's BootCD 10.2 since I was aware it had this utility on it. Copied the ISO over to my USB (I was using a MultiBootISOs-v0.7 installer all this while on my 8GB pen-drive for those interested - it's the most outstanding tool I have ever seen !!!), and booted using the HDAT2 from HBCD. It booted like a charm, detected my HDD, showed that the actual max capacity was 320 GB, but wouldn't set it to that (erroring out saying some weird stuff).
14. It is at this step, that I did exactly as RichUK pointed out !!! Set the LBA to "28 bits", go back and come again and try to set it back to "48 bits". It will error out saying 2 back to back non-volatile commands issued. So I went back, rebooted and re-loaded HDAT2 from the HBCD. This time it allowed me to set the LBA to "48 bits", and HDD capacity showing up as 320 gigs. (I WAS THRILLED AT THIS POINT IN TIME !!!)
15. Finally, saved the changes, rebooted to XP and voila, I had a 320 GB disk showing up in Computer Management with a 200 GB unallocated space (which I certainly knew had all my data).
16. I re-ran Partition Wizard Home Edition and now it showed up my 200 GB Data Partition as Lost/Deleted. I clicked on the check mark next to it (PLEASE remember to CHECK all partitions including the one you are working on - which is C Drive, else it shows up a warning that "Some partitions will be deleted"). Click Apply. Took me a few seconds and voila, I could see my 200 GB partition.
17. Started Computer Management, assigned a drive letter, and I was good to go.
18. This was my tryst - I hope this helps people who get themselves in such a mess (which I sincerely hope people don't attempt to !!!).