von USB-Platte booten ohne Formatierung

Ein neuer Artikel wurde veröffentlicht
  • Hallo,

    ich möchte meinen Raspi von einer USB-Platte booten.

    Dazu findet Google viele Anleitungen, eigentlich ist die Vorgehensweise immer folgendermaßen:

    1. Platte formatieren

    2. SD-Karte auf Platte kopieren,

    3. Größe der Platte anpassen

    4. Boot-Einstellungen auf SD-Karte und Platte anpassen


    Nun meine Besonderheit:

    Ich habe eine dicke Platte, die ist mit EXT4 formatiert.

    Formatieren kann ich mir eigentlich sparen, die ist ja bereits in einem passenden FS formatiert.

    Weiterhin möchte ich die Daten auf der Platte gerne erhalten.

    Klappt das, wenn ich einfach sämtliche wesentlichen Verzeichnisse von Hand auf die Platte mittels "cp" kopiere

    und dann die Boot-Einstellungen ändere?

  • Servus flautzmaus ,


    das wird so nicht funktionieren ...

    Der Bootloader kann nur mit FAT bzw. FAT32 umgehen.

    Die einzige Möglichkeit wäre weiterhin von SD zu booten aber das root-FS auf der Platte zu halten.

    Mal rein interessehalber: warum willst Du von der Festplatte booten?

    Das dauert lediglich länger - hat also imho keinen Vorteil.


    cu,

    -ds-

  • Der Vorteil, von der Festplatte zu booten, wäre, dass die SD-Karte nicht kaputtgeschrieben wird.

    Im WWW gibt es reichlich Berichte über defekte SD-Karten, daher gibt es auch viele Anleitungen,

    wie der Bootloader zunächst von der SD-Karte FAT32 bootet, und dann aber auf die FP wechselt.

    Wenn ich sehe, wieviel der Raspi in Logfiles schreibt... Habe auch festgestellt, dass der Raspi

    sich selbst regelmäßig seine Updates holt und auf der SD-Karte installiert. Da habe ich schon Sorgen,

    ob die SD-Karte das langfristig übersteht. Festplatten sind für diesen Betrieb gebaut, die können das.

    Weiterhin ist auch die Datensicherheit (Stabilität der Daten, Lebensdauer) auf einer Platte höher.


    Mein Problem ist eigentlich auch nur, dass ich die Daten auf der ext4-Platte erhalten möchte,

    ich hab keine Lust, die Daten zu sichern und zu restaurieren....

  • Mein Problem ist eigentlich auch nur, dass ich die Daten auf der ext4-Platte erhalten möchte,

    ich hab keine Lust, die Daten zu sichern und zu restaurieren

    du wirst dich entscheiden müssen, Boot mit FAT + EXT4 oder boot von (micro)SD

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Was ist auf de Platte drauf?

    Was nicht drauf sein darf, sind die Verzeichnisse, die im "/" des PI zu finden sind.

    Du solltest alles, was auf der Platte ist, in ein eigenes Unterverzeichnis verschieben, z.B. nach "/platte".


    Die Karte aus dem PI ziehen und die "/"-Partition auf einem anderen Rechner mounten ("/mnt/PI").

    Dann könntest du die Platte anstecken und alles von "/" der Karte nach "/mnt/hdd" (oder wohin du die Platte gemountet hast) kopieren.

    Dafür eignet sich sehr gut die Befehlsfolge

    Code
    1. tar clpf - /mnt/PI | (cd /mnt/hdd ; tar xpf - )

    Hier wird alles, was auf dem Quell-Dateisystem liegt, in das Zielverzeichnis kopiert.

    Mit allen rechten, Links, alles, was im FS vorhanden ist.

    Nichts aus anderen gemounteten Verzeichnissen, so zwar /proc, aber nicht der Inhalt.


    Wenn das durch ist, musst du in der "/mnt/hdd/etc/fstab" den Eintrag für das "/"-Verzeichnis ändern. Hier am besten auf die GUUID, die bei "blkid" für die Festplatte angezeigt wird.


    Und zum Schluss musst du in der Datei "/boot/cmdline.txt" den Eintrag "root=/dev/mmcblk0p2" auf die Festplatte ändern.

    (Bei dem einen System, das jetzt das Dateisystem auf einen USB-Stick hat, lautet der Eintrag "root=PARTUUID=c3072e18-01")


    Nun kannst du von der Festplatte, so sie schnell genug wach ist, booten, ohne sie neu formatieren zu müssen.


    ---------

    Korrektur:

    Man sollte nicht direkt aus dem laufenden PI kopieren, sondern die Karte in einem anderen Rechner, parallel der Zielpartition, gemount haben.

    Der einzige Unterschied ist, dass der PI weiterhin von der SD-Karte bootet, und diese auch, wenn du Programmupdates machst, beschreibt.

    Aber nur dann.


    Das System läuft von der Festplatte.

  • Weiss heist das: Ich habe eine dicke Platte, die ist mit EXT4 formatiert.

    Wie "dick" ist denn die Platte?

    Code
    1. Dec 5 20:30:00 raspi11 kernel: [443611.859377] sd 1:0:0:0: [sdb] Very big device. Trying to use READ CAPACITY(16).

    Das passiert, wenn ich eine 3 Terabyte Platte an den RPi stecke, er mag sie wohl nicht.


    Sieh erstmal nach, ob der RPi die Platte überhaupt erkennt, also z.B. eine Partition z.B. /dev/sda1.

    Dann spiele mittels dd einfach ein Image (Raspian) auf die Platte.

    Mach dann eine Kopie von /boot/cmdline.txt und ändere in der /boot/cmdline.txt diesen Teil

    Code
    1. root=/dev/mmcblk0p2

    in

    Code
    1. root=/dev/sda2

    Die Micro-SD Karte drin lassen und neu booten.


    Schreib mal, was passiert.


    MfG


    Jürgen

    Jahrelang wurde gesagt:
    Das geht nicht, das gibt es nicht und das war schon immer so.
    Und dann kam einer, der wußte das nicht, und hat es dann einfach gemacht.

  • Das passiert, wenn ich eine 3 Terabyte Platte an den RPi stecke, er mag sie wohl nicht.

    meine 3TB Platten 2,5" WDpassport (ultra) NTFS läuft am PI2 unter OSMC und Raspbian und als Netzwerkfreigabe


    wieso schreibst du sollte 3TB nicht gehen?


    bin ich ein Wunder?

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Da mein Desktop-PC die Platte erkennt und mountet, der RPi aber nur das das Device erkennt:

    Code
    1. lsblk
    2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    3. sdb 8:16 0 2,7T 0 disk
    4. sda 8:0 0 223,6G 0 disk
    5. └─sda1 8:1 0 223,6G 0 part /mnt
    6. mmcblk0 179:0 0 14,4G 0 disk
    7. ├─mmcblk0p2 179:2 0 14,4G 0 part /
    8. └─mmcblk0p1 179:1 0 41,7M 0 part /boot

    gehe (ging) ich davon aus, das der RPi damit wohl überfordert ist.

    Hier /dev/sdb, /dev/sda ist eine SSD.


    Wenn das doch funktionieren sollte, habe ich eine Fehlersuche vor mir.


    MfG


    Jürgen


    Nachtrag:

    Ich konnte die Platte doch mounten, aber nicht mit:

    Code
    1. sudo mount /dev/sdb1 /mnt

    sondern mit:

    Code
    1. sudo mount /dev/sdb /mnt

    Das hatte ich jetzt nicht auf der Rechnung, ich nehme (fast) alles zurück.


    Danke für den Hinweis.

    Jahrelang wurde gesagt:
    Das geht nicht, das gibt es nicht und das war schon immer so.
    Und dann kam einer, der wußte das nicht, und hat es dann einfach gemacht.

  • wieso schreibst du sollte 3TB nicht gehen?




    Weil wahrscheinlich vorher mit dd - wie empfohlen - ein Image darauf geflascht wurde und die HD die Plattengeometrie einer MMC bekommen hat. Der GPT wurde mit einem DOS-MBR dabei überschrieben. Und die Platte, die jetzt wie eine Diskette ohne Partition läuft, geht vor lauter protokollierten iNode Fehlern gleich über.

    7. /dev/sdb /mnt 2,7T 2,3T 207,4G 92% ext3

    Servus !

  • Diese 3TB-Platte wurde nicht mit einem RPi bearbeitet! Ich hatte sie einfach mal drangesteckt, sie wurde schon vor längerer Zeit an einem anderen Linux-Rechner formatiert. Sie hat, außer dem Test, nichts mit dem RPi am Hut. Bitte keine falschen Schlüsse ziehen, das hatte ich schon gemacht.

    Achja, die Platte ist komplett lesbar, alle Dateien sind vorhanden (Aber nicht wichtig).


    MfG

    Jürgen


    Rätselhaft ist es trotzdem

    Jahrelang wurde gesagt:
    Das geht nicht, das gibt es nicht und das war schon immer so.
    Und dann kam einer, der wußte das nicht, und hat es dann einfach gemacht.

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Jürgen Böhm ()

  • Rätselhaft ist es trotzdem

    vielleicht fehlt dem PI nur der NTFS Treiber, wie geschrieben, ich hatte aus Gründen am win Rechner unter NTFS formatiert und die Platte läuft am PI.


    https://skeleter.wordpress.com…-datenspeicher-einbinden/


    "meist mit NTFS formatiert, das Standard-Dateisystem für Windows. Linux kann dies erst lesen, wenn der entsprechende Treiber installiert ist"

    Code
    1. sudo apt-get -y update && sudo apt-get -y install ntfs-3g

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Hm, nochmal. Die Platte funktioniert ganz normal an einem Linux-PC, (jetzt) auch an einem RPi. Sie hat das Dateisystem ext3.

    Das komische ist nur, das ich sie mit /dev/sdb und nicht wie üblich als /dev/sdb1 einbinden muss, das hatte ich bis jetzt noch nicht.

    Und darüber bin ich auch gestolpert. Das war alles, aber wir kommen vom eigentlichen Thema ab.

    @flautzmaus wie sieht es aus? Schon ausprobiert?


    MfG


    Jürgen


    P.S.: Nach Rückfrage di gibt es wirklich "sudo apt install di" versucht es mal.

    Jahrelang wurde gesagt:
    Das geht nicht, das gibt es nicht und das war schon immer so.
    Und dann kam einer, der wußte das nicht, und hat es dann einfach gemacht.

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Jürgen Böhm ()

  • Ich habe eine dicke Platte, die ist mit EXT4 formatiert.

    Formatieren kann ich mir eigentlich sparen, die ist ja bereits in einem passenden FS formatiert.

    Weiterhin möchte ich die Daten auf der Platte gerne erhalten.

    Zeig mal die Ausgabe von < sudo fdisk -l /dev/DeineDickePlatte >


    gparted ist ein Gnome Programm, das wahrscheinlich bei Dir nicht installiert ist.

    Du kannst aber mit den installierten Programmen manuell das EXT4 Filsystem verkleinern und ans Ende der Platte verschieben.


    Servus !

  • So, konnte mich die letzten Tage nicht drum kümmern.


    Mein Problem ist nicht meine "dicke Platte", die läuft bereits problemlos am PI und speichert meine Daten.


    Mein Problem ist auch nicht die Boot-Reihenfolge. Ich habe verstanden, dass der PI zuerst von SD-Karte unter FAT bootet

    und sich dann das System von der Platte holt, dazu gibt es ausreichend verständliche Anleitungen.

    (Der Vorteil dabei ist, wie oben beschrieben, dass keine Schreibvorgänge mehr auf der SD-Karte stattfinden...)


    Meine hauptsächliche Frage war, ob ich das System von der SD-Karte auf die Platte kopieren kann, ohne die bestehenden Daten zu gefährden.


    Die Antwort von Rasp-Berlin zeigt eigentlich, wie das Kopieren vom System gehen sollte, vielen Dank

    Code
    1. tar clpf - /mnt/PI | (cd /mnt/hdd ; tar xpf - )

    Den Tip, nicht direkt aus dem laufenden PI kopieren, sondern die Karte in einem anderen Rechner zu mounten, werde ich beherzigen.


    Ich werde die Aktion in Kürze testen und berichten.

  • Servus,

    naja ... mal ebgesehen davon, dass Du explizit "von USB-Platte booten" geschrieben hast (was Du in dem Fall ja nicht tust, sondern Du bootest nach wie vor von SD, hast /boot auf der SD und hälst nur das rootfs dann auf der Platte) würde ich mir die Aktion noch mal gut überlegen.

    In meinen Augen wäre es sinnvoiler das System auf readonly umzustellen.

    Du hast sonst das Problem, dass Du ein evtl. Backup erst zusammenfummeln musst, wenn Du nicht jedesmal die ganze "fette" Platte sichern willst.


    cu,

    -ds-