Aus einer Sd karte das letzte herausholen?

... komplette Frage anzeigen

6 Antworten

hast du wirklich versucht das ISO auch als solches (nicht als Datei) auf den Stick zu bringen?

8GB sind dezimal doch 7,81 gByte und nicht nur 7,4 . Die Differenz erklärt sich aus benötigten Platz für das Filesystem.
Das ISO als ISO kopiert, benötigt aber dafür keinen Platz.

Kopiere unter Linux mit dd

dd if=<Pfad+Name-des-ISO> of=/dev/sdX 

(dabei ist X ein Buchstabe , z.B. b, c d ... ) Eine Zahl wie bei sdb1 darf da nicht dabei sein! dd würde dann auf eine Partition  kopieren, womit der Vorteil (auch für die Partitionstabelle sind Daten erforderlich) wieder weg ist.

Wenn das eine ISO-Datei für ein Betriebssystem ist, dann sollte man von dem so präparierten Stick booten können.
Aber auch als Archiv kann man das nutzen. Um die Dateien wieder zu lesen braucht man nur den Stick mounten aber mit

mount -o loop /dev/sdX /mnt

unter /mnt findet man dann den gesamten Inhalt der ISO-Datei.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jaswf
24.09.2016, 09:06

danke für die antwort! habe aber leider nur macOs und windows zur verfügung

1
Kommentar von NoHumanBeing
24.09.2016, 15:56

Der Fragesteller sagt, dass es sich um eine SD-Karte handelt, folglich heißt das entsprechende Gerät wohl /dev/mmcblkN (wahrscheinlich /dev/mmcblk0), nicht /dev/sdX.

mount -o loop /dev/sdX /mnt

Wozu wird hier die Option -o loop benötigt? Damit ließe sich die ISO direkt mounten (dann aber Pfad zur ISO angeben statt /dev/sdX). Da /dev/sdX (eigentlich /dev/mmcblkN) aber bereits ein Blockdevice ist, sollte man doch eigentlich kein Loop-Device mehr benötigen.

Das Mounten wird außerdem nicht klappen, wenn das Image einen Bootsektor, eine Partitionstabelle oder sonstetwas "neben" dem eigentlichen Dateisystem enthält, was bei bootfähigen Images immer der Fall sein wird.

Dafür müsste man dann die entsprechenden Partitionen jeweils einzeln mounten (also /dev/sdX1, /dev/sdX2, ... bzw. /dev/mmcblk0p1, /dev/mmcblk0p2, ...).

Oder, falls man direkt aus dem Image einbinden möchte, zunächst mittels ...

kpartx -av image.iso

... zunächst einmal die entsprechenden Loopdevices für die Partitionen erstellen und diese (/dev/mapper/loop0p1, /dev/mapper/loop0p2, ...) dann einbinden.

Und wenn man fertig ist und wieder alles ausgehängt (unmounted) hat, anschließend mittels ...

kpartx -d image.iso

... die Loopdevices wieder entfernen.

0

Du kannst versuchen die Datei mit winrar/winzip etwas kleiner zu bekommen - hierbei bei "Kompression" "beste" wählen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jaswf
23.09.2016, 23:28

aber die datei habe ich doch gerade erst mit winRAR entpackt :D vorher war sie 1gb groß... (kann man Iso dateien denn überhaupt wieder verkleinern?)

1

Du kannst höchstens ein ganz klein wenig mehr verfügbaren Platz schaffen, indem du ein anderes Dateisystem versuchst. Viel bringt das aber nicht ... aber 0.01 Gb könnte das bringen.

Sonst kannst du nur die ISO in enen Ordner auf der Festplatte "entpacken". Das geht zum Beispiel mit Totalcommander (mit einem Plug-in). Dann kannst du den Inhalt der ISO "optimieren". Du entfernst zum Beispiel unnütze Bilder und andere Sachen, die du nicht brauchst. Dann machst du eine neue ISO daraus und die installierst du dann zum Beispiel mit Yumi auf die SD Karte. 

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von NoHumanBeing
24.09.2016, 00:16

