HARDWARE: 2 8 GB USB-
Sticks DISTRO: Mint 9 Xfce persistente Live-CD
Ein USB-Flash-Laufwerk verfügt über zwei Partitionen:
1) FAT32 700MB Mint 9-Partition
2) ext3 7,3 GB- casper-rw
Partition
ZIEL:
Ich möchte ein Duplikat dieses USB-Flash-Laufwerks erstellen, da ich die Zeit der erneuten Installation und Konfiguration nicht von Grund auf neu durchlaufen möchte.
ERFAHRUNG:
1) Ich habe festgestellt, dass dd
dies für diesen Job nicht funktioniert, da die Kopie beschädigt wird, wenn eines meiner Flash-Laufwerke sogar 1 MB unterschiedlich groß ist, was manchmal der Fall ist.
2) Ich habe festgestellt, dass die Verwendung gparted
und Vorformatierung des zweiten Laufwerks wie des ersten und die anschließende rsync
individuelle Partitionierung jeder Partition nicht funktioniert, da einige Dateien aus irgendeinem Grund nicht kopiert werden und das Laufwerk nicht mehr bootfähig ist.
Ich möchte meinen Arbeitsstick behalten und einfach Kopien davon erstellen und die Sticks für meine Freunde konfigurieren. Auf diese Weise wird mein Basis-Stick immer nur herumstehen und warten, wenn ich einen anderen Stock vermassle.
Antworten:
Einführung
Bei einem Laufwerk mit PC-Partitionen (wie es bei den meisten USB-Sticks der Fall ist) besteht der Bootloader aus einem winzigen Teil ganz am Anfang des Laufwerks (dem Bootloader der Stufe 1 im Bootsektor des Laufwerks) und a größerer Teil an anderer Stelle (der Stage 2-Bootloader in einer Datei). Die Daten der Stufe 1 enthalten den physischen Standort von Stufe 2. Wenn Sie das gesamte Gerät kopieren (was Sie versucht haben
dd
), befindet sich der Teil der Stufe 1 am selben physischen Ort und der Stick funktioniert, aber der neue Stick muss mindestens so sein groß wie das Original. Wenn Sie die Partitionen neu erstellen und die Dateien kopieren, fehlt Ihnen Stufe 1, da es sich nicht um eine Datei handelt.Ich denke (aber ich habe nicht überprüft), dass sich die Stufe 2 in der ersten (FAT32) Partition befindet. In diesem Fall können Sie diese Partition im Großhandel und auch den Bootsektor kopieren, dann die Partitionstabelle so bearbeiten, dass die zweite Partition genau den verbleibenden Speicherplatz belegt, und die Dateien auf der zweiten Partition kopieren. Sie können auch ein Roh-Image des Bootsektors und der ersten Partition in einer Datei auf einer Festplatte speichern (Sie können sie jedoch auch von einem USB-Stick klonen).
Erstellen eines Klons einer anderen Größe
Im Folgenden werde ich das Gerät mit dem Original-Stick
/dev/sdb
und das Gerät mit dem Klon aufrufen/dev/sdc
. Ersatznamen nach Bedarf. Erstellen Sie bei Bedarf Einhängepunkte. Ich gehe davon aus, dass die FAT32-Partition (am Anfang der Festplatte) mit 1 und die ext3-Partition mit 2 nummeriert ist. Ersetzen Sie bei Bedarf andere Nummern.Erster Teil, wenn Sie von einem Stick klonen:
Erster Teil beim Klonen aus Bilddateien:
Der Aufruf von
partprobe
wird benötigt, damit der Kernel die Partitionstabelle von der Festplatte neu lädt (sie befindet sich im Bootsektor, und der erste Befehl in beiden oben genannten Szenarien ändert den Bootsektor). Wenn Sie es weglassen, werden entweder Fehler angezeigt oder der Kernel schreibt stillschweigend Müll auf den Stick.So erstellen Sie die Bilddateien:
Nachdem Sie den Bootsektor und die erste Partition erhalten haben, müssen Sie die Partitionstabelle erneut bearbeiten, um die Größe der zweiten Partition zu ändern. Sie können dies automatisch tun, indem Sie den richtigen Eingang eingeben
fdisk
. Achtung, dies ist extrem fehleranfällig und ich habe es nicht getestet. Wenn Sie sich mit diesem Teil nicht ganz wohl fühlen, tun Sie es von Hand.Laden Sie abschließend die Partitionstabelle erneut, erstellen Sie ein ext3-Dateisystem und kopieren Sie die Dateien dorthin.
Vereinfachte Methode zum Erstellen eines größeren Klons
Wenn Sie möchten, können Sie ein Bild des gesamten Sticks speichern. Sie werden in der Lage, dieses Bild zu verwenden , um direkt auf jedem Stick , dass der mindestens so groß ist : gerade das Bild auf den neuen Stick kopieren mit
cat <whole.img >/dev/sdc
, dann laufenpartprobe /dev/sdc
(oder Auszugs - Stick und steckt es wieder in) , um wieder zu lesen die Partitionstabelle.Wenn Sie möchten, können Sie den Klon vergrößern. In dieser Reihenfolge:
parted
kann dies mit demmove
Befehl tun (nichtresize
, der die Größe des Dateisystems ändert), aber Sie müssen die richtigen Argumente herausfinden - wechseln Sie zu Sektoren (unit s
), um Rundungsfehler zu vermeiden.resize2fs /dev/sdc2
, damit das Dateisystem die gesamte Partitionsgröße verwendet.Wenn Sie von einem größeren Stick als erforderlich ausgehen, können Sie ihn verkleinern, indem Sie die obigen Schritte in umgekehrter Reihenfolge ausführen (verkleinern Sie zuerst das Dateisystem mit
resize2fs
, dann verkleinern Sie die Partition mitparted
).Alternativ können Sie den Stick zuerst in eine Bilddatei kopieren und dann an dieser Bilddatei arbeiten. Verwenden Sie für den Zugriff auf die Partitionen ein Schleifengerät , das speziell einen Teil der Datei einer Festplatte zuordnet . Hier ist eine Skizze der Schritte, wenn Sie das Bild verkleinern möchten (Warnung, ungetestet, vorsichtig vorgehen und die Mathematik überprüfen).
quelle
head -c 512 </dev/sdb >/bev/sdc
?;;
Syntax: Dienstprogramm / Quelle / Laufwerk / Ziel / Laufwerk --verbose
Kommentar: Zeigt den Fortschritt und die Fehlerprüfung an, damit Sie wissen, ob dies akzeptabel ist oder irgendwo aufhängt. Sie können auch b = Blöcke beliebiger Größe hinzufügen . "gddrescue" ist eine GUI-basierte Version von "ddrescue", aber ich verwende nur ddrescue wie oben beschrieben, da es problemlos funktioniert.
quelle
ddrescue -v /dev/sda /dev/sdb
(Optionen stehen an erster Stelle vor den Namen der Geräte / Dateien). Vielen Dank für den Hinweis auf dieses Tool! Viel einfacher als zu benutzendd
!Ich hatte kürzlich meine Kali Live-verschlüsselte Persistenz von 16 GB auf 64 GB 3.0 USB geklont. Mein Host-Betriebssystem ist Windows 10 Pro. Ich hatte nicht versucht, mit einer Linux-Distribution zu klonen. Ich bin sicher, dass die obigen Antworten genau das sind, was Sie brauchen, aber für alle Windows-Benutzer. Ich hatte AOMEI Disk Partition Assistant verwendet. Super einfach zu bedienen, verwendet es für die Partitionierung meiner SSD, um Ubuntu zu passen, aber ich schweife ab.
Ich musste sicherstellen, dass der USB, auf den ich geklont habe, bereits für das Live-Booten formatiert war. Beide USB-Geräte angeschlossen und einfach mit der rechten Maustaste auf das 8-GB-Laufwerk geklickt. Wenn Sie auf
copy
das 64-GB-Laufwerk klicken und es dann auswählen, werden Sie nach einer Reihe von Dingen gefragt: "Sind Sie sicher, dass dies das richtige Laufwerk ist, wird alles gelöscht?" Lesen Sie es einfach durch und stellen Sie sicher, dass alles in Ordnung ist. Sie müssen wirklich nicht viel tun.Warten Sie einfach, bis der Vorgang abgeschlossen ist und Sie fertig sind. Getestet sagte USB und alles hat funktioniert!
Ich fand, dass dies zumindest für mich der einfachste Weg ist, Live-Distributionen von USB auf USB zu klonen.
quelle