View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Montar una partición de una imagen de disco hecha con dd, usando mount -o loop

Fuente: https://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/

Suponiendo que la imagen del disco es sda.dd:

1. Se mira el offset usando "file sda.dd" o un "fdisk -l sda.dd":
file harddrive.img
harddrive.img: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 
address 0x2000, stage2 segment 0x200, GRUB version 0.97; partition 1: ID=0x83, 
active, starthead 1, startsector 63, 33640047 sectors, code offset 0x48


o bien
fdisk -l harddrive.img
                    Device Boot      Start         End      Blocks   Id  System
harddrive.img 


2. Motarlo directamente, usando el offset visto en el comando anterior (en este caso es 32256):

NOTA: El offset está en sectores, y lo necesitamos en bytes; el número del "fdisk -l nombrefich" hay que multiplicarlo por 512.

mount -o ro,loop,offset=32256 sda.dd /mnt/floppy
# mount | grep harddrive.img
/root/sda.dd.img on /mnt/floppy type ext3 (ro,loop=/dev/loop1,offset=32256)


3. Una vez terminado de trabajar con los datos de la imagen de disco, se desmonta
umount /media/floppy


NOTA:
Si se quiere hacer un fsck, hay que generar un nodo en dev para poder hacer el fsck. Se hace de la siguiente manera:
losetup --offset 32256 /dev/loop2 sda.dd
fsck /dev/loop2


Si se quiere montar ese loop, se pude hacer directamente con un "mount /dev/loop2 /media/floppy", y desmonetarlo después con un "umount /media/floppy".

Una vez terminado con el dispositivo loop, se desconecta con:
losetup -d /dev/loop2