Navegue .img sem montar

12

Existe alguma maneira de procurar um arquivo .img sem montá-lo? Eu tenho um arquivo .img que eu tenho gerado a partir de um instantâneo de partição clonezilla. De alguma forma, tenho problemas para montar o arquivo com o comando mount -o loop sda5.img /mnt/ .

dmesg | tail mostra-me o seguinte erro:

[1325.395286] EXT4-fs (loop0): geometria incorreta: a contagem de blocos 11221248 excede o tamanho do dispositivo (11218432 blocos)

Alguém tem uma ideia de como navegar sem montar ou o que pode estar causando esse erro?

    
por Ahatius 04.01.2013 / 20:23

2 respostas

16

Se esta é uma imagem de um disco rígido inteiro ou como no seu caso, isso pode ser uma imagem de uma partição estendida, você precisará saber o layout da partição e os offsets de cada partição no arquivo para poder montar eles.

Para fazer isso, você precisará da ferramenta parted , você pode instalá-la com o seguinte comando:

apt-get install parted

Depois de instalar parted , inicie-o com o caminho para o seu arquivo de imagem. Um prompt parted será exibido:

$ parted /path/to/image/file/sda5.img
GNU Parted 2.3
.....
(parted)

Nesse prompt (prefixado com (parted) ), digite os seguintes comandos:

(parted) unit B
(parted) print
.....
Number  Start          End            Size           Type     File system  Flags
 1      1048576B       1573912575B    1572864000B    primary  ntfs         boot
 2      1573912576B    156774694911B  155200782336B  primary  ntfs
 3      156774694912B  171454758911B  14680064000B   primary  ntfs
 4      171454758912B  180044693503B  8589934592B    primary

(parted) q

A tabela na saída mostrará os deslocamentos de cada partição no arquivo e o tipo de sistema de arquivos em cada partição. Por exemplo, para montar a primeira partição na saída exemplificativa acima, você precisará inserir o seguinte comando:

sudo mount -o loop,ro,offset=1048576 /path/to/image/file/sda5.img /mnt/partition

Certifique-se de que /mnt/partition exista primeiro.

    
por bender 04.01.2013 / 21:20
8

Eu recebi este mesmo problema com uma imagem ext4 gerada a partir de um instantâneo do Clonezilla.

O que realmente funcionou para mim foi estender o arquivo para o tamanho da tabela de partição, usando truncado. O erro dmesg reportado no meu caso foi:

[15687.653868] EXT4-fs (loop0): bad geometry: block count 18482176 exceeds size
  of device (18352672 blocks)

Por isso, ajustei o tamanho do arquivo com:

truncate -o -s 18482176 /path/to/partition.img

(^ note que é o primeiro e maior dos dois números no log)

Depois disso, a montagem ficou feliz e pude acessar meus dados.

    
por Anthony Lenton 10.04.2013 / 00:00