I had a hosed partition table (mixed Linux Windows)that I succesfully recovered using gpart.
AFAIK this is not debianized yet, and unfortunately I forget wher I got it from :( If a search doesn't turn it up, I do still have the source and will send on request. HTH, Jon