Monte ou abra o disco em que fiz backup com dd

1

Eu usei o comando dd para gerar uma cópia completa de um disco (um cartão SD). Agora estou tentando recuperar as informações que estavam armazenadas lá, mas não sei como ler o conteúdo do arquivo. Eu usei o comando dd if=/dev/mmcblk0 of=/home/user/devmmcblk0.img bs=1M para gerar o arquivo. O cartão SD é 16GB e por isso é o arquivo, como relatórios do Ubuntu. O formato do arquivo era fat32. Eu usei o seguinte comando para instalá-lo: mount -t vfat /home/user/devmmcblk0 /mnt mas ele diz fstype incorrect, incorrect option, wrong superblock in /dev/loop0 . também tentei instalar algum linux no virtualbox e adicionar o arquivo de imagem como disco secundário, mas ele não vai deixar o virtualbox montá-lo, dando o seguinte erro

Código Resultado: 
VBOX_E_IPRT_ERROR (0x80BB0005)
Componente: 
Medium
Interfaz: 
IMedium {05f2bbb6-a3a6-4fb9-9b49-6d0dda7142ac}
Receptor: 
IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554}
Receptor RC: 
VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

Qualquer ajuda em relação à recuperação da informação será muito apreciada.

EDIT Fui questionado sobre a saída de vários comandos, então vou adicioná-los aqui para que todos vejam

  • file -s devmmcblk0.img : devmmcblk0.img: x86 boot sector
  • mount -t vfat -o ro,loop /home/user/devmmcblk0 /mnt : mount: wrong fs type, bad option, bad superblock on /dev/loop0
  • fdisk -lu devmmcblk0.img :

    Disk devmmcblk0.img: 16.0 GB, 16003891200 bytes %código% %código% %código% %código% 255 heads, 63 sectors/track, 1945 cylinders, total 31257600 sectors

     Device Boot      Start         End      Blocks   Id  System
    devmmcblk0.img1            8192    31257599    15624704    c  W95 FAT32 (LBA)
    
por mrbolichi 13.05.2016 / 16:05

3 respostas

0

kpartx também é uma opção. De um site na internet:

# kpartx -l gothbook.img
loop1p1 : 0 512000 /dev/loop1 63
loop1p2 : 0 512000 /dev/loop1 512063
loop1p3 : 0 45056000 /dev/loop1 1024063
loop1p5 : 0 8388608 /dev/loop1 46090548
loop1p6 : 0 39070017 /dev/loop1 54492543
loop1p7 : 0 62733762 /dev/loop1 93562623

Eu posso ver na saída do kpartx que a imagem da minha unidade contém 6 partições. Eu posso ver suas compensações iniciais. A primeira coluna informa os nomes dos arquivos de dispositivos que serão criados se eu optar por adicionar essas partições de dispositivos. Vamos adicioná-los agora.

# kpartx -a -v gothbook.img
add map loop1p1 (253:6): 0 512000 linear /dev/loop1 63
add map loop1p2 (253:7): 0 512000 linear /dev/loop1 512063
add map loop1p3 (253:8): 0 45056000 linear /dev/loop1 1024063
add map loop1p5 (253:9): 0 8388608 linear /dev/loop1 46090548
add map loop1p6 (253:10): 0 39070017 linear /dev/loop1 54492543
add map loop1p7 (253:11): 0 62733762 linear /dev/loop1 93562623

# ls -l /dev/mapper
total 0
crw-rw---- 1 root root  10, 62 2010-06-15 17:40 control
brw-rw-r-- 1 neil neil 253,  6 2010-08-16 00:28 loop1p1
brw-rw-r-- 1 neil neil 253,  7 2010-08-16 00:28 loop1p2
brw-rw-r-- 1 neil neil 253,  8 2010-08-16 00:28 loop1p3
brw-rw-r-- 1 neil neil 253,  9 2010-08-16 00:28 loop1p5
brw-rw-r-- 1 neil neil 253, 10 2010-08-16 00:28 loop1p6
brw-rw-r-- 1 neil neil 253, 11 2010-08-16 00:28 loop1p7

O comando precedente adicionou seis arquivos de mapeamento de dispositivos ao / dev / mapper. Cada um desses arquivos de dispositivos corresponde a uma partição daquela imagem do disco rígido. Agora podemos usar esses arquivos de dispositivos para montar essas partições e acessar todos os arquivos que elas contiverem. Eu quero montar a quinta partição (/ dev / mapper / loop1p6) e dar uma olhada em seus arquivos.

# mkdir /mnt/sysimage
# mount /dev/mapper/loop1p6 /mnt/sysimage
# ls /mnt/sysimage
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

Depois de montar o arquivo do dispositivo, você pode acessar os arquivos contidos nessa partição. Quando terminar, não se esqueça de desmontar a partição e desconectar os arquivos de mapa de dispositivos usando o kpartx. # umount /mnt/sysimage # kpartx -d -v gothbook.img

    
por 13.05.2016 / 22:35
0

Você deve montar a partição, ela começa com um deslocamento dentro do arquivo.

sudo mount -o offset=$((512*8192)),ro,loop -t vfat /home/user/devmmcblk0.img /mnt

Notas:

  • loop pode não ser necessário.

  • 512 é o tamanho do setor conforme relatado por fdisk .

  • 8192 é o setor inicial.

Sua imagem abrange todo o cartão SD; é semelhante a (por exemplo) /dev/sdb . Se fosse um cartão SD, então haveria /dev/sdb1 disponível para montar. A montagem sdb1 seria montada sdb com o deslocamento apropriado automaticamente. Com o arquivo de imagem não existe essa mágica - você não tem nenhum devmmcblk0.img1 especial. É possível criar um tal arquivo manualmente, mas complicado e não muito necessário (edit: kpartx na resposta de KevinB faz isso). A maneira mais fácil é passar o deslocamento correto para o comando mount .

    
por 13.05.2016 / 22:14
0

Atualização: por favor, tente com opção readonly desta vez,

sudo mount -t vfat -o ro,loop /home/user/devmmcblk0 /mnt

Update2:

Vendo todos os obstáculos ao lidar com o dispositivo de loopback manualmente, talvez você queira tentar uma abordagem de nível superior? Por favor, veja se

sudo testdisk devmmcblk0.img

dá boas notícias

Update3:

É provável que seja uma partição formatada com exfat que requer exfat-fuse e exfat-utils para montagem adequada.

    
por 13.05.2016 / 16:21