Frage:
So stellen Sie das Image einer SD-Karte von einer größeren SD-Karte auf eine kleinere wieder her
Ossama
2013-12-31 09:21:26 UTC
view on stackexchange narkive permalink

Ich habe eine Sicherungskopie einer SD-Karte mit DD erstellt. Die SD-Karte hatte eine Größe von 16 GB. Die Sicherung wurde mit dem folgenden Befehl abgeschlossen:

  sudo bs = 4M dd if = / dev / disk2 | gzip > pi_sd_prayertime.gz  

pi_sd_prayertime.gz Größe ist: 1 GB

Ich möchte dieses Backup auf einer kleineren 4 GB SD-Karte wiederherstellen. Ich habe zahlreiche Versuche unternommen, aber die wiederhergestellte SD-Karte wird nicht erkannt und ist am Ende nicht lesbar.

Ich verstehe, dass der Größenunterschied das Problem ist. Folgendes habe ich bisher versucht:

  sudo dd bs = 1m if = pi_sd_prayertime.gz von = / dev / disk2 count = 31116288  

Beachten Sie, dass 31116288 (das Sektorende + 1) der ist vorhandene Festplatte, auf der die ursprüngliche Sicherung aus

erstellt wird
Sechs antworten:
#1
+10
myhd
2014-02-15 02:45:01 UTC
view on stackexchange narkive permalink

Mit rpi-clone von Bill Wilson ist tatsächlich möglich. Sie benötigen einen USB-CF-Kartenleser, um ihn an Ihr RPi anzuschließen. Offensichtlich muss der tatsächlich auf der Original-SD-Karte verwendete Speicher kleiner sein als der Speicherplatz auf der Ziel-SD-Karte.

Die Grundidee besteht darin, den RPI-Klon herunterzuladen und von einem gebooteten RPi zu verwenden, um (vorzubereiten und) ) auf die Ziel-SD-Karte im Lesegerät kopieren. Ein genialer Aspekt ist, dass alle erforderlichen Partitionen bei Bedarf auf der Ziel-SD-Karte erstellt werden.

Nachdem ich von den anderen Antworten auf dieser Seite schnell entmutigt worden war, kam ich hierher zurück, um zu berichten, dass ich dies selbst getestet habe, und Klonierte eine 16-GB-SD-Karte (2,2 GB verwendet!) auf eine 4-GB-Karte, die tatsächlich bootet und wie ein Zauber funktioniert.

#2
+7
SeekerJBP
2014-07-24 03:16:29 UTC
view on stackexchange narkive permalink

Nachdem ich all diese und viele andere Meinungen gelesen hatte, versuchte ich rpi-clone von Bill Wilson. Es funktionierte beim ersten Versuch perfekt und war tatsächlich viel einfacher als die Anweisungen es klingen ließen. Vielen Dank an myhd für die Empfehlung.

