PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SD Image 32GB zu groß für Ziel-SD 32 GB



HaWe
22.05.2016, 13:43
hallo,
ich versuche gerade ein SD Image (per Win32DiskImager) von einer 32GB Intenso auf eine 32GB Toshiba zu überspielen, aber da fehlen angeblich ein paar Sektoren...
Intenso: 60400000 (?) irgendwas Sektoren, Toshiba nach Formatieren (erst quick, dann auch full): 60370000 (?) irgendwas Sektoren.

Was mach ich jetzt um das Image trotzdem zu schreiben?

peterfido
22.05.2016, 15:18
Hallo,

es passt nicht drauf. Das habe ich schon mal im Raspberry-Forum angemeckert. Mein Vorschlag, bei der Erweiterung des Dateisystem ein paar Prozent Luft zu lassen, wurde von den 'Profis' dort mit blöden Ausreden schlecht gemacht. Meine Lösung war damals, das Image auf eine größere Karte zu spielen. Also eine 16GB statt 8GB. Bei Dir bleibt da: die Intenso nehmen, oder eine größere SD-Karte.

Seit dem nutze ich übrigens die Erweiterung der SD-Karte aus dem Raspi-Config nicht mehr, sondern mache es zu Fuß mit etwas Reserve am Ende der Karte. Wie ich schon schrieb: Das Raspbian ist nicht ausreichend an die SD-Kartenfunktionalität des Raspis angepasst.

Ansonsten gibt es noch weitere Möglichkeiten, die ich jetzt aber nicht aufzählen mag, da noch komplizierter. Z.B. Image auf einem anderen Raspi mounten und die Dateien 'zu Fuß' per Kartenleser auf die SD-Karte kopieren. Das habe ich einmal getan. Am besten macht man das über Nacht...

HaWe
22.05.2016, 15:28
zu den "Profis" im Raspberry Forum habe ich auch meine ganz spezielle Meinung.
Dass aber zwei 32GB Karten nicht aufeinander zu kopieren sind, finde ich schon seltsam, hätte nicht gedacht, dass es da derart schwerwiegende Imkompatibilitäten gibt.
Das Image "von Hand" ein paar Sektoren kleiner machen, geht also nicht?
bei 32GB wäre nämlich im Moment noch unglaublich viel Platz im SD-Speicher ohne Daten, also frei, diese Sektoren könnte man eigentlich komplett weglassen!

peterfido
22.05.2016, 16:49
Hallo,

da in den letzten Blöcken auch Daten liegen können, habe ich es nicht probiert zu verkleinern. Sehe da aber Probleme, da die FAT ja Einträge für Blöcke hinter dem letzten tatsächlichen Block hat. Es reicht also nicht, am Ende etwas abzutrennen. Wenn am Ende die Auslagerungspartition liegt, dann würde deren Eintrag bei den Partitionen ins Leere zeigen. Falls es klappen sollte, würde ich die SD-Karte als erstes neu partitionieren. Ob das Tool unter Linux dabei versucht, belegte Blöcke am Ende der Karte in freie Bereiche zu kopieren und dabei auf die Nase fällt, steht in den Sternen.

Evtl. klappt das, wenn man das Image mountet und die Verkleinerung am Image durchführt. Das könntest Du an einer Kopie ausprobieren. Evtl. geht das mit einem Linux in einer VM / von DVD gebootet schneller.

SD-Karten werden in der Größe mit Brutto-Kapazität angegeben. Da bescheißt jeder Hersteller anders. Dann werden evtl. noch defekte Blöcke ausgeblendet, so dass es auch bei vermeintlich gleichen SD-Karten zu unterschiedlichen Größen kommen kann. Das ist aber Stand der Technik, sonst wäre der Ausschuss zu hoch und die Preise würden steigen.

Der Diskimager, bzw. DD unter Linux sind eh etwas 'gefährliche' Tools. Ein 8GB Image auf einer 16 GB Karte täuscht sogar den Windows Datenträgermanager. Diese SD-Karte dann wieder voll einsetzen zu können geht dann unter Windows-Bordmitteln auch nur noch über die Konsole.

HaWe
22.05.2016, 16:55
Sehe da aber Probleme, da die FAT ja Einträge für Blöcke hinter dem letzten tatsächlichen Block hat.
das war mir allerdings nicht bewusst.
Mounten und die Daten dann einzeln auf 5 Partitionen neu zu schreiben ist schwierig.
Im neuen Jessie (2016-05-10) gibt es ein Tool, dass angeblich die "interne" SD im laufenden Betrieb auf eine SD im USB-Reader 1:1 samt aller Partitionen kopieren können soll, aber das klappt nicht, das Ergebnis ist fehlerhaft.
Ich hatte hier schon so einen Versuch gemacht, aber die Kopie blieb beim Booten mittendrin hängen.

