lunes, 30 de octubre de 2006

Montar particiones de un loopback.

Otra opción para unir ficheros creados con 'dd' y divididos es hacer un cat file1 file2 file3 >blah.img

si ese blah.img contiene una imagen de un disco, tendrá dentro la tabla de particiones, por lo que no se puede montar con un simple mount -o loop...

Para hacerlo:

# losetup blah.img /dev/loop0
# fdisk -l -u /dev/loop0

Disk /dev/loop0: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes

Device Boot Start End Blocks Id System
/dev/loop0p1 * 63 156296384 78148161 7 HPFS/NTFS


Seria genial que existiera /dev/loop0p1, pero no es el caso y lo peor es que no se puede crear con un mknod como cualquier otro dispositivo. El remedio es calcular en que offset empieza la particion y usar losetup con el:

(se multiplica el numero de bytes (512) por el offset de comienzo (63))
$ echo $((512*63))
32256
$ losetup -o 32256 /dev/loop1 /dev/loop1
$ mount -t ntfs /dev/loop1 /mnt/hd1