dd error: unknown conversion sync
I think the problem is the space between "conv=noerror," and "sync", although I don't get the exact same error you do:

$ dd if=/dev/null of=/dev/null bs=128m conv=noerror, sync    # With space, fails
dd: unknown conversion 
$ dd if=/dev/null of=/dev/null bs=128m conv=noerror,sync    # Without space, works
0+0 records in
0+0 records out
0 bytes transferred in 0.065054 secs (0 bytes/sec)


...but the error message I get is different. Generally, the "unknown conversion" message will list the unknown conversion:

$ dd if=/dev/null of=/dev/null bs=128m conv=noerror,wibble
dd: unknown conversion wibble


I think what's happening is that the shell parses conv=noerror, sync as two arguments, "conv=noerror," and "sync", and then dd parses the first of those as specifying two conversions, "noerror" and "" (since there's nothing after the comma), and then complains that the option "" is unknown.

But that's not the error you're getting; yours actually lists "sync" as the unknown option. The only thing I can think of is that you might have something like a non-breaking space between the "," and "sync". In that case, the shell will treat it as just part of the argument, and pass "conv=noerror,sync" as a single argument; dd will then parse this as two options, and give the error message "dd: unknown option sync":

$ dd if=/dev/null of=/dev/null bs=128m conv=noerror, sync    # That's a nonbreaking space
dd: unknown conversion  sync
                       ^ That's also a nonbreaking space


In any case, remove the space (whatever it is) and it should work.