Die 32er Toshiba kann ich dann wohl in die Tonne kloppen...

piggituX
22.05.2016, 19:23
nun ja, du könntest auch versuchen mit einem in deinem Augen nicht so tollen Linux-PC ein 1:1 Clone versuchen. ;-)

setzt aber voraus du hast nen Linux PC der 2 CardReader hat, sonst musst du den Weg über Image nehmen.

dd if=<32GB Intenso> of=<32GB Toshiba>

https://de.wikipedia.org/wiki/Dd_%28Unix%29
https://wiki.archlinux.de/title/Image-Erstellung_mit_dd

cYa

HaWe
22.05.2016, 20:01
hi,
wie du sicher schon fast vermutet haben wirst:
ich habe keinen Linux Rechner (werde ich auch nie besitzen), und ich kenn auch keinen, der sich mit sowas abgibt,
und das Problem ist ja, dass das Image auf der Intenso größer ist als auf die Toshiba draufpasst, was würde mir also einer nützen?
Auch hat die NOOBS Raspbian Karte ja 5 Partitionen, da kann man auch nicht einfach ein paar Files von hier nach da rüber kopieren.

Ceos
23.05.2016, 07:08
Ich hab das leidige Thema schon hinter mir ;D

du startest deinen RPI, dann folgende Befehle:


df --total -BM

in der letzten Zeile findest du die Größe die deine Partitionen auf deiner SD Karte verwendet sind, diese notierst du dir, wichtig die angabe "-BM" damit werden die Blöcke in 1024kByte also 1 MegaByte Blöcke gezählt ... das ist einfacher als 33445667 Bytes einzutippen später :D

falls deine Karte vollständig belegt sein sollte! also ~32000 Blöcke, und noch reichlich Platz darauf ist, müssen wir deine Partition verkleinern ... dazu kann ich leider nicht helfen, das habe ich nicht gemacht!

bei mir sind es stolze 5000 Blöcke also ~5GB

jetzt zum wichtigen Part! Wir verpassen deinem Windows den "dd" Befehl ohne Linux und Cygwin zu installieren

http://www.chrysocome.net/dd

dort findest du das dd-tool für windows!

leg es in einen Ordner und öffne dort eine CMD >>>als Administrator<<< sonst suchst du dich dusselig nach deiner SD Karte :D


jetzt führst du folgenden Befehl 2 mal aus, einmal MIT SD Karte udn einmal OHNE SD Karte


dd --list

in dem unteren Block solltest du irgendwo eine Veränderung zwischen beiden Befehlen bemerken, das ist deine SD Karte

bei mir z.B. "link to \\?\Device\Harddisk1\DR1"

und jetzt kopierst du das Image deiner SD in eine Datei aber nur so groß wie nötig! ich habe mal meine SD Bezeichnung als Beispiel gewählt, also \\?\Device\Harddisk1\DR1 Größe 5100 für etwas reserve!


dd bs=1M count=5100 if=\\?\Device\Harddisk1\DR1 of=backup.img --progress

HaWe
23.05.2016, 09:28
danke für den Tipp, das ist wirklich gut zu wissen, wenn mal alle Stränge reissen.
Ich habe jetzt zum Glück noch eine 2. Intenso Karte gefunden, da passt das Image von der 1. prima drauf.
Die Toshiba - naja, is halt Pech.

Ceos
23.05.2016, 10:24
ich würde sowieso grundsätzlich niemals die partition mit dem RPI tool automatisch voll aufpumpen lassen wenn ich der meinung bin ich müsste dieses Image nochmal kopieren, das würde ich maximal in einem "produktivsystem" machen wenn ich weis da änder ich nix dran, das wird eh so bleiben :D

