J'ai besoin de créer une image disque avec deux systèmes de fichiers vides. Je l'ai créé en utilisant
dd if=/dev/zero of=./disk.img bs=1MiB count=1024
Ensuite, j'ai créé 2 partitions principales en utilisant fdisk disk.img
; l'un est FAT32 et l'autre est EXT3. Maintenant, je dois formater les deux partitions afin de créer des systèmes de fichiers à monter en tant que -o loop devices
. Mais je ne comprends pas comment les formater? Je ne peux pas utiliser mkfs.vfat
sur disk.img
. Je suis donc totalement confus.
SOLUTION: Grâce à la réponse de @ pjc50, j'ai trouvé une solution très 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 inconvénient de cette solution est l'exigence de droits de superutilisateur.
linux
partitioning
filesystems
ext3
loopback
psihodelia
la source
la source
Réponses:
Il semble que vous pouvez utiliser les outils kpartx: http://robert.penz.name/73/kpartx-a-tool-for-mounting-partitions-within-an-image-file/
la source
Vous pouvez le faire en montant d'abord vos partitions à l'
/dev/loop?
aidelosetup
de l'-o
option permettant de spécifier un décalage approprié pour votre partition. Le décalage peut être calculé sur la base de la sortie defdisk -l disk.img
(start_sector * sector_size
).Par exemple:
Une fois monté, vous pouvez ensuite procéder au formatage de la partition en utilisant
mkfs.*
:Pour plus de détails et d'exemples, consultez les articles suivants:
la source
mkfs.vfat
. Voir le premier lien que j'ai fourni. Également mentionné dans l'article, l'avertissement de disquette est attendu et peut être ignoréJ'irais avec les outils que j'ai en tête:
/dev/sda
dd
pour exporter/dev/sda
vers un fichierAvec une supposition éclairée, cela prendrait environ 15 minutes.
la source
Exécution minimale
sfdisk
+mke2fs
exemple sanssudo
Dans cet exemple, nous allons créer, sans
sudo
ousetsuid
, un fichier image contenant deux partitions ext2, chacune remplie de fichiers provenant d'un répertoire hôte.Nous utiliserons ensuite
sudo losetup
juste pour monter les partitions pour tester que le noyau Linux peut réellement les lire comme expliqué sur: /programming/1419489/how-to-mount-one-partition-from-an-image -file-that-contains-multiple-partitions / 39675265 # 39675265Pour plus de détails, voir:
sfdisk
: traite de la table de partition: Comment créer et formater une partition en utilisant un script bash?mke2fs
: traite du formatage EXT des partitions: Comment créer une image ext2 sans droits de superutilisateur?L'exemple:
Testé sur Ubuntu 18.04. GitHub en amont .
la source