Quando copiamos o conteúdo de uma partição de disco em um arquivo através do comando dd, a montagem desse arquivo é bem simples, vejamos para exemplificar:
Tenho um disco com /dev/sda1 e /dev/sda2. Vou criar um arquivo com a imagem de cada partição com o seguinte comando:
# dd if=/dev/sda1 of=arquivo_sda1.iso
# dd if=/dev/sda2 of=arquivo_sda2.iso
Claro que o bom senso diz que devemos fazer isso com o dispositivo desmontado e, principalmente, não ser o disco em uso no momento.
Para montar o arquivo e ler seu conteúdo em outro computador:
# mkdir /mnt/sda1
# mount -t auto -o loop arquivo_sda1.iso /mnt/sda1
# mkdir /mnt/sda2
# mount -t auto -o loop arquivo_sda2.iso /mnt/sda2
* Não vou entrar em detalhes sobre isso aqui porque tem milhões de tutoriais e explicações detalhadas sobre isso na internet, não vou plantar mais do mesmo.
O problema é quando copiamos o conteúdo de um dispositivo inteiro que está particionado. Isso não tem muitos tutoriais por aí. Por exemplo:
Um disco de sistema de 500 GB particionado assim:
/dev/sda1
/dev/sda2
/dev/sda3
Executamos a cópia assim:
# dd if=/dev/sda of=imagem_de_disco_sda.iso
Pronto, já temos a bomba!!!!! rsrsrs
Na hora de montar essas partições é que vem o problema pois é um único dispositivo.
Então vamos a solução tão simples que creio que por isso que tem tão pouco na internet.
# losetup -P /dev/loop0 imagem_de_disco_sda.iso
Com a opção -P (maiúscula) o sistema criar tantos dispositivos quantas forem as partições do disco da seguinte forma, no nosso caso:
/dev/loop0p1
/dev/loop0p2
/dev/loop0p3
Então para montar as partições:
# mkdir /mnt/loop0p1
# mount -t auto /dev/loop0p1 /mnt/loop0p1
# mkdir /mnt/loop0p2
# mount -t auto /dev/loop0p2 /mnt/loop0p2
# mkdir /mnt/loop0p3
# mount -t auto /dev/loop0p3 /mnt/loop0p3
* a opção "-t auto" pode mudar dependendo do sistema de arquivo que existir na partição. Sugiro o uso do comando blkid para identificar os Sistemas de Arquivo de cada partição.
* A extensão ".iso" no arquivo de imagem é meramente ilustrativa, pode ser qualquer nome.
Um pouco mais...
Há casos que alguns sistemas operacionais não possuem o aplicativo losetup, em substituição vem o kpartx, como o CentOS 6.5. Então vou aproveitar e explicar como usar esse comando também:
# kpartx -av imagem_de_disco_sda.iso
Vai ser mostrada a seguinte saída:
add map loop0p1 (253:4): 0 16002 linear /dev/loop0 63
add map loop0p2 (253:5): 0 4415 linear /dev/loop0 16065
add map loop0p2 (253:5): 0 4415 linear /dev/loop0 16065
Diferente do losetup, ele não cria os atalhos /dev/loop0p1 e /dev/loop0p2. Mas observer uma sequência numérica na saída do comando, "253:4" e "253:5".
Se você listar o conteúdo de /dev/block, vai ver esses números lá apontando para dm-x que também tem links em /dev/mapper/loop0pX.
Tá, é uma confusão que não vem ao caso explicar agora.
A referência numéria no /dev/block é a que vai aparecer com mais frequência, então vamos utilizá-la para nosso exemplo:
Então, agora é só montar o dispositvo:
# mount -t auto /dev/block/253:4 /mnt/loop0p1
# mount -t auto /dev/block/253:5 /mnt/loop0p2
Pronto.
Já estão montados os dispositivos.
Nenhum comentário:
Postar um comentário