Erstellen Sie ein leeres Image für die Dateispeicherung

7

Ähnlich wie Mac OS X-Benutzer leere .dmg-Dateien erstellen und bereitstellen, beliebig viele Dateien hinzufügen und entfernen und das Image beliebig verschieben können ... als wäre es ein virtuelles USB-Laufwerk.

Gibt es ein Äquivalent für Ubuntu? Ich weiß, dass wir mit dem "Disk Image Mounter" vorhandene IMG-Dateien mounten und bearbeiten können. Gibt es jedoch eine ebenso einfache Möglichkeit, leere IMG-Dateien zu erstellen / zu formatieren? Jede Lösung, die ich bisher gefunden habe, implementiert das Kopieren / Klonen eines bereits vorhandenen Laufwerks, aber das möchte ich nicht.

BEARBEITEN: Ich habe eine Skript-GUI-Anwendung basierend auf der unten akzeptierten Antwort erstellt. Es ist nur ein Dialog, der auf YAD- und .sh-Dateien basiert. Er soll den Prozess dd command / mount / format für nicht so befehlszeilenbegeisterte Personen einfacher machen.

Hier ist es

John Kieran
quelle

Antworten:

17

Ja.

Dies ist eine Schritt-für-Schritt-Anleitung zum Erstellen eines benutzerdefinierten Bildes von Grund auf neu.

Ich gehe von folgendem aus:

  • Die Bildgröße sollte 100 MiB betragen
  • Die Image-Partitionstabelle sollte MBR sein
  • Das Image sollte eine einzelne primäre FAT32-Partition enthalten

Erstellen des leeren Bildes

Erstellen Sie das leere Bild:

dd if=/dev/zero of=image.img iflag=fullblock bs=1M count=100 && sync
ubuntu@ubuntu ~/tmp % dd if=/dev/zero of=image.img iflag=fullblock bs=1M count=100 && sync
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.0415825 s, 2.5 GB/s
ubuntu@ubuntu ~/tmp % tree
.
└── image.img

0 directories, 1 file

Montage des leeren Bildes

Listen Sie die bereits ausgelasteten Loopback-Geräte auf:

losetup
ubuntu@ubuntu ~/tmp % losetup                   
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  1 /cdrom/casper/filesystem.squashfs

Mounten Sie das Image auf dem ersten verfügbaren Loopback-Gerät:

sudo losetup loop1 image.img
ubuntu@ubuntu ~/tmp % sudo losetup loop1 image.img
ubuntu@ubuntu ~/tmp % losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  1 /cdrom/casper/filesystem.squashfs
/dev/loop1         0      0         0  0 /home/ubuntu/tmp/image.img

Partitionieren / Formatieren des leeren Bildes

Führen Sie die gpartedÜbergabe des Loopback-Geräts als Argument aus:

sudo -H gparted /dev/loop1

Screenshot1

Klicken Sie auf "Gerät" -> "Partitionstabelle erstellen ...":

Screenshot2

Klicken Sie auf "Übernehmen":

Screenshot3

Klicken Sie auf "Partition" -> "Neu":

Screenshot4

Wählen Sie "fat32" aus dem Dropdown-Menü:

Screenshot5

Klicken Sie auf "Hinzufügen":

Screenshot6

Klicken Sie auf das grüne Häkchen:

Screenshot7

Klicken Sie auf "Übernehmen":

Screenshot8

Klicken Sie auf "Schließen":

Screenshot9

Und schließen Sie Gparted.

Aushängen des Bildes

Zum Schluss entfernen Sie das Image vom Loopback-Gerät:

sudo losetup -d /dev/loop1
ubuntu@ubuntu ~/tmp % sudo losetup -d /dev/loop1
ubuntu@ubuntu ~/tmp % losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         1  1 /cdrom/casper/filesystem.squashfs

Sie können das erstellte Bild für einen beliebigen Zweck verwenden. Sie können es beispielsweise als virtuelles USB-Laufwerk verwenden:

sudo losetup loop1 image.img

Dateien öffnen:

Screenshot10

Screenshot11

kos
quelle
@ Johnkieran Gern geschehen :)
Kos
Sehr detailiert. Lesezeichen :) und + 1 natürlich
AB
Danke @AB :) Ich werde jetzt die Moderator-Tools überprüfen!
Kos
0

Zuerst müssen Sie das Paket hfsutils installieren:

sudo apt-get install hfsutils

Erstellen Sie nun eine Bilddatei, deren Größe festgelegt ist:

sudo dd if=/dev/zero of=/root/file.img bs=1M count=130

Formatieren Sie dann die Bilddatei:

sudo hformat -l File /root/file.img

Hängen Sie danach das Image ein:

sudo mkdir /mnt/file
sudo mount -t hfs -o loop /root/file.img /mnt/file

Kopieren Sie Ihre Dateien auf Ihr neues bereitgestelltes Volume, und entfernen Sie die Bereitstellung, wenn Sie fertig sind:

sudo umount /mnt/file

Ich habe auf diesen Link verwiesen , um die Lösung zu finden.
Ps: Ich habe es erfolgreich in meinem Ubuntu MATE 14.04.3 getestet

Ghassen Rjab
quelle