HowTo: Raspberry Pi - Backup system SD card as image

Wie so oft mit Backups denkt man meistens erst dann daran, eines zu machen, wenn es mal wieder zu spät dafür ist. So erging es mir auch letztens mit einem meiner RaspberryPis. Fluch und Segen ist bei diesen nämlich, dass diese als Hauptlaufwerk eine SD-Karte nutzen.

Die Installation wird dadurch sehr einfach. Leider hat eine SD-Karte aber auch nur eine begrenzte Anzahl von Schreibzyklen. Das heißt, wenn Ihr oft viele Daten auf diese SD-Karte schreibt, dann kann es passieren, dass diese SD-Karte irgendwann ausfällt. Aber auch, wenn man nicht oft oder viele Daten auf diese SD-Karte schreibt kann es sinnvoll sein ein komplettes Backup der verwendeten SD-Karte zu erstellen.

Wie Ihr also mithilfe eines USB-Sticks oder einer externen Festplatte ein vollständiges Backup einer eingelegten SD-Karte erstellen könnt, ist im folgenden Artikel beschrieben.


Safety instructions

I know the following notes are always kind of annoying and seem unnecessary. Unfortunately, many people who knew "better" have lost eyes, fingers or other things due to carelessness or injured themselves. Data loss is almost negligible in comparison, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Because even the coolest project is not worth injury or other trouble.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links/advertising links

The links to online shops listed here are so-called affiliate links. If you click on such an affiliate link and make a purchase via this link, Nerdiy.de will receive a commission from the relevant online shop or provider. The price does not change for you. If you make your purchases via these links, you support Nerdiy.de in being able to offer other useful projects in the future. 🙂 


Requirements

Helpful articles:
Before you start with this article, you should have prepared a RaspberryPi so that it can be reached via the network and controlled via SSH.

The following articles describe what needs to be done to prepare the RaspberryPi.

In the following lists you will find all the parts you need to implement this article.

Required tool:

NumberLink
1xScrewdriver set  Buy at Amazon
1xSD card reader  Buy at Amazon

Required material:

NumberLink
1x Raspberry Pi  Buy at Amazon
1x Raspberry Pi power supply  Buy at Amazon
1x Raspberry Pi case  Buy at Amazon
1x Micro SD card 64GB  Buy at Amazon


Log in to the RaspberryPi via SSH

To start, you must first log in to the Rasp Pi with Putty via SSH. How to do this is in the article RaspberryPi - Control the RaspberryPi via SSH described.

After entering your username and password you can enter the first commands.

Externes Laufwerk einbinden

Bevor Ihr das Image – also ein exaktes Abbild der eingelegten SD-Karte – erstellen könnt, braucht Ihr einen Speicherbereich in den Ihr diese Daten schreiben könnt. Es ist nämlich leider nicht möglich ein Backup bzw. Abbild der SD-Karte zu erstellen und gleichzeitig dieses Abbild auf diese SD-Karte zu schreiben. Dies funktioniert schon deswegen nicht, weil das erstellte Image genauso groß sein wird wie die Gesamtkapazität der verwendeten SD-Karte.

Habt Ihr das Betriebssystem eures Raspberry PI also auf einer 32GB großen SD-Karte installiert, so wird auch das Image bzw. Abbild dieser SD-Karte 32GB groß sein.

Ihr benötigt also (zum Beispiel) einen USB-Stick oder externe Festplatte auf dem mindestens soviel Speicherplatz zur Verfügung steht wie die SD-Karte des Raspberry PI groß ist.

Schließt also einen entsprechenden USB-Stick oder Externe Festplatte an Euren laufenden Raspberry PI an und bindet Ihn so ein, dass Daten auf diesen geschrieben werden können. Wie Ihr ein Laufwerk unter Linux mountet ist auch im Artikel Raspberry Pi – Laufwerk unter Linux einbinden described.

Ob das angeschlossene Laufwerk korrekt gemountet und verfügbar ist, könnt Ihr durch Eingabe des Befehls

df -h 

prüfen.


Wiederherstellungs-Skript vorbereiten