wenn die Karte mal zu klein wird, kann ich dir gern mal einen kleinen script geben, aber der liegt zu Hause :( damit kannst du die partition immer um ein kleines stück vergrößern und dann auch das dateisystem erweitern

das problem beim verkleinern ist, ob daten in dem zu verkleinerenden bereich gespeichert sind, ich hab jetzt nur den befehl für expand to partition benutzt, keine ahnung ob es mit demselben befehl auch "intelligent" rückwärts geht

HaWe
23.05.2016, 12:12
danke für dein Angebot!
Das Dumme ist ja: wenn man Raspian neu per NOOBs installiert hat, sind da unglaublich viele Dinge noch zu ändern und zu ergänzen und nachzuinstallieren - bis das mal alles fertig ist, vergeht bei mir eine Woche, und dann sind immer noch ein paar Dinge nicht 100% so wie vorher.
Das ganze passiert ntl alles auf der SD, so wie sie grade im Pi drin steckt, auf der Basis dessen, was NOOBS eben vorsieht, vorpartitioniert und vorinstalliert.
Nun komme ich zum Einen schlecht dran, um sie mal schnell zu entfernen und zu kopieren, aber wenn, dann müsste ich eigentlich erwarten können, dass Win32DiskImager oder Roadkil's Disk Imager dann SD-Klone von jeder SD erstellen können.
Dass das nicht geht, weil ein grottiger Hersteller wie Toshiba seine 32GB SDs ein paar hundert Sektoren kleiner macht als Intenso, ist nun wirklich ein jämmerlicher Zustand.

Immerhin war es nicht Rapbian, das da irgendwas "aufgepumpt" hat, es sind halt leider 2 verschieden große 32 GB SDs, ärgerlich genug, dass es sowas gibt. Von den 32GB sind auch mit Sicherheit noch mindestens 16-20GB frei auf der Linux-Jessie-Partition.

Ceos
23.05.2016, 13:45
du wärst Überrascht, das gleiche gilt auch bei FEstplatten, die Größenangaben sind zwar 250GB aber keine FEstplatte gleicht der anderen! Darum sag ich ja, Partitionen für solche Aktionen nur so groß wie man sie unbedingt benötigt, ansonsten Haut man sich halt derbe ins Bein :) ODer man hat ein Produktivsystem bei dem es eh egal ist...

PS NOOBs Installation würde ich abraten, du hast ca. 1GB Müll auf deiner SD Karte rumliegen wenn du das machst! Ich würde immer gleich das saubere Jessy Image nehmen, einmal hingehen und Installieren was du aus dem Stand heraus brauchst, ca. 200MB Platz auf der Partition lassen und dann ein BASIS IMAGE anfertigen dass du dann imerm weider nach belieben neu einspielen kannst wenn du ein neues Projekt anfängst

HaWe
23.05.2016, 14:15
ich als Anfänger habe nun mal mit NOOBS angefangen, gerade auch wegen der Option, weitere Betriebssysteme optional wählen zu können. Und 1GB tun mir überhaupt nicht weh, wenn 8GB Mindestanforderung sind und ich 32GB habe. NOOBS oder nicht steht auch nicht zur Debatte, sondern einzig: wie kriege ich jederzeit ein 32GB Image von einer SD auf die andere.

Das wäre auch dann gleichzeitig mein Basis-Image für die Zukunft, ggf. inzwischen weiter geupdated.

Ceos
23.05.2016, 14:15
Kurzantwort: Mit Luft .... einfach nur Luft lassen nach oben um Fertigungsschwankungen auszugleichen :D

also das nächste mal nur 30GB groß machen ... das müsste vollends reichen

erinnert mich an die Zeiten mit 486 DX und 386er SX .. der SX ist ein DX nur war der Co-Prozessor bei der Fertigung kaputt gegangen, also schaltet man ihn einfach aus und nennt das TEil anders und verkauft es halt billiger ... besser als wegschmeißen

HaWe
23.05.2016, 14:35
ich habe ja darauf keinen Einfluss.
Die SD wird so, wie sie ist, von NOOBS erstellt, d.h. partitioniert, formatiert, und Linux installiert etc,
und das SD Image wird so wie es ist von Roadkil's oder WIN32DiskImager erstellt, auch da habe ich keinen Einfluss drauf.
Das Image ist dann eben so, wie es ist bzw. was die Tools draus machen.

Meine eigenen Daten werden dann eben einfach auf den Partitionen gespeichert, ohne was an der Partitions- oder SD-Größe noch zu ändern.

piggituX
23.05.2016, 15:58
dann nimm 8 GB /16 GB SCard als Vorlage bau fertig, mach ein Image draus und nehm dann das für die produktive 32 GB SCard.
kenne nun deine Anforderungen an die Grösse der SD Card nicht, aber 8/16GB muss man erstmal vollbekommen mit eigenen Daten.

cYa

HaWe
23.05.2016, 16:21
DAS macht allerdings überhaupt keinen Sinn.
Ich verwende doch meine 32er genau deswegen, damit ich auch später immer genug Speicher auch für eigene Zusatzdateien habe und immer in jede Richtung austauschen und neu klonen kann...:

