Montando imagens criadas pelo dd de um dispositivo RAID

Publicado por Aguinaldo Retamero em 06/08/2012

[ Hits: 12.092 ]

 


Montando imagens criadas pelo dd de um dispositivo RAID



Esta dica destina-se as pessoas que, alguma vez, precisaram acessar o conteúdo de uma imagem criada pelo comando dd.

E não conseguiram montá-la pelo comando habitual (loop):

mount -o loop

Montando dispositivo

Se você, alguma, vez precisar acessar o conteúdo de um arquivo de imagem, que foi  criado pelo comando dd, e recebeu o aviso de que o sistema de arquivos é desconhecido (pois ele é membro de um sistema em RAID).

Da forma convencional, faríamos:

# mount -o loop sda.img /mount/point

Mas, aparece a mensagem de erro:
    mount: unknown filesystem type 'ddf_raid_member'

Isto acontece porque num sistema RAID a controladora envia ao dd, todas as informações do dispositivo de uma vez. Devemos então, passar um parâmetro extra ao comando mount, para ele saber onde está "endereçado" cada segmento  do conjunto (mesmo que tenha outro vazio).

Para saber, usaremos o fdisk com as opções -ul:

# fdisk -ul sda.img

O que retorna:
    255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
    Units = setores of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xd422d422

    Dispositivo Boot      Start        End          Blocks       Id    System
    sda.img1     *          63      623884274   311942106    7   HPFS ou NTFS
    A partição 1 possui fins físico/lógico diferentes:
          fís. = (1023, 254, 63) lógico = (38834, 254, 63)

Ou, com sfdisk (variante do fdisk), temos mais detalhes do arquivo:

# sfdisk -ul sda.img

Resultado:
   Disco sda.img: 38913 cilindros, 255 cabeças, 63 setores/trilha
   Situação antiga:
   Unidades = setores de 512 bytes, contando a partir de 0

      Device Boot    Start       End   #sectors  Id  System
   sda.img1   *        63 623884274  623884212   7  HPFS ou NTFS
   sda.img2             0         -          0   0  Vazia
   sda.img3             0         -          0   0  Vazia
   sda.img4             0         -          0   0  Vazia
...

Como vemos no resultado, cada setor tem 512,  e a partição inicia-se no setor 63.

Basta então, multiplicarmos: 63 * 512 = 32256 - Refazendo o comando com o parâmetro 'offset'.

Se houvesse mais partições dentro, usaríamos o mesmo conceito: Valor de Start * tamanho do setor

Neste caso, só existe uma partição, então:

# mount -t ntfs -o loop,offset=32256 sda.img /mount/point

Com  o comando df -h, conseguimos constatar que foi montando corretamente!

# df -h

Retornou:
     /dev/loop1            298G  216G   82G  73%  /mount/point

Espero que seja útil, assim como foi para mim.

Obrigado!

Aguinaldo Retamero

Referência



Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Compilando o swi-prolog

Repositórios Multimídia no Debian 7

Compilando o kernel do Debian 3.1

M.A.M.E

Fedora 6 e Squid 2.6.x transparente

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts