sudo fdisk -lcu ~/imagen.ima
Como probablemente sea conocido, comandos como dd
permiten realizar una salva o imagen de una partición, o incluso de un dispositivo con varias particiones, por ejemplo:
sudo dd if=/dev/sdb of=~/imagen.ima bs=512
Luego podemos restaurar dicha imagen en el dispositivo también mediante dd
:
sudo dd if=~/imagen.ima of=/dev/sdb
Sucede que en ocasiones puede que necesitemos acceder a esas particiones directamente desde la imagen para ver o modificar algo, sin tener que restaurarlas en un disco físico. Afortunadamente esto también es posible.
Montar la imagen realizada a una sola partición no es un problema, basta con utilizar el comando mount
con el parámetro loop
sudo mkdir -p /media/img1 && sudo mount -o loop ~/imagen.ima /media/img1
Ahora, montar una partición en particular desde la imagen de un dispositivo que contenía varias particiones mediante el comando mount
no es tan simple, porque para esto además necesitamos pasar el offset o dirección de memoria donde dicha partición comienza en el archivo de imagen.1)
Afortunadamente, existe una herramienta llamada kpartx
que permite detectar los segmentos de particiones en dispositivos y crear mapeos de tipo loopback, lo cual simplifica el proceso.
Instalar esta herramienta es fácil, por ejemplo en Debian GNU/Linux y derivadas podría utilizarse el siguiente comando:
sudo aptitude install kpartx
Una vez instalada la aplicación, utilizarla es fácil. Por ejemplo, supongamos que en este caso pretendemos montar la primera partición de una imagen que contenía una partición principal de unos 2 GB y una swap de unos 512 MB:
sudo kpartx -av ~/imagen.ima
Este comando debería producir una salida como esta:
add map loop0p1 (254:9): 0 3906251 linear /dev/loop0 63 add map loop0p2 (254:10): 0 1000001 linear /dev/loop0 3906314
Consecuentemente, en /dev/mapper/
debería aparecer un dispositivo tipo loopback por cada partición detectada, de modo que listando el contenido de dicho directorio, deberíamos obtener algo como esto:
lrwxrwxrwx 1 root root 7 Oct 2 08:45 loop0p1 -> ../dm-1 lrwxrwxrwx 1 root root 8 Oct 2 08:45 loop0p2 -> ../dm-2
Entonces, si la primera partición es la principal y la segunda es la swap, podríamos montar la partición principal con un comando como este:
sudo mkdir -p /media/img1 && sudo mount /dev/mapper/loop0p1 /media/img1
Esto debería permitirnos acceder a la partición para visualizar o modificar datos a conveniencia.
Una vez finalizado el trabajo sobre la partición, conviene desmontarla y eliminar los mapeos creados:
sudo umount /media/img1 sudo kpartx -d ~/imagen.ima
Eso es todo. Como vemos, gracias a la flexibilidad que permite el software libre, montar particiones contenidas en imágenes no es para nada un problema.
sudo fdisk -lcu ~/imagen.ima