Necesito crear una imagen de disco con dos sistemas de archivos vacíos. Lo he creado usando
dd if=/dev/zero of=./disk.img bs=1MiB count=1024
A continuación, he creado 2 particiones primarias usando fdisk disk.img
; uno es FAT32 y otro es EXT3. Ahora, tengo que formatear ambas particiones para crear sistemas de archivos para montar como -o loop devices
. ¿Pero no puedo entender cómo formatearlos? No puedo usar mkfs.vfat
el disk.img
. Entonces estoy totalmente confundido.
SOLUCIÓN: Gracias a la respuesta de @ pjc50 encontré una solución muy simple:
sudo aptitude install multipath-tools
sudo kpartx -a disk.img #it maps (mounts) found partitions to /dev/mapper/loop...
sudo mkfs.vfat -F 32 -n boot /dev/mapper/loop0p1
sudo mkfs.ext3 -L rootfs /dev/mapper/loop0p2
Un inconveniente de esta solución es el requisito de derechos de superusuario.
linux
partitioning
filesystems
ext3
loopback
psihodelia
fuente
fuente
Respuestas:
Parece que puede usar las herramientas de kpartx: http://robert.penz.name/73/kpartx-a-tool-for-mounting-partitions-within-an-image-file/
fuente
Puede hacerlo montando primero sus particiones para
/dev/loop?
usarlaslosetup
con la-o
opción de especificar un desplazamiento adecuado para su partición. El desplazamiento se puede calcular en función de la salida defdisk -l disk.img
(start_sector * sector_size
).Por ejemplo:
Una vez montado, puede proceder a formatear la partición usando
mkfs.*
:Para obtener más detalles y ejemplos, consulte los siguientes artículos:
fuente
mkfs.vfat
. Ver primer enlace que proporcioné. También mencionado en el artículo, la advertencia de disquete se espera y se puede ignorarIría con las herramientas que tengo en mente:
/dev/sda
dd
para exportar/dev/sda
a un archivoCon una suposición educada, tomaría unos 15 minutos.
fuente
Ejecutable mínimo
sfdisk
+mke2fs
ejemplo sinsudo
En este ejemplo, crearemos, sin
sudo
osetsuid
, un archivo de imagen que contenga dos particiones ext2, cada una de ellas con archivos de un directorio de host.Luego usaremos
sudo losetup
solo para montar las particiones para probar que el kernel de Linux realmente puede leerlas como se explica en: /programming/1419489/how-to-mount-one-partition-from-an-image -archivo-que-contiene-particiones múltiples / 39675265 # 39675265Para más detalles, ver:
sfdisk
: trata con la tabla de particiones: ¿Cómo crear y formatear una partición usando un script bash?mke2fs
: trata con el formato EXT de particiones: ¿Cómo crear una imagen ext2 sin derechos de superusuario?El ejemplo:
Probado en Ubuntu 18.04. GitHub aguas arriba .
fuente