Montando imagem de disco no formato Raw


11

Ao tentar montar uma imagem de disco no formato Raw (dd) usando o seguinte comando

mount  nps-2010-emails.dd /media/manu/

Eu recebi a seguinte mensagem de erro

mount: you must specify the filesystem type

Eu sei que usando -tpodemos especificar o sistema de arquivos, mas qual é a terminologia para um arquivo RAW (dd), que pode ser passado como argumento para o comando mount. Se meu método para montar este sistema de arquivos estiver errado, ajude-me a fazer o mesmo.

$ file -s nps-2010-emails.dd
nps-2010-emails.dd: x86 boot sector; 
partition 1: ID=0xb, starthead 254, startsector 1, 20479 sectors, extended partition table (last)\011, code offset 0x0

$ fdisk -l nps-2010-emails.dd
Disk nps-2010-emails.dd: 10 MB, 10485760 bytes
255 heads, 63 sectors/track, 1 cylinders, total 20480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

             Device Boot      Start         End      Blocks   Id  System
nps-2010-emails.dd1               1       20479       10239+   b  W95 FAT32 

Você pode adicionar a saída do comando file -s nps-2010-emails.ddà sua postagem, por favor?
steeldriver

Dei uma olhada no seu perfil e vi a outra pergunta. Talvez esta publicação no blog possa ser útil.
Muru

@steeldriver Output added ...
spaceman_spiff

Opções mais fáceis de montagem - disponíveis / descritas aqui: askubuntu.com/questions/69363/…
Hannu

Respostas:


16

Em http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/ , há uma sugestão para usar um deslocamento. Primeiro obtenha o deslocamento via fdisk(8)e depois especifique-o com a offsetopção para mount. Use fdiskpara determinar o setor inicial da partição e o tamanho do setor. Em seguida, calcule o deslocamento em bytes usando o número do setor inicial e o tamanho do setor em bytes. Consulte Montar partição única a partir da imagem de todo o disco (dispositivo) para obter um exemplo. Finalmente:

mount -o offset=<offset in bytes> nps-2010-emails.dd /media/manu/

Em um disco rígido típico, as células que contêm os dados são agrupadas. Os agrupamentos são chamados setores. Da maneira como geralmente particionamos as coisas, os primeiros setores são mantidos de lado por fornecer informações sobre as partições, deixando uma lacuna. Portanto, se tivermos uma imagem de um disco inteiro, esses setores também serão incluídos. Agora, o mountcomando não pode ser iniciado diretamente no primeiro byte, pois a partição não é iniciada no primeiro byte. Então, teremos que dizermountquantos bytes pular (para evitar informações adicionais) e chegar à partição real. Isso é chamado de deslocamento. Agora, cada setor pode armazenar uma certa quantidade de informações em bytes, o que é chamado de tamanho de um setor. Tomamos o tamanho total das informações que podem ser armazenadas nesse intervalo multiplicando o tamanho de um setor pelo tamanho do intervalo no número de setores.

A partir da saída de fdisklá, você pode ver o tamanho do setor é 512 bytes e começa no setor 1. Portanto, o deslocamento é 1 * 512 = 512. Tente o seguinte comando:

mount -t vfat -o offset=512 ps-2010-emails.dd /media/manu/

Eu adicionei o tipo de sistema de arquivos desde que o fdiskdei como FAT32. Para montá-lo para escrever também, use em seu -o offset=512,rwlugar.


Li o artigo no primeiro link que você postou, mas não entendeu muito sobre deslocamento , número do setor e outros conceitos; se possível, você poderia elaborar esse tópico ou postar algumas referências para estudar o mesmo. Thanx
spaceman_spiff

Postagem atualizada para incluir a saída de fdisk -l nps-2010-emails.dd.
spaceman_spiff

thanx, minha formação tem sido em ciência da computação teórica (eu sou formado em matemática), há alguma referência para entender esse tópico em uma observação geral?
spaceman_spiff

'Este' tópico são discos, setores, sistemas de arquivos e tudo mais? Talvez você possa começar com o capítulo IO / Storage de um livro de sistemas operacionais, como o de Tannenbaum. Além desses conceitos básicos e do tipo de montagem FAT32, tudo o que postei na resposta é de tholinks.
Muru

10

Você também pode fazer com que o computador verifique automaticamente todas as partições em um despejo e prepare automaticamente todos os dispositivos de loop, conforme descrito aqui .

Então, digamos que você jogou o seu todo /dev/sdaem algo chamado sda.img. Você pode acessar suas partições da seguinte maneira:

losetup -f -P sda.img

No meu sistema, ele aparece da seguinte maneira:

imagem bruta sda

Em ambientes que não são da GUI, é possível listar o dispositivo criado com o losetup -lqual informará o nome do dispositivo de loop, por exemplo:

# losetup -l
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  0 /path/mmcblk0

Em seguida, você pode montar, digamos, a primeira partição, com:

mount /dev/loop0p1 /mnt/mypartition

Espero que ajude.


Funcionou para mim perfeitamente.
pathak praveen

2
Nessa mesma linha, no Ubuntu 18.04, não tive problemas para fazer o "gparted backup.img" e obter uma lista de partições. "fdisk -l backup.img" também mostra informações úteis.
RoundSparrow hilltx

1
Como você desfaz o losetupcomando?
Flimm

1

Não é possível adicionar um comentário devido à falta de reputação, mas quero dizer para aqueles que têm disco GPT ao testá-lo com o fdisk, use o gdsik para obter o setor de início e contar o deslocamento adequado. Isso me ajudou.

fdisk -l deu-me:

      Device Boot      Start         End      Blocks   Id  System
vm2080737.bak1   *           1        3901    31457279+  ee  GPT

e não pôde ser montado com o deslocamento 512 com o erro 'mount: você deve especificar o tipo de sistema de arquivos'

gdisk -l me deu um bom resultado:

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34             545   256.0 KiB   A501  gpboot
   2             546          993825   485.0 MiB   A502  swap
   3          993826        62914526   29.5 GiB    A503  rootfs

1
Ou use parted.
muru 15/05
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.