GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Wie erstelle ich eine formatierte Partitions-Image-Datei von Grund auf neu?

Ich muss ein Dateisystem mit nur einer Partition aus dem Nichts erstellen (/dev/zero ).
Ich habe diese Befehlsfolge ausprobiert:

dd if=/dev/zero of=mountedImage.img bs=512 count=131072
fdisk mountedImage.img
    n
    p 
    2048
    131072

Grundsätzlich muss ich eine 64-MB-Bilddatei erstellen, die mit Nullen gefüllt ist. Dann verwende ich fdisk um eine neue Partition für ein neues Dateisystem (das schließlich FAT32 sein sollte) hinzuzufügen, beginnend bei Sektor 2048 und alle verbleibenden Sektoren verwenden.

losetup /dev/loop1 mountedImage.img
mkfs -t vfat /dev/loop1

Aber hier stoße ich auf Probleme. Wenn ich eine loop einrichte Gerät und formatieren Sie es mit mkfs -t vfat , die Partitionstabelle wird überschrieben und das Dateisystem (FAT32) wird auf der Festplatte abgelegt. Ich brauche keine ganze Festplatte, die mit FAT32 formatiert ist, ich brauche nur meine primäre Partition, die so formatiert ist.

Weiß jemand, wie ich nur eine Partition eines Raw-Disk-Images formatieren kann, nicht das ganze Image?

Akzeptierte Antwort:

Unter Linux beim Laden der loop Modul, stellen Sie sicher, dass Sie einen max_part übergeben Option zum Modul, so dass die Loop-Geräte partitionierbar sind.

Prüfen Sie den aktuellen Wert:

cat /sys/module/loop/parameters/max_part

Wenn es 0 ist:

modprobe -r loop # unload the module
modprobe loop max_part=31

Um diese Einstellung dauerhaft zu machen, fügen Sie die folgende Zeile zu /etc/modprobe.conf hinzu oder in eine Datei in /etc/modprobe.d falls dieses Verzeichnis auf Ihrem System existiert:

options loop max_part=31

Wenn modprobe -r loop fehlschlägt, weil „Module loop is builtin“ ist, müssen Sie loop.max_part=31 hinzufügen zu Ihrer Kernel-Befehlszeile und starten Sie neu. Wenn Ihr Bootloader Grub2 ist, fügen Sie ihn zum Wert von GRUB_CMDLINE_LINUX hinzu in etc/default/grub .

Jetzt können Sie ein partitionierbares Loop-Gerät erstellen:

truncate -s64M file # no need to fill it with zeros, just make it sparse
fdisk file # create partitions
losetup /dev/loop0 file
mkfs.vfat /dev/loop0p1 # for the first partition.
mount /dev/loop0p1 /mnt/

(Beachten Sie, dass Sie eine relativ aktuelle Version von Linux benötigen).


Linux
  1. So erstellen Sie ein Dateisystem auf einer Linux-Partition oder einem logischen Volume

  2. So erstellen Sie eine passwortgeschützte ZIP-Datei unter Linux

  3. So erstellen oder vergrößern Sie Swap Space in Linux

  4. Wie erstelle ich ein VHD-Festplatten-Image von einem Linux-Live-System?

  5. Erstellen Sie ein Image der Windows-Partition unter Linux

Wie man Image-Steganographie unter Linux durchführt

So erstellen Sie eine Montage aus Bildern unter Linux

So erstellen Sie Verzeichnisse aus einer Textdatei unter Linux

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

So erstellen Sie einen Linux-Kernel von Grund auf neu

So erstellen Sie Festplattenpartitionen unter Linux