Ich verwende die Clone
1.) auf einem 2. Pi, um ihn mit den neuesten Daten zu versorgen, mit denen ich unabhängig experimentieren kann, und
2.) ich brauche Clone ebenfalls, um sie notfalls gegen die aktuelle(n) autauschen zu können, falls die mal fehlerhaft sind (wie z.B. jetzt, als mir sudo su mein pi Passwort zerschossen hat, oder als das neue Jessie sich als inkompatibel zu meinen programmen herausgestellt hat).

Dann kommt die fehlerhafte raus, das Backup rein, dann wird auf die fehlerhafte wieder ein frischer Clone gezogen, und alles ist wieder gut.
Es werden aber ständig gleich große SD Karten gebraucht, damit jederzeit in jeder Richtung SDs geklont werden können

nein:
Die Lösung kann nur heißen: völlig kompatible SDs verwenden, und das mache ich jetzt.
Schade um die Toshiba SD, die leider etwas kleiner ist als die Intensos.

Oder es gäbe Tools, die Images mit mehreren Partitionen ohne großes Gedöns selbstständig etwas verkleinern können. Die sehe ich aber noch nicht.

RoboHolIC
23.05.2016, 17:03
Oder es gäbe Tools, die Images mit mehreren Partitionen ohne großes Gedöns selbstständig etwas verkleinern können. Die sehe ich aber noch nicht.
Die Google-Suche mit partition verkleinern tool liefert reichlich Ergebnisse. Ob das deiner Anforderung an den gesamten Datenträger bzw. dessen Image entspricht, kann ich nicht beurteilen. Vielleicht kann man aber erst die Partitionen schrumpfen und davon dann das Master-Image erzeugen.

HaWe
23.05.2016, 17:44
das ist schon deswegen für mich schwer zu beurteilen, weil Windows ja gar keine Linux-Pertitionen anzeigt und ich das Ergebnis des Schrumpfens möglicherweise erst dann kenne, wenn es zu spät ist: wenn nämlich das vermeintlich korrekt geschrumpfe Image defekt ist und schlimmstenfalls der Pi damit gar nicht bootet.
Eigene Erfahrung mit solchen Tools wäre auch nicht schlecht, um es andere weiter zu empfehlen.
Wenn es aber so ein Raspi.org- und NOOBS-zertifiziertes Tool gibt: bitte einen Link!

piggituX
23.05.2016, 18:13
gibts in verschiedenen Ausprägungen.

http://gparted.org/index.php

cYa

HaWe
23.05.2016, 18:16
hast du das mal selber mit einem NOOBS-Image getestet, oder kennst du Raspi-Nutzer, die damit Erfahrung haben?

piggituX
23.05.2016, 18:37
nope, ich nutze kein Noobs,

ich nutze Jessie Images. aber Noobs ist auch nur nen Linux, und nein ich kenne keinen anderen RPi Nutzer mit Noobs

gparted nutze ich aber bei normalen PCs, dabei ist es egal ob Linux oder Windows, bisher hatte ich nie Probleme. Da ich aber aus der Automatisierungs Ecke komme (System + Service Management) ist es einfacher für mich ein System schneller wieder auf zusetzen als ewig daran rumzufummeln ;-).... so halte ich das mit meinen RPis und sonstigen ARM Systemen auch.
Wenn die Basis passt ist der Rest keine Raketen-Technologie.

GParted ist nur ein weiterer Weg, theoretisch hatte Ceos mit DD für Windows auch schon einen Ansatz geliefert. und man kann geparted als Live CD am normalen PC starten und sollte darüber auch Zugriff auf ne SDCARD im Kartenleser bekommen (aber ungetestet von mir)

