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?
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.
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.