Das mit dem "Entpacken" einer ISO-Datei funktioniert nur, wenn die ISO-Datei tatsächlich, wie der Name besagt, ein ISO9660-Dateisystem beinhaltet.

Die Endung ".iso" wird aber inzwischen für alle möglichen Datenträgerabbilder (insbesondere für optische Datenträger) verwendet, wo auch andere Dateisysteme, wie UDF oder gar FAT, Ext2/3/4, etc. zum Einsatz kommen können. Ich bezweifle, dass die meisten Archivprogramme all diese Dateisysteme unterstützen werden.

Zudem kann ein Laufwerksabbild natürlich auch einen Bootsektor, eine Partitionstabelle, sowie mehrere Partitionen beinhalten. So wird das Abbild einer Linux-Distribution in der Regel einen Bootsektor, eine Bootpartition (für Bootloader, Kernel und Initrd) und eine Rootpartition (für das übrige Betriebssystem) beinhalten. Wie sollte ein Archivprogramm das jemals vernünftig "entpacken" und vor allem, wie sollte man das jemals (inklusive der richtigen Struktur, den entsprechenden, systemspezifischen Dateisystemen, korrekten POSIX-Rechten, etc.) wieder zu einer ISO zusammenfassen können?

Ich kann bereits jetzt sagen, dass das so in aller Regel nicht funktionieren wird.

1

Möchtest Du die Datei dort drauflegen oder das Laufwerksabbild/Image auf die Karte schreiben, sodass diese bootfähig wird?

Zu Fall 1:

Du würdest selbst die formatierte Nennkapazität nicht vollständig nutzen können, schließlich benötigt das Dateisystem für seine Datenstrukturen auch noch Platz.

Unter Linux kannst Du das Laufwerk selbst formatieren ("mkfs /dev/mmcblk0") anstatt die darauf befindliche Partition ("mkfs /dev/mmcblk0p1"), was Dir eine geringfügig höhere nutzbare Kapazität gibt, aber das wird dennoch nicht ausreichen.

Zu Fall 2:

Hierfür benötigst Du spezielle Tools, unter Windows sowas, wie win32diskimager, unter Linux entweder ein grafisches Tool wie GNOME Disks oder das Kommandozeilentool dd. Da diese Tools ohnehin blockweise schreiben, hast Du keinerlei Overhead (durch ein Dateisystem o. ä.). Wenn das Image nicht auf die Karte passt, ist sie wirklich zu klein.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jaswf
23.09.2016, 23:26

ich habe s bereits mir win32diskmanager probiert, also von anfang an (damit sie bootfähig ist) aber win32 sagt die datei sei zu gross

1
Kommentar von jaswf
24.09.2016, 09:07

ja, ich möcvte ubuntu mate 16.4 auf den raspberry pi 3 flashen:)

1

Wenn du ein Linux-OS  auf deinem PC installiert hast dann installiere dir K3b als Brennprogramm,da kann man in den Einstellungen...überbrennen...einstellen,dann müsste deine Datei noch draufpassen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jaswf
23.09.2016, 23:27

habe leider nur macOs und windows

1
Kommentar von NoHumanBeing
23.09.2016, 23:35

Hier geht es um eine SD-Karte, nicht um ein optisches Medium.

1

Kannst du knicken... Der Hersteller rechnet 1kByte = 1000 Byte, das Betriebssystem rechnet richtigerweise mit 1kByte = 1024 Byte. Das zieht sich dann weiter, so dass dir wirklich nur die vom Betriebssystem angezeigte Kapazität zur Verfügung steht.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von jaswf
23.09.2016, 23:29

schade

1
Kommentar von guenterhalt
24.09.2016, 11:18

das ist zwar richtig, nicht aber die Schreibweise.

k = Kilo = 1000

K = ? = 1024

Es müsste also:

"das Betriebssystem rechnet richtigerweise mit 1KByte = 1024 Byte. "

heißen.

1