Currently I read them out with winhex to an exact image file. It works correctly but doesn't seem to give multiple tries to bad sectors. Apparently there is some Linux "DD" method that can do a bunch of retries on sector errors that I just found out about. I will give it a try some time but there's no guarantee it will work any better.