Ich habe ein vollständig konfiguriertes Linux-System auf einem 16 GB großen USB-Laufwerk installiert. Ich habe 10 Mal dieselbe Marke/denselben Typ von USB-Laufwerk und 10 Mal genau dasselbe Mainboard.
Jetzt möchte ich das USB-Laufwerk auf die anderen kopieren, sodass 10 Systeme dasselbe Image verwenden können.
Ich habe mit WinDiskImager32 ein Image des USB-Laufwerks erstellt und dann versucht, es auf das ursprüngliche USB-Laufwerk zurückzuschreiben. Das hat funktioniert, weil es dasselbe Laufwerk ist, aber als ich versucht habe, es auf die anderen USB-Laufwerke zu schreiben, ist es fehlgeschlagen, weil das Image für diese Laufwerke zu groß war. Obwohl sie alle 16 GB groß sind, gibt es in Wirklichkeit natürlich immer kleine Unterschiede.
Dies ist offensichtlich nicht die richtige Vorgehensweise, daher frage ich mich, wie ich meinen Original-USB-Stick richtig „klonen“ kann, damit ich ihn auf den anderen einsetzen kann?
(Beachten Sie, dass das System so konfiguriert ist, dass es mit der Tatsache zurechtkommt, dass es auf einem neuen Computer installiert wird. Dies stellt hier also kein Problem dar. Sie müssen lediglich eine genaue Kopie erhalten.)
Aktualisieren
Basierend auf der Antwort von WesleyDavid habe ich das Laufwerk mit gparted überprüft und mich daran erinnert, dass ich das Image ursprünglich mit WinDiskImager32 von einem 8-GB-Gerät kopiert habe, sodass die Partition bereits klein genug ist.
Das Problem besteht darin, dass WindDiskImager das gesamte Laufwerk kopiert, nicht nur die Partitionen.
Nun behebt die „dd“-Lösung das Problem, indem sie nur eine Partition kopiert, aber wie bekomme ich dann sowohl das Ext2- als auch das Swap-Dateisystem auf den Ziel-USB?
Wenn Sie mit dd das gesamte Gerät kopieren, sind wieder die vollen 16 GB vorhanden, die nicht immer auf die anderen Geräte passen.
Aktualisierung 2
Die Verwendung von dd wie von WesleyDavid vorgeschlagen funktioniert,
man muss nur den count-Parameter von dd verwenden, wie beschriebenHier
Im Wesentlichen bedeutet dies, dass Sie „fdisk -u -l /dev/sdb“ ausführen (ersetzen Sie sdb durch Ihr Gerät).
> Disk /dev/sdb: 16.3 GB, 16257318912 bytes 64 heads, 32 sectors/track,
> 15504 cylinders, total 31752576 sectors Units = sectors of 1 * 512 =
> 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O
> size (minimum/optimal): 512 bytes / 512 bytes Disk identifier:
> 0x000392d4
>
> Device Boot Start End Blocks Id System
> /dev/sdb1 * 2048 13672447 6835200 83 Linux
> /dev/sdb2 13674494 15818751 1072129 5 Extended
> /dev/sdb5 13674496 15818751 1072128 82 Linux swap
In meinem Fall liegt das Ende der letzten Partition bei „15818751“, daher habe ich Folgendes verwendet:
dd if=/dev/sdb of=/home/myusername/usbimage.img count=15818752
sicherheitshalber noch eins hinzugefügt. So habe ich ein Image erhalten, das ich installieren kann.
Antwort1
Die einfachste und bewährte Option: Verwenden Sie gparted, um Ihre Quellpartitionen sicherheitshalber auf 15 GB zu vergrößern. Klonen Sie sie dann auf die anderen USB-Laufwerke.
Im Wesentlichen handelt es sich hier nicht um ein Klonproblem, sondern um ein Partitionsgrößenproblem. Sobald die Partitions-/Datenträgergröße die maximale Größe um ein Vielfaches unterschreitet, können Sie dd if=source of=destination
(unter der Annahme von Windows) einfach weitermachen und Ihren schlechten Willen zeigen.