ver unidad una tamaño particiones particion montar montaje forzar externa duro disco desmontar como linux filesystems mount loopback

unidad - ¿Cómo montar una partición desde un archivo de imagen que contiene varias particiones en Linux?



tamaño de particiones linux (6)

El archivo de imagen tiene una tabla de particiones y contiene varias particiones.

Los dispositivos de bucle invertido podrían ser una posibilidad.

Temas relacionados:


Digamos que $ IMAGE se establece en la ruta a su archivo de imagen. Podrías escribir un pequeño script usando

fdisk -u sectors -l $IMAGE

para obtener una lista de particiones dentro de la imagen. Y luego usa una secuencia de

mount -o ro,loop,offset=$OFFSET -t auto $IMAGE /media/$DEST

Donde se calcula el desplazamiento significa la información de fdisk (tamaño de sector de inicio * de un sector en bytes) y $ DEST un nombre único para cada una de las particiones.

Esa no es directamente la solución, pero espero una buena indicación sobre cómo realizarla. ¡Si haces el trabajo una vez, tienes un pequeño y agradable comienzo para un conjunto de herramientas forenses!


Ok, esta pregunta es vieja, pero solo por el sako de la integridad: esto aquí me parece mucho más fácil.

Citar:

rmmod loop modprobe loop max_part=63 losetup -f /path/to/your/disk/image.raw mount /dev/loop0p1 /mnt/path


Podrías hacerlo así, sin mucha molestia:

# kpartx -v -a logging-test.img add map loop0p1 (251:0): 0 497664 linear /dev/loop0 2048 add map loop0p2 (251:1): 0 66605058 linear /dev/loop0 501758 add map loop0p5 (251:2): 0 66605056 251:1 2 # ls /dev/mapper/ control loop0p1 loop0p2 loop0p5 # mount /dev/mapper/loop0p1 /mnt/test # mount | grep test /dev/mapper/loop0p1 on /mnt/test type ext2 (rw) #

Y para eliminar el dispositivo de bucle después de que haya terminado:

# kpartx -v -d logging-test.img del devmap : loop0p2 del devmap : loop0p1 loop deleted : /dev/loop0 #


Si tiene util-linux v2.21 o superior, ahora puede hacer esto con losetup. Use la opción -P ( --partscan ) para leer la tabla de particiones y crear nodos de dispositivos para cada partición:

# losetup --show -f -P test.img /dev/loop0 # ls /dev/loop0* /dev/loop0 /dev/loop0p1 /dev/loop0p2 # mount /dev/loop0p1 /mnt/tmp


Un poco más de automatización a las respuestas anteriores que fueron geniales.

Para simplificar aún más la tarea (que es necesaria si lo haces a menudo), puedes usar mi script mountimg para hacer todo por ti. Solo obténgalo en https://github.com/AlexanderAmelkin/mountimg y use así:

mountimg disk_image.img $PARTNO /mnt/mountpoint

También puede especificar el tipo de sistema de archivos y cualquier otra opción de montaje adicional si lo desea:

mountimg disk_image.img $PARTNO /mnt/mountpoint -t vfat -o codepage=866,iocharset=utf-8

Cuando haya terminado con la partición, simplemente umount :

umount /mnt/mountpoint


losetup -P automatización

losetup -P es el mejor método que comienza en Ubuntu 16.04 como se menciona en https://.com/a/15200862/895245 , aquí hay funciones para automatizar si es más. Uso:

$ los my.img /dev/loop0 /mnt/loop0p1 /mnt/loop0p2 $ ls /mnt/loop0p1 /whatever /files /youhave /there $ sudo losetup -l NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE DIO /dev/loop1 0 0 0 0 /full/path/to/my.img $ # Cleanup. $ losd 0 $ ls /mnt/loop0p1 $ ls /dev | grep loop0 loop0

Fuente:

los() ( img="$1" dev="$(sudo losetup --show -f -P "$img")" echo "$dev" for part in "$dev"?*; do if [ "$part" = "${dev}p*" ]; then part="${dev}" fi dst="/mnt/$(basename "$part")" echo "$dst" sudo mkdir -p "$dst" sudo mount "$part" "$dst" done ) losd() ( dev="/dev/loop$1" for part in "$dev"?*; do if [ "$part" = "${dev}p*" ]; then part="${dev}" fi dst="/mnt/$(basename "$part")" sudo umount "$dst" done sudo losetup -d "$dev" )