GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo encontrar el tipo de archivo Img y montarlo?

Tengo que montar un archivo .img pero no sé qué tipo de .img es. ¿Cómo puedo averiguar qué tipo de archivo .img es?

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

Respuesta aceptada:

Intente ejecutar el comando fdisk -l <img file> . Normalmente, si el .img los archivos son discos completos de, por ejemplo, una máquina virtual KVM, entonces técnicamente son un disco virtual.

Ejemplo

Tengo una máquina virtual CentOS KVM que aparece así con el 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

Ejecutando fdisk con eso:

$ 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 desea montar una de estas particiones, puede hacerlo de la siguiente manera:

fdisk (salida de cilindro)

  • tamaño de bloque de 512 bytes y el bloque de inicio es 63.
  • El desplazamiento es 512 * 63 =32256.

fdisk (producto del sector)

  • tamaño de bloque de 512 bytes y el bloque de inicio es 1.
  • La compensación es 512 * 1 =512.

Entonces el comando de montaje sería:

en cilindros

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

Para montar la otra partición (512 * 208845 =106928640):

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

en sectores

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

Para montar la otra partición (512 * 14 =7168):

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

NOTA

Esto solo funcionará si el montaje puede determinar el tipo de sistema de archivos dentro de la "partición" que está intentando montar. Es posible que deba incluir -t auto , o sea específico y dígale a mount eso es -t ext4 por ejemplo.

Referencias

  • cómo montar un archivo .img

Linux
  1. Cómo encontrar el archivo más antiguo en un árbol de directorios en Linux

  2. Cómo encontrar el sistema de archivos de CD/DVD para que se monte automáticamente:[Linux]

  3. ¿Cómo encontrar la aplicación para un tipo Mime en Linux?

  4. ¿Cómo crear un archivo y montarlo como un sistema de archivos?

  5. Cómo montar y desmontar sistemas de archivos/particiones en Linux (ejemplos de comandos de montaje/desmontaje)

Cómo montar y desmontar sistemas de archivos en Linux

Cómo guardar un archivo en Vim/Vi y salir del editor

Cómo encontrar el tipo de sistema de archivos montado en Linux

Cómo encontrar el PID y PPID de un proceso en Linux

Cómo usar Sed para buscar y reemplazar una cadena en un archivo

¿Cómo encuentro la ubicación MySQL my.cnf?