web-dev-qa-db-fra.com

Parcourir .img sans montage

Est-il possible de parcourir un fichier .img sans le monter? J'ai un fichier .img que j'ai généré à partir d'un instantané de partition clonezilla. J'ai en quelque sorte des problèmes pour monter le fichier avec la commande mount -o loop sda5.img /mnt/.

dmesg | tail me montre l'erreur suivante:

[1325.395286] EXT4-fs (loop0): géométrie incorrecte: le nombre de blocs 11221248 dépasse la taille du périphérique (11218432 blocs)

Tout le monde a une idée de comment naviguer sans montage ou quelle peut être la cause de cette erreur?

13
Ahatius

S'il s'agit d'une image d'un disque dur entier ou, comme dans votre cas, d'une partition étendue, vous devez connaître la structure de la partition et les décalages de chaque partition du fichier pour pouvoir les monter.

Pour ce faire, vous aurez besoin de l'outil parted. Vous pouvez l'installer à l'aide de la commande suivante:

apt-get install parted

Après avoir installé parted, démarrez-le avec le chemin d'accès à votre fichier image. Une invite parted apparaîtra:

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

Dans cette invite (préfixée avec (parted)), tapez les commandes suivantes:

(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

Le tableau de la sortie vous indiquera les décalages de chaque partition du fichier et le type de système de fichiers de chaque partition. Par exemple, pour monter la première partition dans l'exemple de sortie ci-dessus, vous devez entrer la commande suivante:

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

Assurez-vous que /mnt/partition existe en premier.

18
bender

J'ai eu le même problème avec une image ext4 générée à partir d'un instantané Clonezilla.

Ce qui a réellement fonctionné pour moi a été d’étendre le fichier à la taille indiquée par la table de partition, en utilisant truncate. L'erreur dmesg signalée dans mon cas était:

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

J'ai donc ajusté la longueur du fichier avec:

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

(^ remarquez que c'est le premier et le plus grand des deux nombres du journal)

Après cela, le montage était heureux et je pouvais accéder à mes données.

8
Anthony Lenton