«

»

Feb 12 2013

Imprimir esta Post

Cómo extraer y montar una partición de un fichero de disco “img”

Vamos a aprender cómo extraer una partición de un fichero “img” que contiene un dump de un disco duro físico completo.

En primer lugar informar que podéis hacer una copia de un disco físico entero de esta forma:

# dd if=/dev/sda of=fichero.img

Para extraer una de las particiones, vamos a ver primero el contenido del disco con sfdisk:

# sfdisk -l -uS fichero.img

El resultado que a mi me da es:

Disco fichero.img: 966 cilindros, 255 cabezas, 63 sectores/pista
Unidades = sectores de 512 bytes, contando desde 0
Disp. Inicio Principio Fin Nº sect. Id Sistema
fichero.img1 2048 22527 20480 c W95 FAT32 (LBA)
fichero.img2 22528 63487 40960 83 Linux
fichero.img3 63488 13946879 13883392 83 Linux
fichero.img4 13946880 15523839 1576960 c W95 FAT32 (LBA)

Como vemos que tiene 4 particiones, imaginemos que queremos extraer la partición 3 (fichero.img3) a un archivo:

# dd if=fichero.img of=particion3.img skip=63488 count=13883392

Se hace un dd desde la posición 63488 hasta la posición 13883392 (que es el espacio que ocupa esa en el disco)

Por último ya podríamos montar esa partición para ver su contenido y modificarla:

# mount -o loop particion3.img /mnt/

Si lo que queríamos era sólo montar la partición para modificarla pero sin extraerla de fichero.img, se puede hacer con el comando mount:

Examinamos la partición con el comando parted y nos fijamos cual es el inicio de la partición para pasarselo como offset a mount:

# parted fichero.img

GNU Parted 2.3
Usando fichero.img
¡Bienvenido/a a GNU Parted! Teclee «help» para ver la lista de órdenes.
(parted) unit 
¿Unidad? [compact]? B 
(parted) print 
Modelo: (file)
Disco fichero.img: 7948206080B
Tamaño de sector (lógico/físico): 512B/512B
Tabla de particiones. msdos
Numero Inicio Fin Tamaño Tipo Sistema de archivos Banderas
 1 1048576B 11534335B 10485760B primary fat16 lba
 2 11534336B 32505855B 20971520B primary ext3
 3 32505856B 7140802559B 7108296704B primary ext4
 4 7140802560B 7948206079B 807403520B primary lba
(parted) quit
# mount -o loop,ro,offset=32505856 fichero.img /mnt/

o para escritura:
# mount -o loop,rw,offset=32505856 fichero.img /mnt/

Enlace permanente a este artículo: http://www.lopst.com/2013/02/12/como-extraer-y-montar-una-particion-de-un-fichero-de-disco-img/