GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver le type d'un fichier Img et le monter ?

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

Linux
  1. Comment trouver le fichier le plus ancien dans une arborescence de répertoires sous Linux

  2. Comment trouver le système de fichiers d'un CD/DVD pour le monter automatiquement :[Linux]

  3. Comment trouver l'application pour un type MIME sous Linux ?

  4. Comment créer et monter des systèmes de fichiers sous Linux

  5. Comment monter et démonter un système de fichiers sous Linux

Comment monter et démonter des systèmes de fichiers sous Linux

Comment enregistrer un fichier dans Vim / Vi et quitter l'éditeur

Comment trouver le type de système de fichiers monté sous Linux

Comment trouver le PID et le PPID d'un processus sous Linux

Comment utiliser Sed pour rechercher et remplacer une chaîne dans un fichier

Comment puis-je trouver l'emplacement MySQL my.cnf