Ich muss ein Disk-Image mit zwei leeren Dateisystemen erstellen. Ich habe es mit erstellt
dd if=/dev/zero of=./disk.img bs=1MiB count=1024
Als nächstes habe ich 2 primäre Partitionen mit erstellt fdisk disk.img
; einer ist FAT32 und der andere ist EXT3. Jetzt muss ich beide Partitionen formatieren, um Dateisysteme zu erstellen, als die gemountet werden sollen -o loop devices
. Aber ich kann nicht verstehen, wie man sie formatiert? Ich kann nicht verwenden , mkfs.vfat
auf disk.img
. Ich bin also total verwirrt.
LÖSUNG: Dank der Antwort von @ pjc50 habe ich eine sehr einfache Lösung gefunden:
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
Ein Nachteil dieser Lösung ist das Erfordernis von Superuser-Rechten.
linux
partitioning
filesystems
ext3
loopback
Psihodelia
quelle
quelle
Antworten:
Anscheinend können Sie die kpartx-Tools verwenden: http://robert.penz.name/73/kpartx-a-tool-for-mounting-partitions-within-an-image-file/
quelle
Sie können dies tun , indem zuerst die Partitionen Montag
/dev/loop?
mitlosetup
der-o
Option , um ein geeignet , um Ihre Partition Offset angeben. Der Offset kann basierend auf der Ausgabe vonfdisk -l disk.img
(start_sector * sector_size
) berechnet werden .Zum Beispiel:
Nach dem Mounten können Sie die Partition folgendermaßen formatieren
mkfs.*
:Weitere Details und Beispiele finden Sie in den folgenden Artikeln:
quelle
mkfs.vfat
. Siehe den ersten Link, den ich bereitgestellt habe. Ebenfalls in dem Artikel erwähnt, wird die Diskettenwarnung erwartet und kann ignoriert werdenIch würde mit den Werkzeugen gehen, die ich im Sinn habe:
/dev/sda
dd
, um/dev/sda
in eine Datei zu exportierenMit einer fundierten Vermutung würde es ungefähr 15 Minuten dauern.
quelle
Minimal lauffähig
sfdisk
+mke2fs
Beispiel ohnesudo
In diesem Beispiel erstellen wir ohne
sudo
oder ohnesetsuid
eine Image-Datei, die zwei ext2-Partitionen enthält, die jeweils mit Dateien aus einem Host-Verzeichnis gefüllt sind.Wir werden dann
sudo losetup
nur die Partitionen mounten, um zu testen, ob der Linux-Kernel sie tatsächlich lesen kann, wie unter /programming/1419489/how-to-mount-one-partition-from-an-image erläutert -Datei-die-mehrere-Partitionen enthält / 39675265 # 39675265Weitere Einzelheiten finden Sie unter:
sfdisk
: befasst sich mit der Partitionstabelle: Wie erstelle und formatiere ich eine Partition mit einem Bash-Skript?mke2fs
: befasst sich mit der EXT-Formatierung von Partitionen: Wie erstelle ich ein ext2-Image ohne Superuser-Rechte?Das Beispiel:
Getestet unter Ubuntu 18.04. GitHub stromaufwärts .
quelle