Tengo una imagen de disco myimage.disk
que contiene la tabla de particiones y una partición primaria (es decir, un sistema de archivos FAT32). Piense eso como una imagen de lápiz USB.
Quiero montar la partición primaria en un directorio local. Sé cómo montar una imagen de partición usando las utilidades de bucle, pero aquí tengo una imagen de disco. Supongo que tengo que montar la imagen "omitiendo" la tabla de particiones, pero ¿cómo puedo hacer eso?
linux
partitioning
mount
dd
Emiliano
fuente
fuente
losetup --partscan --find --show disk.img
seguido demount /dev/loop0p1 /mnt/disk
Respuestas:
La herramienta kpartx hace esto más fácil. Crea dispositivos de bucle en / dev / mapper para cada partición en su imagen. Luego puede montar el dispositivo de bucle que corresponda con su partición deseada sin tener que calcular el desplazamiento manualmente.
Por ejemplo, para montar la primera partición de la imagen del disco:
Cuando haya terminado con la imagen, elimine los dispositivos de bucle:
Alternativamente, si tiene un kernel reciente y pasa loop.max_part = 63 en el arranque (si el bucle está integrado) o en modprobe (si el bucle es un módulo), puede hacerlo de esta manera:
Cuando hayas terminado con el bucle:
fuente
-o loop
anterior,/dev/mapper/loop0p1
ya es un dispositivo de bloque (un dispositivo mapeador encima de un dispositivo de bucle, no desea otra capa de dispositivo de bucle encima de eso)./dev/loop0p1
etc.) después de ejecutarlosetup
, ejecutepartprobe /dev/loop0
.kpartx
parece estar instalado por defecto en Linux Mint 18.Encontró esto:
http://www.andremiller.net/content/mounting-hard-disk-image-incuding-partitions-using-linux
que parece exactamente lo que estaba buscando.
Aquí está la parte clave:
donde el valor de desplazamiento está en bytes. La forma sugerida de obtener el desplazamiento es apuntar
parted
a la imagen, luego a la unidad B para los bytes y tomar el valor inicial de la salida de impresión. Como alternativa, suponiendo que tenga espacio en el disco, haga lo obvio: una vez que tenga el desplazamiento y el tamaño, simplemente usedd
para extraer cada partición en un archivo separado.fuente
mount -o loop,ro,offset=32256 hda.img /mnt/rabbit
donde el valor deoffset
está en bytes. La forma sugerida de obtener el desplazamiento es apuntar a la imagen, luegounit
B
a los bytes y tomar elstart
valor de laprint
salida. Como alternativa, suponiendo que tenga espacio en el disco, haga lo obvio: una vez que tenga el desplazamiento y el tamaño, simplemente usedd
para extraer cada partición en un archivo separado.mount
línea que contiene laoffset
opción.fuente
Hoy en día puede minimizar su trabajo mediante el uso
udisks
. Solución de ArchWiki: udisks - Mount loop devices-r
allí para la opción de solo lectura.fuente
udisksctl
.