The "*" is not used by Linux. It is an indicator known as the booting flag. The "*" means it is in an "on" position. Only MS systems use it because every MS system's MBR search the 4 primaries (sda1 to sda4) for the "*" and boot the one that got it.
I couldn't see anything wrong with the partitions.
If the sda has a problem the process can get stopped but the error would indicate an access problem. Your error message was the space was used up. I suggest you try it again and report the full error message.
Code:
dd if=/dev/sda of=/dev/sdb bs=32256 conv=noerror
Your hard disk has to be connected internally to get the 57.9 MB/s transfer speed reported in your last post. Your output file if exactly as you have typed and not what I have suggested then "of=/sdb" means it is to be a file called sdb inside your / root directory. If you ran it from a Live CD then 1.6Gb full space is your ram. Therefore you were not cloning from hard disk to hard disk but from hard disk to internal ram!
If you are not sure just copy and paste the command posted here.
Remember with a USB connection you should allow for about 10 to 15 Mb/s transfer rate. dd will stop when the source 250Gb disk has been exhausted. My estimate is it will take between 5 to 7 hours so be prepared.
dd does not give out any information but the command is working flat out if the LED keeps flickering in both the PC and the external hard disk.
Good luck this time!