Ähm, warum nicht die Antwort von myhd akzeptieren, anstatt deine eigene zu posten?
@arjan stimmte tldr zu :(
#3
+2
Gerben
2013-12-31 23:14:43 UTC
view on stackexchange narkive permalink

Sie müssen die Größe der Partition im Image ändern, solange die Menge der realen Daten weniger als 4 GB beträgt.

Sie können dies auf einem anderen Linux-Computer tun. Ein weiterer Pi wäre etwas schwierig, da Sie genügend Speicherplatz benötigen, um das gesamte Image zu extrahieren. Sie können jedoch eine externe Festplatte oder einen großen USB-Stick verwenden.

Hängen Sie zuerst die extrahierte Datei ein. Verkleinern Sie dann das ext4-Dateisystem auf der zweiten Partition mit e2resize . Dadurch werden alle Dateien an den Anfang der Partition verschoben. Ändern Sie als Nächstes die Größe der zweiten Partition, indem Sie z. gparted. Sie müssen die entsprechenden Werte berechnen, da 4 GB nicht immer auf allen SD-Karten gleich sind. Sobald die Größe der Partition geändert wurde, können Sie das Dateisystem erneut erweitern, um die gesamte (jetzt kleinere) Partition zu füllen. Schneiden Sie dann die Image-Datei ab oder kopieren Sie einfach die ersten 4 GB auf die andere SD.

Gibt es eine ähnliche e2resize für osx?
Mac unterstützt das ext4-Dateisystem nicht. Ich glaube nicht, dass FUSE Tools wie e2resize hat. Es tut uns leid.
#4
+1
lenik
2013-12-31 11:06:27 UTC
view on stackexchange narkive permalink

Kurz gesagt - Sie können nicht 16 Liter Wasser in eine Viertelflasche füllen.

Verwenden Sie bitte eine 16-GB-SD-Karte, um das Originalbild wiederherzustellen, und kopieren Sie dann die erforderlichen Dateien von dieser Karte auf Ihre neuen 4 GB

Sie können die Image-Datei auch entpacken und versuchen, sie direkt vom HDD-Image zu mounten, vorausgesetzt, Sie verfügen über eine funktionierende Linux-Box und wissen, wie das geht. Wenn Sie dies nicht tun, bleiben Sie bei der Methode "Auf 16-GB-Karte zurückkopieren". Dies ist sehr einfach und funktioniert nachweislich gut.

obwohl die Größe des Bildes 1G beträgt
@Ossama: Die * komprimierte * Größe des Bildes beträgt 1 GB. Es wird immer noch auf 16 GB dekomprimiert.
Muss ich die Datei dekomprimieren, bevor ich sie dd. ist der Befehl oben ok
auf jeden fall muss man dekomprimieren. Wenn Sie ein komprimiertes Bild auf eine SD-Karte schreiben, erhalten Sie nichts. Wenn der Befehl falsch ist, sollten Sie `gunzip -c your_image.gz | verwenden dd von = / dev / disk2 bs = 10M` oder so ähnlich.
#5
  0
Ed S
2018-02-02 08:04:32 UTC
view on stackexchange narkive permalink

Der Punkt ist möglicherweise nicht die Gesamtdatenmenge, sondern möglicherweise das, womit Sie begonnen haben und was Sie jetzt haben (oder brauchen). Ich habe mit einer 32 GB SD-Karte angefangen. Ich habe alles eingerichtet und alles funktioniert perfekt. Wenn ich mir den Speicher anschaue, passt mein gesamtes Setup problemlos auf eine 8-GB-SD-Karte (mit viel Platz zum Speichern von Dingen). Ich möchte jedoch nicht den gesamten Einrichtungsprozess erneut durchlaufen. Ich möchte nur mein Image (die 32-GB-SD-Karte) auf eine 8-GB-Karte verschieben (die mehr als groß genug ist, um meine Anwendung zu hosten). Ich versuche also nicht, 16 Liter in einen Liter zu stecken (Sie haben mir die Maßeinheiten getauscht) - ich wollte mit einer SD-Karte beginnen, von der ich wusste, dass sie mehr als genug Kapazität hat. Nachdem ich eine Weile getestet hatte, stellte ich fest, dass die Anwendung problemlos auf einer 8-GB-SD-Karte ausgeführt werden kann. Ich würde jedoch lieber nicht den gesamten Prozess des erneuten Einrichtens durchlaufen. Die 32-GB-Karte bietet viel Platz. Daher möchte ich eine 8-GB-Karte mit dem Betriebssystem und den auf der 32-GB-Karte enthaltenen Daten erstellen (anstatt den gesamten Prozess des Neustarts mit einem nackten Betriebssystem und des erneuten Ladens aller meiner Programme und Daten zu durchlaufen). P. >

Wenn das nicht möglich ist, kann ich einfach in die Kugel beißen und ein paar 32-GB-SD-Karten kaufen (etwas mehr Geld, aber (vielleicht) weniger Aufwand).

#6
  0
framp
2018-07-11 02:04:40 UTC
view on stackexchange narkive permalink

Verwenden Sie pishrink, um Ihr Bild zu komprimieren



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...