HaWe
23.05.2016, 18:51
Da weißt du sicher, dass der Unterschied zumindest ist, dass NOOBS 5 Partitionen auf der SD erstellt, u.a. eine FAT32 und eine Linux (Jessie) plus 3 weitere, aber eine normale Jessie Installation nur 2 Partitionen hat.
Bei 2en kann ich mir (laienhaft) vorstellen, dass das Einschrumpfen des Gesamt-SD-Images noch einigermaßen überschaubar ist, aber bei 5 Partitionen überschaue ich nicht mehr, ob man durch so ein Tool dann noch ein fehlerfreies NOOBS-Image herausbekommt. Weiß man z.B., ob Jessie am Ende liegt oder in der Mitte? Wenn man am Ende etwas wegknappst, könnte das z.B. dann eine der 3 anderen Partitionen beschädigen? Ich kann das nicht beurteilen, du sicher eher, aber dazu müsste man die Sache sicher mit einem NOOBs Image mehrfach getestet haben, mit verschieden großen Quell-und Ziel SDs.
Wenn es daher verlässliche Tests gibt, die man nachlesen kann, würde ich es sicher auch gern einmal damit versuchen, insb. wenn ich keine Wahl habe weil 2 SDs gleichzeitig kaputt sind. Als Sicherheits-Backup ist mir ein ungeprüftes Tool allerdings, ehrlich gesagt, zu riskant. Trotzdem danke, ich werde darauf zurückkommen, wenn es mal wirklich brennt. Die Windows-dd Methode ist mir allerdings zugegebenermaßen auch ein wenig zu kompliziert, u.a. auch wegen der insg. 5 Partitionen.

peterfido
23.05.2016, 20:52
Hallo,

es geht hier um wenige Zig bis Hunderte MB. Die würde ich nur von der letzten Partition abknapsen. Allerdings reden wir hier von SD-Karten. Wenn die ähnlich wie SSDs arbeiten, dann könnten weitere Probleme auftauchen. Evtl. könnte ein Tool wie Partition Magic die Partitionen verkleinern. Das passt dann auch die FATs und weitere nötige Dinge an.

HaWe
23.05.2016, 22:31
genau!!
DAS wäre perfekt!

leider erkennt Partition Magic selber keine SD Partitionen, noch nicht mal SDs! :(

Ceos
24.05.2016, 07:02
@RoboHolIC (https://www.roboternetz.de/community/members/41978-RoboHolIC) schön dass die auf dein Suchverhalten angepasste Google Suche dir bei den angegebenen, sehr unspezifischen Suchbegriffen ein Top Ergebnis liefert was perfekt auf diese Frage passt, aber wie wäre es, wenn du statt dieser WEisheiten auch einen Link teilst ? :)

@HaWe (https://www.roboternetz.de/community/members/64681-HaWe) es ging bei der Idee mit 8GB als Image nur darum ein Master-Image zu haben, mit dem Befehl "raspi-config" kannst du dann vollautomatisch die Partition vergrößern lassen, da ist extra ein Menüpunkt "Expand Image to SD Card" .. aber so sparst du 1tens Platz mit dem Image selber und 2tens passt es unter garantie auch auf eine 32GB Karte :D

Mit dem zusätzlichen Partitionen hast du nicht unrecht, es ist sowas wie die Recovery Partition bei Vorinstallierten Windoof Rechnern ... wenn ud mit dem Noobs Image bootest und einen verdammt schnellen HDMI Monitor hast, kannst du am Anfang sogar den Boot to Recovery Screen erhaschen

@piggituX (https://www.roboternetz.de/community/members/47593-piggituX) danke für den Tipp, wusste garnicht dass es das gparted auch für Windoof gibt ... naja wo es schon dd für windoof gibt war das eigentlich schon fast zu erwarten ;D ... ich bin mit Jessi Lite ja leider auf Konsole beschränkt, da ist das mit der Partitionsverwaltung so ne sache ... und soweit ich wies kann gparted im GUI mode auch die eigene Systempartition nicht verkleinern, da muss man auch shcon in die Trickkiste greifen!

@peterfido (https://www.roboternetz.de/community/members/28466-peterfido) genau das ist das was ich gemeint hatte, wenn im hintern Segment schon Daten liegen wird das mit dem verkleinern hässlich... gparted MÜSSTE aber intellent genug sein die Daten an den Anfang zu kopieren ... nur eben nicht wenn das System gerade von dieser Partition aus arbeitet, da braucht es dann Trick17 oder ein externer Computer mit gparted

HaWe
24.05.2016, 08:18
mit dem Befehl "raspi-config" kannst du dann vollautomatisch die Partition vergrößern lassen, da ist extra ein Menüpunkt "Expand Image to SD Card" .. aber so sparst du 1tens Platz mit dem Image selber und 2tens passt es unter garantie auch auf eine 32GB Karte

aha!! DAS war neu für mich, dass man das mit Raspi-Config expandieren kann! Super, dann gibt es ja doch noch eine Chance für die "kleine" Toshiba!

piggituX
24.05.2016, 08:47
@Ceos , sagen wir so ich nutze nur die Live ISO, bin mir nicht sicher ob es ein GUI unter Windows gibt, hab ich noch nicht probiert, gerade wenn man an der System partition (boot Partition) fummelt ist das nicht gut :D

cYa