O MBR é basicamente um segmento de 512 bytes no primeiro setor do seu disco rígido e é composto de 3 partes: o código de inicialização (446 bytes), a tabela de partição (64 bytes) e a assinatura do código de inicialização (2 bytes de comprimento). Não tenho certeza do que deu errado ao seu lado, mas isso funciona para mim:
Isso fará o backup do código de inicialização e nada mais:
[root@host]# dd if=/dev/sda of=/tmp/mbr.img_backup bs=446 count=1
Em seguida, você deseja limpar o MBR, incluindo a tabela de partições, que você não deseja salvar junto com a assinatura do bootcode:
[root@host]# dd if=/dev/zero of=/dev/sda bs=512 count=1
E agora você restaura o código de inicialização:
[root@host]# dd if=/tmp/mbr.img_backup of=/dev/sda bs=446 count=1