You can get Roadkil's Raw Copy from
www.roadkil.net and just do a straight raw copy of old hard drive to new with an adapter. It will read past the bad sectors and do a straight copy.
I have done this several times, most recently last week. I use rawcopy more than Linux to do this. It just works.
Now if 320gb laptop hard drives could stop throwing up errors, I would be happy.