GNU/Linux >> Linux Esercitazione >  >> Linux

Come trovare il tipo di un file Img e montarlo?

Devo montare un file .img ma non so che tipo di .img sia. Come faccio a capire che tipo di file .img è?

# 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
#

Risposta accettata:

Prova a eseguire il comando fdisk -l <img file> . In genere se il .img i file sono interi dischi, ad esempio, da una macchina virtuale KVM, quindi tecnicamente sono un disco virtuale.

Esempio

Ho una VM KVM CentOS che si presenta in questo modo con il file comando:

$ 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

Esecuzione di fdisk con esso:

$ 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)

Se desideri montare una di queste partizioni, puoi farlo come segue:

fdisk (uscita cilindro)

  • dimensione del blocco di 512 byte e il blocco iniziale è 63.
  • L'offset è 512 * 63 =32256.

fdisk (output di settore)

  • dimensione del blocco di 512 byte e il blocco iniziale è 1.
  • L'offset è 512 * 1 =512.

Quindi il comando mount sarebbe:

in cilindri

$ mount -o loop,offset=32256 centostest.img /mnt/tmp

Per montare l'altra partizione (512 * 208845 =106928640):

$ mount -o loop,offset=106928640 centostest.img /mnt/tmp

in settori

$ mount -o loop,offset=512 centostest.img /mnt/tmp

Per montare l'altra partizione (512 * 14 =7168):

$ mount -o loop,offset=7168 centostest.img /mnt/tmp

NOTA

Funzionerà solo se mount può determinare il tipo di filesystem all'interno della "partizione" che stai tentando di montare. Potrebbe essere necessario includere -t auto oppure sii specifico e comunica a mount ecco -t ext4 per esempio.

Riferimenti

  • come montare il file .img

Linux
  1. Come trovare il file più vecchio in un albero di directory in Linux

  2. Come trovare l'applicazione per un tipo Mime su Linux?

  3. Come montare e smontare filesystem/partizione in Linux (esempi di comando di montaggio/smontaggio)

  4. Come creare e montare filesystem in Linux

  5. come trovare il proprietario di un file o di una directory in python

Come montare e smontare i file system in Linux

Come salvare un file in Vim/Vi e uscire dall'editor

Come trovare il tipo di filesystem montato in Linux

Come trovare il PID e il PPID di un processo in Linux

Come utilizzare Sed per trovare e sostituire una stringa in un file

Come trovo la posizione MySQL my.cnf