¿Cómo puedo montar particiones en una imagen de disco completa (es decir, imagen con tabla de particiones) con fusible?

¿Cómo puedo montar particiones en una imagen de disco completa (es decir, imagen con tabla de particiones) con fusible?

Es un poco indirecto, pero es posible montar una partición con una imagen de disco usando el parámetro "offset" de mounto .losetup

Estoy buscando poder usar fusibles para hacer lo mismo en el espacio de usuario.

Caso de uso

Mi caso de uso es crear imágenes de disco en un servidor de compilación automática donde no se permite que el trabajo de compilación tenga permisos de root y el servidor no debería necesitar una configuración personalizada para trabajos de compilación específicos.

Respuesta1

Es posible hacerlo con fusibles, pero probablemente sería más limpio con herramientas personalizadas.

Solución

Con las herramientas apt-get-able es posible realizar el siguiente error:

mkdir mnt
xmount --in dd --out vdi disk.img mnt

mkdir mnt2
vdfuse -f mnt/disk.vdi 

mkdir mnt3
fuseext2 -o "rw" mnt2/Partition1 mnt3

Explicación

La idea básica es que se puede utilizar fuse para separar una imagen de disco completa en archivos que apunten a sus particiones. vdfuse hace esto, pero es una herramienta de VirtualBox y requiere un archivo VDI o VMDK para funcionar. xmount usa fuse para hacer que una imagen de disco sin formato aparezca como un archivo VDI.

Finalmente, una vez que el archivo de partición esté disponible a través de vdfuse, se puede montar mediante una herramienta ext2/3/4 fuseext2.

Es feo pero funciona completamente en el espacio de usuario.

Actualizar

vdfuse debería poder montar una imagen sin formato sin la ayuda de xmount, pero hay un error que ignora la opción RAW.

Localicé y solucioné el error con un parche aquí:

https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/1019075

Respuesta2

Haymontarutilidad que es un contenedor del programa de montaje estándar que permite a los usuarios normales montar dispositivos extraíbles sin una entrada /etc/fstab coincidente.

Lo único que necesita para permitir que el usuario lo use es agregarlo al plugdevgrupo.

Respuesta3

  1. losetupla imagen
  2. kpartx -avel dispositivo loopback resultante
  3. Utilice las particiones resultantes /dev/mapper/...como lo haría con un disco físico

Puede realizar todas estas tareas utilizando un mapa de montaje automático ejecutable.

A chdirpodría desencadenar todas las acciones anteriores. O utilice sudo para un script de configuración/eliminación. O...

Respuesta4

libguestfs ahora tiene un comando guestmountque activa una máquina virtual para permitirle montar particiones arbitrarias en el espacio del usuario.

información relacionada