Apesar da crença popular, dd
é um comando perfeitamente comum, não é mais baixo que cat
ou cp
. Seu comando lê a partir do cache de disco e grava nos buffers de disco como qualquer outro comando.
Para garantir que os dados sejam totalmente gravados na mídia física, você precisa chamar sync
. O comando sync
libera todos os buffers de saída para o (s) disco (s). Quando o comando sync
retornar, os dados foram totalmente gravados.
sudo dd if=~/Desktop/ubuntu.iso of=/dev/sdx bs=1M; sync
Na maioria das vezes, você não precisa chamar sync
, porque a desmontagem de um sistema de arquivos faz o mesmo trabalho. Quando o comando umount
retornar, ou quando você receber uma mensagem de confirmação depois de clicar em "Ejetar", os buffers serão gravados no disco. Aqui, você está gravando diretamente no disco sem passar por um sistema de arquivos montado, portanto, é necessário esvaziar o buffer explicitamente.
Observe que, em vez de dd
, você pode usar tee
. Isso tem duas vantagens: há menos risco de inverter a origem e o destino devido a um erro de digitação, e é provavelmente um pouco mais rápido .
<~/Desktop/ubuntu.iso sudo tee /dev/sdx >/dev/null; sync