Neben dem externen Speicher müsst Ihr noch eine andere Kleinigkeit vorbereiten bevor das Image erstellt werden kann.

Damit das einmal erstellte Image nach dem Schreiben auf eine neue SD-Karte auch an die (vielleicht größere SD-Karte) angepasst wird, benötigt Ihr ein entsprechendes Skript. Dieses müsst Ihr vor der Erstellung des Images auf Eurem Raspberry PI installieren. So ist es auch automatisch in dem danach erstellten Image enthalten.

Mehr Informationen zu diesem Skript findet Ihr im dazugehörigen GIT Repository (von Drewsif) hier:

Um das Skript herunterladen, die entsprechenden Rechte zu setzen und zu installieren, müsst Ihr nur die folgenden Befehle (auf dem Raspberry Pi von dem Ihr ein Backup erstellen wollt) ausführen.

wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh sudo chmod +x pishrink.sh sudo mv pishrink.sh /usr/local/bin


Image erstellen

Nachdem Ihr alle Vorbereitungen getroffen habt, könnt Ihr mit der Erstellung des Abbilds starten.

Dazu müsst Ihr lediglich folgenden Befehl in die Konsole Eures Raspberry PIs eingeben.

Vorher müsste Ihr allerdings den Teil “/media/pi/Volume/sd_card_backup.img” an den Mountpoint eueres externen Laufwerks anpassen. Sollte euer externes Laufwerk zum Beispiel unter “/tmp/mountPoint/” eingebunden sein so lautet der Pfad in dem Befehl “/tmp/mountPoint/sd_card_backup.img”.

sudo dd if=/dev/mmcblk0 of=/media/pi/Volume/sd_card_backup.img bs=4M status=progress

Nach dem Start kann es eine ganze Weile dauern, bis das Image geschrieben ist.

Sobald das Abbild fertig erstellt wurde, wird eine Zusammenfassung der geschriebenen Datenmenge ausgegeben.


Image nachbearbeiten und komprimieren

Das eigentliche Image ist nun schon fertig erstellt. Um es jedoch etwas zu komprimieren (also den benötigten Speicherplatz zu reduzieren) und die Übertragung auf eine neue SD Karte zu erleichtern, solltet Ihr nun mit dem vorbereiteten Skript das Image nachbereiten.

Wechselt dazu in das Verzeichnis in dem die Image Datei liegt und führt folgenden Befehl aus.

sudo pishrink.sh -z sd_card_backup.img

Das Image wird nun überprüft und komprimiert, was wieder etwas länger dauern könnte.

Sobald die Verarbeitung des Image abgeschlossen ist, wird Euch eine entsprechende Meldung angezeigt.


Image auf eine neue SD Karte schreiben

Das erstellte Image könnt Ihr nun mit dem Raspberry Pi Imager auf eine (andere) SD-Karte schreiben

Klickt dazu auf “OS Wählen”…

… “Eigenes Image” …

… und wählt das zuvor erstellte Image aus.

Klickt dann auf “SD-Karte Wählen” und…

… wählt die eingelegte SD-Karte aus.

Nachdem Ihr auf den “Schreiben”-Button geklickt…

… und die Warnmeldung bestätigt habt…

… startet der Schreibvorgang.

Sobald dieser abgeschlossen ist wird Euch die dargestellte Meldung angezeigt.

Ihr könnt die beschrieben SD-Karte nun in einen Raspberry PI einlegen. Dieser sollte dann ohne Probleme booten.


More articles on the topic

In der folgenden Kategorie findet Ihr weitere Links zum Thema Rasperry PI.


Have fun with the project

I hope everything worked as described for you. If not or you have questions or suggestions please let me know in the comments. I will then add this to the article if necessary.
Ideas for new projects are always welcome. 🙂

PS Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you think it's cool that I share the information with you, I would be happy about a small donation to the coffee fund. 🙂

Buy Me a Coffee at ko-fi.com       

Kommentar hinterlassen

Your email address will not be published. Erforderliche Felder sind mit * markiert


The reCAPTCHA verification period has expired. Please reload the page.