Je dois monter un fichier .img mais je ne sais pas de quel type de .img il s'agit. Comment puis-je savoir de quel type de fichier .img il s'agit ?
# mount -t auto -o ro,loop gmapsupp.img /mnt/iso/
mount: you must specify the filesystem type
# file -k gmapsupp.img
gmapsupp.img: x86 boot sector, code offset 0x0
#
Réponse acceptée :
Essayez d'exécuter la commande fdisk -l <img file>
. Typiquement si le .img
les fichiers sont des disques entiers d'une machine virtuelle KVM, alors ils sont techniquement un disque virtuel.
Exemple
J'ai une machine virtuelle CentOS KVM qui s'affiche comme telle avec le file
commande :
$ file centostest.img
centostest.img: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x8e, starthead 0, startsector 208845, 20755980 sectors, code offset 0x48
Exécution de fdisk
avec :
$ sudo /sbin/fdisk -lu /kvm/centostest.img
last_lba(): I don't know how to handle files with mode 81ed
You must set cylinders.
You can do this from the extra functions menu.
Disk /kvm/centostest.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/kvm/centostest.img1 * 63 208844 104391 83 Linux
/kvm/centostest.img2 208845 20964824 10377990 8e Linux LVM
Partition 2 has different physical/logical endings:
phys=(1023, 254, 63) logical=(1304, 254, 63)
Si vous souhaitez monter l'une de ces partitions, procédez comme suit :
fdisk (sortie cylindre)
- taille de bloc de 512 octets et le bloc de départ est de 63.
- Le décalage est de 512 * 63 =32256.
fdisk (sortie secteur)
- block-size de 512 octets et le start-block est 1.
- Le décalage est de 512 * 1 =512.
Ainsi, la commande de montage serait :
en cylindres
$ mount -o loop,offset=32256 centostest.img /mnt/tmp
Pour monter l'autre partition (512 * 208845 =106928640) :
$ mount -o loop,offset=106928640 centostest.img /mnt/tmp
dans les secteurs
$ mount -o loop,offset=512 centostest.img /mnt/tmp
Pour monter l'autre partition (512 * 14 =7168) :
$ mount -o loop,offset=7168 centostest.img /mnt/tmp
REMARQUE
Cela ne fonctionnera que si mount peut déterminer le type de système de fichiers dans la "partition" que vous essayez de monter. Vous devrez peut-être inclure -t auto
, ou soyez précis et indiquez mount
c'est -t ext4
par exemple.
Références
- comment monter le fichier .img