erro dd: sincronização de conversão desconhecida

0

Eu tenho uma unidade externa com várias partições. Eu quero clonar a unidade inteira. Não há aplicativos GUI que possam clonar todo o volume, então tentei dd. Meu comando foi:

sudo dd if=/dev/disk0 of=/dev/disk2 bs=128m conv=noerror, sync

No entanto, este resultado é:

 dd: unknown conversion sync

Noerror e sync são listados em conv na página de manual.

Agradeço a ajuda para encontrar o comando dd correto para clonar uma unidade externa com várias partições para outra unidade em branco

k3vmo
fonte
Você parece ter um espaço entre "conv = noerror" e "sync" - existe no comando original? Com o espaço (e diferente ife ofvalores, eu recebo o erro "dd: conversão desconhecido", mas sem o espaço que ele funciona bem.
Gordon Davisson
Há um espaço após a vírgula noerror, [space] sync.
K3vmo 4/06

Respostas:

1

Acho que o problema é o espaço entre " conv=noerror," e " sync", embora eu não receba exatamente o mesmo erro que você:

$ 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)

... mas a mensagem de erro recebida é diferente. Geralmente, a mensagem "conversão desconhecida" listará a conversão desconhecida:

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

Acho que o que está acontecendo é que o shell analisa conv=noerror, synccomo dois argumentos, "conv = noerror" e "sync", e depois ddanalisa o primeiro como especificando duas conversões, "noerror" e "" (já que não há nada após a vírgula) e reclama que a opção "" é desconhecida.

Mas esse não é o erro que você está recebendo; o seu realmente lista "sincronização" como a opção desconhecida. A única coisa em que consigo pensar é que você pode ter algo como um espaço ininterrupto entre o "," e o "sync". Nesse caso, o shell o tratará como apenas parte do argumento e passará "conv = noerror, sync" como um único argumento; ddanalisará isso como duas opções e exibirá a mensagem de erro "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

De qualquer forma, remova o espaço (seja ele qual for) e deve funcionar.

Gordon Davisson
fonte
Estou confuso porque com ou sem espaço - recebo o mesmo erro: sincronização de conversão desconhecida. Isso está no macOS Sierra 10.12.6 - é isso que você também está executando?
K3vmo 5/06
Achamos que descobrimos. Quando os volumes das duas unidades foram desmontados - não houve erros e as luzes das unidades ficaram loucas. Vou atualizá-lo quando concluir!
K3vmo 5/06