I have a HP Pavilion dv6446 notebook. It had Windows Vista Home premium. After 4.5+ years of usage, just recently it started malfunctioning. While working fine, its screen goes white or sometimes some thin black lines horizontally. Laptop freezes. Hard reboot works.
Again it works for some 2 hrs or so, same error.

To diagnose I did run the Memory and Hard disk check which is present in the Bios Setup.
Memory test passed. Hard disk test returned an error saying something like - "Replace the hard disk". Bad.. Some sectors or platters have gone bad on the disk. (I confirmed this later by further tests mentioned below)

Then I tried installing a Ubuntu 11.10. It listed 3 partitions /dev/sda1, sda2, sda2.
It again gave error and could not install grub loader on /dev/sda1. Bad sectors. 
Then redid the Ubuntu installation, this time asked to to install the Ubuntu on /dev/sda3. and kept /dev/sda1 for /home. Installed fine, and works fine as well. 

Due to unavailability of WiFi/ Ethernet driver for that adapters under Ubuntu( at least I could not configure them and get the networking working at all), I decided to go back to reinstall windows Vista.

It did install fine. I did not have to format one data partition which has my data. I just formatted one partition which installed Windows So in effect HDD has not undergone a full format here. Worked ok for 1 day. But same white screen and freeze happened. Looks like while it is in use, it accesses the bad sectors for storing some data and that's when it bombs.

I am inclined to think HDD has not failed fully or crashed but has developed bad sectors.
Else if it was a HDD crash, it would have refused to boot at all let alone install on it.

Questions: 

1. Is there any HDD test check under windows or any such tools windows/linux based ewhere which can identify the bad sectors of the HDD and 'lock/isolate' them from further read-write access of any kind.
2. If not what are my options, if any to salvage this laptop HDD without replacing it.

EDIT:

Would the Disk Error checking tool under windows help in any way?