In case the author is reading:
> first i tried to "dd" the whole disk to a file, but every time an input /output error occured, dd would of course stop.
This is exactly the purpose of the "noerror" option to dd -- to tell dd to continue reading even when an error returns from the disk.