Der Raspberry Pi ist bei mir die erste Wahl für allerlei Projekte. Vor allem aber nutze ich ihn für die Steuerung meiner Hausautomation mittels openHAB. Gerade in diesem Bereich ist es wichtig, dass das kleine Wunderding stabil läuft und möglichst nicht ausfällt. Natürlich kann ein technisches Gerät immer ausfallen – jedoch kann man die Faktoren, die dazu führen versuchen zu minimieren. Eine große Schwachstelle ist die SD Karte, auf der das ganze System installiert ist. SD Karten sind – im Gegensatz zu Festplatten oder SSDs – nicht dafür ausgelegt im Dauerbetrieb gelesen und beschrieben zu werden. Das führt früher oder später zum Ausfall der SD Karte und damit auch zum Ausfall des gesamten Raspberry Pi. Dem kann vorgebeugt werden, indem man direkt von einer angeschlossenen SSD bootet, die für deutlich größere Belastungen ausgelegt ist.
Der Raspberry kann die angeschlossenen Geräte nur mit 600mA versorgen. Daher empfehle ich die Festplatte extern mit Strom zu versorgen.

Raspberry Pi vorbereiten
Falls du einen Raspberry Pi 3b+ hast kannst du diesen Teil der Anleitung überspringen. Das neuste Modell kann von Haus aus von USB booten. Für die Modelle 2B (nur v1.2) und 3B musst du ein Bit im OTP (one-time-programmable) Memory setzen. wie der Name schon sagt, kann dieses Bit nur einmalig gesetzt und nicht rückgängig gemacht werden. Das sollte dich aber nicht abschrecken. Die Benutzung mit einer SD Karte ist weiterhin möglich. Der Raspberry Pi versucht immer zuerst von der SD Karte zu booten. Ist das nicht möglich oder es ist keine SD Karte vorhanden wird von der angeschlossenen USB Festplatte gebootet.
- Lade dir hier das neuste Raspbian Image herunter. Am besten du wählst „Raspbian Stretch with desktop“. Das Image flashst du mit Hilfe von Etcher auf deine SD Karte. Wie das Genau funktioniert habe ich in diesem Artikel am Beispiel von openHAB erklärt.
- Sobald das Image erstellt wurde öffnest du an deinem Computer die gerade geflashte SD Karte und suchst nach der Datei config.txt. Falls Etcher die SD Karte ausgeworfen hat, entferne sie kurz und stecke Sie wieder in den Slot. Danach wird sie normal als Laufwerk erkannt.
- Füge am Ende folgende Zeile ein und speichere die Datei ab:
1program_usb_boot_mode=1 - Nun kannst du die SD Karte in den Raspberry einschieben und starten. Das Gerät bootet normal und setzt dabei das Bit. Wenn du keinen Bildschirm angeschlossen hast, warte einfach 2-3 Minuten, dann sollte der Boot Vorgang abgeschlossen sein.
- Jetzt sollte das booten von einer USB Festplatte schon funktionieren. Um eine bootfähige Festplatte zu erstellen kannst du Schritt 1 wiederholen und anstelle der SD Karte eine USB Festplatte flashen. Damit der Raspberry von der Festplatte bootet, muss die SD Karte vorher entfernt werden. Wie oben bereits erwähnt versucht das Gerät immer zuerst von der SD Karte zu booten.
Ich betreibe meinen Raspberry 3B mit einer Scandisk SATA SSD 128 GB mit externer Stromversorgung (SATA auf USB). Läuft problemlos. Was nicht funktioniert ist ein Reboot. Der Raspberry startet nur von USB nachdem er stromlos gemacht wurde.
Hallo William,
das ist ein sehr seltsames verhalten. Ich habe es bei mir gerade noch einmal getestet und es wird auch bei einem reboot von der SSD gebootet. EIne SD Karte hast du nicht mehr im Gerät stecken, oder?
Viele Grüße
Patrick
Hallo Patrick,
erst mal Danke für deine Antwort. Eine SD Karte ist nicht mehr im Raspberry.
In der config.txt hab ich diese beiden Zeilen
program_usb_boot_mode=1
program_usb_boot_timeout=1
Raspbian Version ist strech
Da habe ich aktuell wirklich keine Idee an was das liegen könnte. Tut mir sehr leid.
Hallo Patrick,
danke für deine Antwort. An welchem USB Port hast du die SSD und welche Hardware verwendest du für SSDUSB.
Mit einem bootfähigen USB-Stick und GParted drauf sollte das funktionieren.
Mein Raspberry 3 läuft seit Monaten ohne Probleme mit einer SSD.
Das Problem ist, ich möchte ein Backup der SSD anfertigen.
Ein Sektor-Sektor Backup-Image habe ich angelegt und auf eine identische SSD (inkl. gleichem USB-Gehäuse) geschrieben.
Diese geklonte SSD bootet zum verrecken nicht an dem Pi. Stecke ich die „alte“ SSD wieder an läuft alles wie geschmiert.
Ausprobiert mit Acronis und Macrium Reflect Free – beides erfolglos.
Hat jemand eine Idee woran es liegen könnte? Ich wäre für jeden Tipp dankbar.
Hallo Frank,
das hört sich seltsam an. Ich habe aktuell leider auch keine Idee was man anders machen könnte. Falls du noch eine weitere SSD hast, könntes du es damit probieren – oder du klonst auf eine SD Karte oder USB Stick (falls die original SSD nicht zu groß ist) um zu prüfen, ob der Klon oder die SSD Probleme macht.
Zweite SSD (anderer Hersteller) wurde schon ausprobiert, gleiches Ergebnis.
Das einzige woran es liegen könnte was ich mir vorstellen kann ist, dass TRIM beim Clonen der SSD aktiviert wird. Irgendwo habe ich mal gelesen, dass USB2 keinen TRIM-Befehl unterstützt,
Habe leider bisher beim googlen nichts zum clonen von SSDs am Raspberry gefunden.
Hat das schon mal jemand erfolgreich durchgeführt? Wenn ja, wie und womit?
Die geklonte SSD läuft jetzt bei mir. Ich will Euch die Lösung nicht vorenthalten:
Es scheint so, dass es bei einer SSD am Pi als Bootlaufwerk zwingend notwendig ist, beim Klonen die PARTUUID in den Dateien cmdline.txt und fstab entsprechend auf die ID der neuen SSD abzuändern.
Allerdings ist das nicht so ganz einfach, fstab liegt auf der ext4-Partition. Ich habe die Platte an einen Linux-Rechner gehängt und dann mit sudo nano fstab die Einträge geändert.
Wenn jemand weiss wie es einfacher geht dann bitte melden.
Welchen Adapter hast Du verwendet?
Mit oder ohne Netzteil?
Ohne Netzteil.
(Darf man hier verlinken?)
Inateck USB 3.0 Externes festplatten Gehäuse für 9.5mm 7mm 2.5 zoll SATA SSD HDD mit USB3.0 Kabel:
https://www.amazon.de/gp/product/B00IJNDBM4/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
Kingston SA400S37/120GB Solid-State-Drive:
https://www.amazon.de/gp/product/B01N6JQS8C/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
Hallo Tobias,
ich habe einen Adapter mit Netzteil verwendet. Die SSD wollte ohne Netzteil einfach nicht starten. Den Strom bei den USB Ports hochzusetzen funktioniert nicht, wenn die Info auf der SSD liegt, die per USB angeschlossen ist.
@Frank: Wie hast du es geschafft ohne Netzteil auszukommen?
Das läuft bei mir ohne das ich was machen musste (mit dem oben verlinkten Gehäuse und SSD).
Ich verwende für den PI das Netzteil aus dem Starterkit (2,5A)?
https://www.amazon.de/gp/product/B01CI5879A/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
Das läuft bei mir ohne das ich was machen musste (mit dem oben verlinkten Gehäuse und SSD).
Ich verwende für den PI das Netzteil aus dem Starterkit (2,5A)?
https://www.amazon.de/gp/product/B01CI5879A/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
Hallo Patrick.
Bedeutet das dann eigentlich, das ich das Retropie-Projekt auf SSD packen kann?
Ich sehe schon die TBs an Roms auf die Platte fliegen 🙂
Genau so ist es. Einfach Retropie mit Etcher auf die SSD flashen und am Raspberry einstöpseln. Dann hast du genug Platz für Spiele 😉
Kurze Rückfrage: Muß ich bei dem Image, welches ich auf die SSD schreibe auch den Befehl „program_usb_boot_mode=1“ eintragen, oder wird das Bit irgendwo auf der Platine gesetzt?
Hallo Kerki,
der Befehl muss nicht noch einmal auf der SSD geschrieben werden. Es wird ein Bit in einem internen Speicher des Raspberry gesetzt. So weiß das Gerät, dass es von USB booten muss, wenn keine oder keine bootfähige SD Karte vorhanden ist.
Viele Grüße
Patrick
Hallo.
Super Sache. Hat alles funktioniert. Jetzt muß ich noch heraus bekommen, wie ich das Filesystem auf der SSD so erweitern kann, dass ich die gesamte Festplatte nutzen kann.
Über raspi-config geht das ja leider nicht, da es sich ja nicht um eine SD-Karte hamdelt.
Hast du da noch einen Tip für mich?
Das geht recht einfach mit Gparted : sudo apt-get install gparted
Hallo Hartmut,
vielen Dank für den Tipp 🙂 Das sieht wirklich hilfreich aus für alle, die im Terminal nicht ganz zu Hause sind.