[FUGSPBR] dd em "partes"

Joao Rocha Braga Filho goffredo em webkey.com.br
Ter Mar 16 06:16:32 BRT 2004


Gabriel Barros wrote:

> A dúvida é mais sobre o dd do que BSD, mas estou meio desesperado, 
> desculpem o quase-off-topic.
>
> precisava saber como é a melhor maneira de "quebrar em partes" a saída 
> do comando dd para depois juntar em um arquivo só.
>
> O problema que eu estou é:
>
> Tenho que fazer uma imagem de uma HD de um notebook com windows, para 
> se der problema, poder restaurar a imagem do HD como ela está agora.
> A HD está assim:
> hda1    3175168 blocos (primaria)
> hda2    1050840 blocos (extendida)
> hda5    1050808 blocos (lógica, está um setor depois do incio da 
> hda2-fisica-, para o OS não ver... as sujeiras que a compaq costuma 
> fazer; fisico=557,239,63 logico=558,239,63)
>
> o que já fiz:
> 1. liguei ele com o cd de instalação do slackware, belo root disk no 
> desespero :)
> 2. coloquei ele na rede e montei um dir da máquina linux por NFS
>
> A idéia original era simplesmente "dd if=/dev/hda 
> of=/mnt/server/hd.img". Porém, quando chegou em 2Gb ele parou.
> O problema não é do servidor, é do notebook. Não sei se o kernel/glibc 
> q não suportam >2Gb mesmo ou se é o cliente de nfs, mas enfim, não vou 
> poder escrever os 4Gb da HD de uma só vez.
>
> A próxima idéia é mandar a saída do comando dd em vários pedaços de 
> 1Gb, e depois concatenar no filesystem do server. Mas não consegui 
> achar uma receita pra fazer isso.


    Tente o seguinte:

dd if=/dev/hda bs=1048576 | bzip2 > /mnt/server/hd.img


>
> Na pagina do manual do dd, fiquei confuso com o conceito dos argumentos.
>
> Então, queria saber se dá para fazer algo como:
> # dd if=/dev/hda count=1050840 of=/mnt/1.img
> # dd if=/dev/hda skip=1050840 count=1050840 of=/mnt/2.img
> # dd if=/dev/hda skip=2101680 count=1073488 of=/mnt/3.img
>
> e depois no server:
> # echo 3.img >> 2.img >> 1.img > completo.img


    echo NÃO, e nem assim. É desastre. Faça assim:

cat 1.img 2.img 3.img > completo.img

>
> e dai se eu fizer no futuro executar...
> # dd if=completo.img of=/dev/hda
> ...eu vou ter uma cópia fiel da HD como ela está hoje?


    Possivelmente sim.

    Teste com um (logo depois da cópia):

md5 completo.img /dev/hda

>
>
> não aguento mais fazer testes para salvar os dados dessa hd...
> Agradeço qualquer comentário!
>
> Obrigado,
> Gabriel


    Importante. Só faça dd de um FS que esteja desmontado, ou em read only.


    De nada,
       João Rocha.

_______________________________________________________________
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd