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