A friend of mine had some problems like that and in the end he created a small Windows program (that he also open-sourced) that works together with other open-source programs in order to fix those things (but IMHO the program is still only for the more technical users).
The more detailed description can he found on his blog - http://cool-stuff-or-not.blogspot.com/2008/02/managing-notebook-hdd-problems-with.html - and also links to the actual project on SourceForge.
The more detailed description can he found on his blog - http://cool-stuff-or-not.blogspot.com/2008/02/managing-notebook-hdd-problems-with.html - and also links to the actual project on SourceForge.






- carpe noctem