Image verkleinern mit pishrink

  • 2.) ich werde die image-files auf eine ntfs-platte verschieben

    Umfeld:

    model: RPi 3B

    OS: 2017-11-29-raspbian-stretch-light.img

    pishrink.sh heute von github geholt.

    mount

    mount -t ntfs /dev/sda1 /mnt/usb

    mount

    ...

    fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)

    /dev/sda1 on /mnt/usb type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

    cd /mnt/usb/pishrink

    pishrink Ausgabe

    /mnt/usb/pishrink/pishrink2.sh /mnt/usb/pishrink/2016-03-12-jessie-minibian-waveshare32--wlan-rpi3b-newtron-usbmont-bluetooth.img /mnt/usb/pishrink/problem.img

    Copying /mnt/usb/pishrink/2016-03-12-jessie-minibian-waveshare32--wlan-rpi3b-newtron-usbmount-bluetooth.img to /mnt/usb/pishrink/problem.img...

    Error: Can't have a partition outside the disk!

    gleicher Fehler "Error: Can't have a partition outside the disk!" und skript wartet auf Eingabe.

    hyle und RTFM : zeigt mir Eure Ausgabe von mount des ntfs USB-Laufwerks.

    Bzw. wie sehen eure mount-kommandos aus (für ntfs-Laufwerke).

    3 Mal editiert, zuletzt von kle (28. Januar 2018 um 16:30)

  • Bei mir funktioniert die parted -m Ausgabe selbst aus einer verschlüsselten xfs - Partition.


    Für mich ist Redmond, bzw. die verwendeten NTFS Mount Optionen die Schuldigen.

    Verstehe ich Dich richtig?

    Dein Kommando parted -m <pfad-zur-ntfs-platte>/<image-mit-verschlüsselter-xfs-partition> unit B print .

    (also parted auf imagefile in einem Verzeichnis auf der ntfs-usb-platte) funktioniert.

  • Nein. Es gibt keine NTFS Platte, höchstens eine NTFS Partition.

    Und bei mir wird eine XFS Partition über ein loop-Device gemountet, weil ja die Verschküsselung dazwischenliegt. Und auch bei dieser Kontellation kann parted die ersten paar hundert Bytes des *.img, also den Master Boot Record, wo ja die Partitionsgrenzen gespeichert sind, richtig auslesen.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • mount -t ntfs-3g -o uid=pi,gid=pi UUID=88B2429CB2428F1E /home/pi/platte

    Frage: wie sieht der zugehörige /etc/fstab Eintrag aus?

    Mein System hat den fehlenden fstab Eintrag angemeckert.

    ich habe parted in Kombination mit <imagefile> in Verdacht.

    Ist bei Dir etwas installiert, das bei mir fehlt?

    Ich arbeite über putty/ssh im in Raspi-Console.

    Ich habe 2017-11-29-raspbian-stretch-lite.img auf SD-Karte geschrieben.

    leere Datei ssh erzeugt (ssh erlauben).

    Datei wpa_supplicant.conf mit Zugangsdaten erzeugt (nur für WLAN notwendig)

    später auch Packet ntfs-3g installiert, Sonst nichts.

    Mein Image ist auf einem usb-stick gemountet mit mount -o uid=pi -o gid=pi /dev/sda1 /mnt/usb.

    pishrink Aufruf
    Code
    # root werden
    sudo su -
    # usb-stick mounten
    mount -o uid=pi -o gid=pi /dev/sda1 /mnt/usb
    pwd
    /root
    ls
    pishrink.sh
    ./pishrink.sh /mnt/usb/<imagefile> /mnt/usb/<newimagerfile>
    pishrink Aufruf mit Fehler

    id

    uid=0(root) gid=0(root) groups=0(root)

    pwd

    /root

    ls

    pishrink.sh

    ./pishrink.sh /mnt/usb/problem.img /mnt/usb/problem-shrink.img

    Copying /mnt/usb/problem.img to /mnt/usb/problem-shrink.img...

    Error: Can't have a partition outside the disk!

    Skript hängt im parted-Kommando , hab es beendet mit ^C.

    parted Fehler ohne Option '-s'

    parted -m /mnt/usb/problem.img unit B print

    Error: Can't have a partition outside the disk!

    Ignore/Cancel? Cancel <-- ich habe auf die Abfrage hin "Cancel" eingegeben

    BYT;

    /mnt/usb/problem.img:4021420032B:file:512:512:unknown::

    parted Fehler mit Option '-s'

    parted -s -m /mnt/usb/problem.img unit B print

    Error: Can't have a partition outside the disk!

    BYT;

    /mnt/usb/problem.img:4021420032B:file:512:512:unknown::

    Weil der parted in Deinem system und mit Deiner ntfs-Partition keine Probleme hat,

    • kannst Du ein Imagefile auf einen usb-stick schieben und pishrink.sh mit diesem Image als root aufrufen?
    • Möglichst auch mit einer SD-Karte mit einem frischen raspbian-stretch-lite.img
  • Damit hast Du aber nicht den 3-g NTFS Treiber verwendet.


    hyle: mount -t ntfs-3g -o ....

    das war das mount Kommando für seine usb-Festplatte mit ntfs-Partition.

    mount -o uid=pi -o gid=pi /dev/sda1 /mnt/usb

    damit wird der usb-Stick als type vfat gemountet. Ich kann auf den USB-Stick lesen und schreiben.

    mount Ausgabe

    mount

    ...

    /dev/sda1 on /mnt/usb type vfat (rw,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)

    1.Frage: ist vfat falsch? muß ich den Stick mit type ntfs-3g mounten?

    2.Frage: funktioniert pishrink/parted nur mit images die in ntfs-3g gemounteten Patitionen liegen?

    • Offizieller Beitrag

    Frage: wie sieht der zugehörige /etc/fstab Eintrag aus?

    UUID=88B2429CB2428F1E /home/pi/platte ntfs-3g defaults,auto,users,rw 0 0 Wobei, soweit ich mich erinnere, auto und users in defaults enthalten sind. :denker: Muss ich bei Gelegenheit nochmal nachlesen, denn der von mir gezeigte Eintrag könnte auch ein Relikt aus der Vergangenheit sein. :blush:


    ----------------------------------------------------

    1.Frage: ist vfat falsch? muß ich den Stick mit type ntfs-3g mounten?

    Siehe dazu Ubuntu-Wiki:

    In diesem Beispiel wird ein FAT-formatierter USB-Stick in das Verzeichnis /media/usbstick eingehängt:

    Code
    sudo mount -t vfat -o uid=simon,gid=plugdev,umask=0027 UUID=36FF-F3BA /media/usbstick 

    Die UUID des Sticks wurde mit dem Befehl sudo blkid ermittelt. Für Eigentümer und Gruppe hätte man auch die Zahlenwerte uid=1000,gid=46 angeben können. Wegen umask=0027 hat der Eigentümer Simon vollen Zugriff, Mitglieder der Gruppe plugdev dürfen lesen und andere haben gar keinen Zugriff. Der entsprechende Eintrag in /etc/fstab wäre dann:

    Code
    UUID=36FF-F3BA /media/usbstick vfat uid=simon,gid=plugdev,umask=0027 0 0

    Auch hier darf auto an der Stelle von vfat stehen.

    ----------------------------------------------------

    2.Frage: funktioniert pishrink/parted nur mit images die in ntfs-3g gemounteten Patitionen liegen?

    Das würde ja keinen Sinn machen...

  • Hallo,

    hyle  RTFM und framp entschuldigung, daß ich euch narrisch gemacht habe.

    Das Problem: mein Imagefile war korrupt.

    Ich wußte das und habe das Imagefile absichtlich verwendet, um den Fehler zu reproduzieren. Bloß habe ich die Meldung ähnlich "Partition nicht optimal ausgerichtet" erwartet und nicht "Error: Can't have a partition outside the disk!".

    Eine Verbesserung für das pishrink.sh Skript fällt mir ein:

    Bisher hängt sich das Skript auf. Weder die parted-Fehlermeldung noch die parted-Eingabeaufforderung sind sichtbar.

    • Fehlermeldungen sollten sichbar sein.
    • das Skript sollte sich nicht aufhängen, weil parted eine Eingabe anfordert.
    parted option '-s'

    -s, --script

    never prompts for user intervention

    Im github steht ein Issue.


    Schönen Gruß, kle

    • Offizieller Beitrag

    Vorab, nachmachen auf eigene Gefahr! Ich teste hier nur aus eigenem Interesse und nicht aus produktiven Gründen!


    Ein erneuter Versuch, ein Backup eines laufenden Systems mit pishrink zu erstellen, war erfolgreich. ;)

    System: RPi 3B + Stretch Lite / pishrink.sh (Version download im Mai 2017)

    Bei der aktuellen Version von pishrink kommt die Meldung, dass die Quelle keine Datei ist. :shy: Offensichtlich hat der Autor auch schon die Möglichkeit, ein gemounteten System zu kopieren, bemerkt und will kein Risiko eingehen, bzw. etwaige Eventualitäten ausschließen. Also testete ich mit der alten Version. :baeh2:

    Der nächste Test wird vermutlich RPi 2B mit Wheezy, um mein damaliges Ergebnis zu bestätigen, aber nicht wieder wie in Beitrag #61 mit der ollen SD-Karte.

    framp: Nur so. Falls Du Interesse an eigenen Tests hast und die alte Version nicht (mehr) haben solltest, dann kann ich die Dir gerne per PN zukommen lassen.

  • Hallo framp,

    ich hatte in Beitrag #90 den pishrink-Issue #46 aufgemacht. Der ist geschlossen worden, weil mit pishrink-Issue #40 die parted option '-s' eingebaut wurde. Deinen Kommentar zu pishrink-Issue #40 habe ich gesehen.

    Schönen Gruß, kle

  • EDIT 12.02.2018:

    ich hatte zusätzliche Pakete1 auf eine nicht expandierte2 SD Karte geladen, ohne Fehler.

    1. mit sudo apt-get install ...

    2. also kein raspi-config => expand filesystem

    Warum kann pishrink manchmal nicht komprimieren?

    pishrink bzw. parted meldet: Error: Can't have a partition outside the disk!
    Es geht um ein nicht expandiertes Image.

    Schauen wir mit fdisk nach

    fdisk -lu not_expanded.img

    Disk not_expanded.img: 7.4 GiB, 7945620480 bytes, 15518790 sectors <== (1.)

    Units: sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disklabel type: dos

    Disk identifier: 0xb81dfee9

    Device Boot Start End Sectors Size Id Type

    not_expanded.img1 8192 137215 129024 63M c W95 FAT32 (LBA)

    not_expanded.img2 137216 15523839 15386624 7.3G 83 Linux <== (2.)
    ------------------------------------------------------------------

    parted bemängelt: Error: Can't have a partition outside the disk!

    zu (1.) die Disk hat 15518790 Sektoren, aber..

    zu (2.) ..der letzte Sektor hat die Nummer 15523839 (Info: der 1. Sektor hat die Nummer 0),

    parted meint: die Disk muß mindestens 15523840 Sektoren haben (15518790 sind zu wenig).

    ich habe das Image mit "raspi-config => expand filesystem" expandiert.

    und schon gibt parted keine Fehlermeldung aus.

    parted expanded_image

    parted -s expanded_image unit S print

    Model: SD SL08G (sd/mmc)

    Disk expanded_image: 15523840s <== (1.)

    Sector size (logical/physical): 512B/512B

    Partition Table: msdos

    Disk Flags:

    Number Start End Size Type File system Flags

    1 8192s 137215s 129024s primary fat16 lba

    2 137216s 15523839s 15386624s primary ext4 <== (2.)

    -----------------------------------------------------------------------

    jetzt stimmt es:

    zu (1.) die Disk hat 15523840 Sektoren..

    zu (2.) .. von Nr. 0 bis Nr. 15523839

    EDIT 12.02.2018: Mir ist das mit dem Image 2016-11-08-pitft-35r.img von Adafruit passiert.

    2 Mal editiert, zuletzt von kle (12. Februar 2018 um 17:55)

  • Ich habe heute mit "Win32 Disk Imager" eine Sicherung gemacht, die auf keine meiner SD Karten passt (alle 16GB).

    Ich habt hier schon recht viel und das ausführlich beschrieben, wie es mit "pishrink" geht, Hut ab! Ich traue mich trotzdem nicht ran. Gibt es für Windows (bitte nicht hauen) auch Programme, die das Image verkleinern?

    Gruß Guido

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

    • Offizieller Beitrag

    Hallo Guido64,

    nur Mut, das funktioniert mit pishrink leichter als es klingt! ;) Auf der ersten Seite steht auch schon alles was Du dafür an Informationen brauchst.

    Falls Du dann doch noch Hilfe benötigst, kannste einfach hier fragen.

  • hyle

    du hast mich wirklich motiviert:cool:

    Ich hatte es an einer Beere versucht, bin aber wegen Platzmangel (Speicherkapazität) davon ab. Ich habe dann nen alten PC genommen und mint installiert. Da war der Datenträger dann groß genug und es ist wirklich einfach, wenn man alle Rechte frei gibt, die notwendig sind.

    PS: ich glaube am längsten hat es gedauert ne alte Festplatte zu finden :lol:

    Ich habe eine Raspi Beere 3 und freue mich, dass sie läuft. Ich programmiere gern und freue mich wenn es auch funktioniert. Aber grundsätzlich hab ich keine Ahnung davon :conf:

    Bitte löscht nie dieses Forum! Hier steht alles drin was ich mir merken muss!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!