ubuntuusers.de

Reparatur eines Images einer microSDHC

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

Umaash

Anmeldungsdatum:
7. Juni 2016

Beiträge: 123

Hallo zusammen

Bei meinem alten EBook-Reader war die interne sd nicht mehr beschreibbar. Das heisst, ich konnte keine EBooks mehr löschen und auch keine neuen EBooks mehr auf die SD kopieren. Ich konnte aber den EBook-Reader starten und einige pdf Bücher auch lesen. EPUB Bücher hingegen nicht.

Nun wollte ich diese alte ca. 4 GB sd durch eine andere 32 GB sd ersetzten. Natürlich möchte ich dann die ganzen 32 GB ausnutzen können, obwohl die alte sd ja nur 4 GB hatte.

Um es vorneweg zu nehmen:
Ich habe ein Image von der alten sd gemacht (dd) und dieses Image auf die neue sd geschrieben und zusätzlich in einer Datei die Seriennummer der neuen sd eingetragen.

Ich war weitgehend erfolgreich.
Das heisst der EBook-Reader startete mit der neuen 32 GB sd und es hat mir auch 32 GB Speicher angezeigt. Und es war auch möglich den EBook-Reader mit dem WLAN zu verbinden und ein Software Update zu machen.
Nun konnte ich sogar auch die EPUB-Bücher wieder lesen. Und ich konnte Bücher löschen und neue hinzufügen.

Aber ...
Nachdem ich die die neue 32 GB sd Karte wieder aus dem Reader entfernt hatte und diesen direkt via USB mit dem PC verbunden habe, habe ich folgendes festgestellt:
A) Wenn ich die sd Karte direkt via USB-Kabel an einen WINDOWS-PC angeschlossen habe, dann brauchte er lange, bis er mir das Laufwerk wo die Bücher gespeichert sind im Explorer anzeigte. Lange heisst ca. 30-60 Sekunden.

B) Wenn ich die sd Karte via USB in einen Linux PC stecke und mit dem Befehl "TestDisk" teste, dann findet "TestDisk" diverse Fehler. Sind diese Fehler, die TestDisk mir anzeigt vielleicht der Grund, weshalb der Windows PC so lange braucht um die Partition mit den Büchern anzuzeigen? Ich habe die Log von TestDisk noch, aber die ist nicht mehr relevant, weil ich inzwischen die 32 GB sd aus versehen gelöscht habe.

C) Wenn die sd Karte via USB in meinem Linux PC steckt und ich GParted starte, dann kommt die folgende Fehlermeldung:
Libparted-Fehler: Es können keine überlappenden Partitionen existieren.

Soweit die kurze Einleitung bzw. das Setting.

Da ich die 32 GB sd inzwischen aus Versehen gelöscht habe, bezieht sich alles auf das folgende Image, das ich, wenn es funktioniert, auf die 32 GB sd übertragen werde.

Ich denke es ist am besten, wenn ich vorerst nur mit diesem Image arbeite.
Ich möchte also dieses Image fehlerfrei kriegen. TestDisk soll also keine Fehler mehr finden und erst danach will ich dieses Image wieder auf die 32 GB sd übertragen.

Das Image sieht folgendermassen aus:

Erhalten mit folgendem Befehl:

sudo fdisk "~/nach_Update_und_Speichergroessenanpassung.img"
Befehl (m für Hilfe): p
Festplatte ~/nach_Update_und_Speichergroessenanpassung.img: 29.72 GiB, 31914983424 Bytes, 62333952 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x00000000

Gerät                                                         Boot  Anfang     Ende Sektoren  Größe Kn Typ
~/nach_Update_und_Speichergroessenanpassung.img1       1011712 62333951 61322240  29.2G  b W95 FAT32
~/nach_Update_und_Speichergroessenanpassung.img2  *      73728   139263    65536    32M  6 FAT16
~/nach_Update_und_Speichergroessenanpassung.img3             1  1009664  1009664   493M 85 Linux erweitert
~/nach_Update_und_Speichergroessenanpassung.img5        139264   172031    32768    16M 83 Linux
~/nach_Update_und_Speichergroessenanpassung.img6        172032   204799    32768    16M 83 Linux
~/nach_Update_und_Speichergroessenanpassung.img7        204800   275455    70656  34.5M 83 Linux
~/nach_Update_und_Speichergroessenanpassung.img8        275456   776191   500736 244.5M 83 Linux
~/nach_Update_und_Speichergroessenanpassung.img9        776192   976895   200704    98M 83 Linux
~/nach_Update_und_Speichergroessenanpassung.img10       976896  1009663    32768    16M 83 Linux

Partitionstabelleneinträge sind nicht in Festplatten-Reihenfolge.

– img1 ist die user-Partition, wo unter anderem die Bücher drauf sind. Bei dieser Partition habe ich den Anfang und das Ende verändert mit "sudo fdisk". (Wenn ihr sehen wollt, wie es im Origianl war, dann könnt ihr zuunterst schauen, dort sieht man nämlich die Origianl 4 GB sd.)
– img2 ist die Boot Partition.
– img7 ist die root Partition (mit /etc, linux userland)
– img8 ist ebrmain (es enthält cramfs.img wo EBook Programme drauf sind z.B. monitor.app)
– img9 ist die "secure" partition, die im EBook als /mnt/secure gemountet wird.

Ein paar Bemerkungen:
– Ich habe in img9 die Datei .freezestatu umbenannt. Denn diese Datei enthält die Seriennummer der alten 4 GB sd. Dann habe ich die .freezestatu mit der richtigen Seriennummer eingefügt. Das war notwendig, damit das EBook auch mit der neuen internen 32 GB sd Karte startet.

– In diesem Image ist das Update, das ich mit dem EBook via WLAN gemacht habe auch schon enthalten. Ist also auf dem neusten Stand.
– Eigentlich wollte ich auf der Partition img1 als Anfang 10009665 wählen. Ich war zu wenig aufmerksam und ging davon aus, dass er das sowieso als Standard wählen würde und habe deshalb in "fdisk" nur Enter gedrückt. Was dann zu 1011712 als Anfang führte.
Leider weiss ich nicht, ob ich die Erweiterung der Partition auf 61322240 richtig gemacht habe. Ich habe das auch innerhalb von fdisk gemacht: Löschen der Partition 1, Anfang und Ende definiert. Und nach Abschluss von fdisk die Partition 1 neu formatiert. Dann die vorher gesicherten Daten von Partition 1 mit Ctrl+C und Ctrl+V wieder in die Partition 1 eingefügt.

So und nun folgt der Fehlerbericht (testdisk.log) von ~/nach_Update_und_Speichergroessenanpassung.img von TestDisk:

Using locale 'de_CH.UTF-8'.


Fri Aug  2 16:43:30 2024
Command line: TestDisk ~/nach_Update_und_Speichergroessenanpassung.img /log

TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
OS: Linux, kernel 6.5.11-4-liquorix-amd64 (#1 ZEN SMP PREEMPT liquorix 6.5-17~mx23ahs (2023-11-19)) x86_64
Compiler: GCC 12.2
ext2fs lib: 1.47.0, ntfs lib: libntfs-3g, reiserfs lib: none, ewf lib: none, curses lib: ncurses 6.3
Hard disk list
Disk ~/nach_Update_und_Speichergroessenanpassung.img - 31 GB / 29 GiB - CHS 3881 255 63, sector size=512

Partition table type (auto): Intel
Geometry from i386 MBR: head=64 sector=32
Disk ~/nach_Update_und_Speichergroessenanpassung.img - 31 GB / 29 GiB
Partition table type: Intel

Analyse Disk ~/nach_Update_und_Speichergroessenanpassung.img - 31 GB / 29 GiB - CHS 30437 64 32
Geometry from i386 MBR: head=64 sector=32
set_FAT_info: name from BS used
BAD_RS LBA=73728 18446744073709551615
heads/cylinder 0 (FAT) != 64 (HD)
sect/track 0 (FAT) != 32 (HD)
BAD_RS LBA=1 18446744073709551615
BAD_RS LBA=139264 18446744073709551615
check_part_i386 failed for partition type 83
BAD_RS LBA=2 18446744073709551615
BAD_RS LBA=172032 18446744073709551615
check_part_i386 failed for partition type 83
BAD_RS LBA=3 18446744073709551615
BAD_RS LBA=204800 18446744073709551615
BAD_RS LBA=4 18446744073709551615
BAD_RS LBA=275456 18446744073709551615
BAD_RS LBA=5 18446744073709551615
BAD_RS LBA=776192 18446744073709551615
BAD_RS LBA=6 18446744073709551615
BAD_RS LBA=976896 18446744073709551615
BAD_RS LBA=7 18446744073709551615
get_geometry_from_list_part_aux head=64 nbr=12
get_geometry_from_list_part_aux head=8 nbr=16
get_geometry_from_list_part_aux head=16 nbr=16
get_geometry_from_list_part_aux head=32 nbr=16
get_geometry_from_list_part_aux head=64 nbr=12
get_geometry_from_list_part_aux head=128 nbr=8
Current partition structure:
 1 P FAT32                  494   0  1 30436  31 32   61322240 [NO NAME]
Warning: number of heads/cylinder mismatches 0 (FAT) != 64 (HD)
Warning: number of sectors per track mismatches 0 (FAT) != 32 (HD)
 2 * FAT16 >32M              36   0  1    67  63 32      65536

Warning: Bad starting sector (CHS and LBA don't match)
 3 E Linux extended           0   0  2   493   0  1    1009664

Warning: Bad starting sector (CHS and LBA don't match)
Space conflict between the following two partitions
 3 E Linux extended           0   0  2   493   0  1    1009664
 2 * FAT16 >32M              36   0  1    67  63 32      65536
No ext2, JFS, Reiser, cramfs or XFS marker
 5 L Linux                   68   0  1    83  63 32      32768
 5 L Linux                   68   0  1    83  63 32      32768

Warning: Bad starting sector (CHS and LBA don't match)
   X Linux extended           0   0  3  3707   0  2    7591936

Warning: Bad starting sector (CHS and LBA don't match)
Must be in extended partition
 3 E Linux extended           0   0  2   493   0  1    1009664
   X Linux extended           0   0  3  3707   0  2    7591936
No ext2, JFS, Reiser, cramfs or XFS marker
 6 L Linux                   84   0  1    99  63 32      32768
 6 L Linux                   84   0  1    99  63 32      32768

Warning: Bad starting sector (CHS and LBA don't match)
   X Linux extended           0   0  4  3691   0  3    7559168

Warning: Bad starting sector (CHS and LBA don't match)
Must be in extended partition
 3 E Linux extended           0   0  2   493   0  1    1009664
   X Linux extended           0   0  4  3691   0  3    7559168
 7 L Linux                  100   0  1   134  31 32      70656

Warning: Bad starting sector (CHS and LBA don't match)
   X Linux extended           0   0  5  3656  32  4    7488512

Warning: Bad starting sector (CHS and LBA don't match)
Must be in extended partition
 3 E Linux extended           0   0  2   493   0  1    1009664
   X Linux extended           0   0  5  3656  32  4    7488512
 8 L Linux                  134  32  1   378  63 32     500736

Warning: Bad starting sector (CHS and LBA don't match)
   X Linux extended           0   0  6  3412   0  5    6987776

Warning: Bad starting sector (CHS and LBA don't match)
Must be in extended partition
 3 E Linux extended           0   0  2   493   0  1    1009664
   X Linux extended           0   0  6  3412   0  5    6987776
 9 L Linux                  379   0  1   476  63 32     200704

Warning: Bad starting sector (CHS and LBA don't match)
   X Linux extended           0   0  7  3314   0  6    6787072

Warning: Bad starting sector (CHS and LBA don't match)
Must be in extended partition
 3 E Linux extended           0   0  2   493   0  1    1009664
   X Linux extended           0   0  7  3314   0  6    6787072
10 L Linux                  477   0  1   492  63 32      32768 [Compressed]

Warning: Bad starting sector (CHS and LBA don't match)
   X Linux extended           0   0  8  3298   0  7    6754304

Warning: Bad starting sector (CHS and LBA don't match)
Must be in extended partition
 3 E Linux extended           0   0  2   493   0  1    1009664
   X Linux extended           0   0  8  3298   0  7    6754304

test_logical: 
Partition sector doesn't have the endmark 0xAA55

search_part()
Disk ~/nach_Update_und_Speichergroessenanpassung.img - 31 GB / 29 GiB - CHS 30437 64 32
heads/cylinder 128 (FAT) != 64 (HD)
sect/track 63 (FAT) != 32 (HD)
set_FAT_info: name from BS used
FAT: cluster=2(0x2), pos=16384
     FAT32 LBA                4   0  1  3790  63 32    7755776 [NO NAME]
     FAT32, blocksize=32768, 3970 MB / 3787 MiB
get_geometry_from_list_part_aux head=64 nbr=2
get_geometry_from_list_part_aux head=8 nbr=2
get_geometry_from_list_part_aux head=16 nbr=2
get_geometry_from_list_part_aux head=32 nbr=2
get_geometry_from_list_part_aux head=64 nbr=2
get_geometry_from_list_part_aux head=128 nbr=1
get_geometry_from_list_part_aux head=255 nbr=1

interface_write()
 1 * FAT32 LBA                4   0  1  3790  63 32    7755776 [NO NAME]
simulate write!
No extended partition

TestDisk exited normally.

Fragen:
1. Zeigt der Bericht irgendetwas, das nicht in Ordnung ist?
2. Wie kann ich also jetzt dieses Image reparieren? Muss es überhaupt repariert werden?
3. Wenn nein, weshalb habe ich dann diese Warnungen von testdisk und wieso habe ich diese Meldung von GParted und weshalb dauert es im Windows PC so lange, bis es mir die Partition 1 anzeigt, wenn ich die sd direkt ohne EBook via USB am Windows PC anschliesse?

Ich hoffe ich war nicht zu ausführlich.

Hilfe würde mich freuen.
Besten Dank.


Zusatz:
So sieht die alte defekte Original-ca. 4GB-sd aus:

Gerät      Boot  Anfang    Ende Sektoren  Größe Kn Typ
/dev/sdf1       1009664 7763967  6754304   3.2G  b W95 FAT32
/dev/sdf2  *      73728  139263    65536    32M  6 FAT16
/dev/sdf3             1 1009664  1009664   493M 85 Linux erweitert
/dev/sdf5        139264  172031    32768    16M 83 Linux
/dev/sdf6        172032  204799    32768    16M 83 Linux
/dev/sdf7        204800  275455    70656  34.5M 83 Linux
/dev/sdf8        275456  776191   500736 244.5M 83 Linux
/dev/sdf9        776192  976895   200704    98M 83 Linux
/dev/sdf10       976896 1009663    32768    16M 83 Linux

Was verwirrend ist, ist das sich der Anfang von sdf1 mit dem Schluss von sdf3 überlappt.
Ausserdem verstehe ich nicht, wieso der Bereich 1-1009664 doppelt besetzt ist. Nämlich mit sdf3 und sdf 5-10.

Wenn ich GParted starte während diese alte sd via USB direkt eingesteckt ist, dann kommt folgende Meldung in GParted:
Libparted-Fehler: Es können keine überlappenden Partitionen existieren.

Ist das wegen dieser Überlappung von sdf1-Anfang mit sdf3-Ende?
Oder ist das wegen der Überlappung von sdf3 mit sdf5 bis sdf10?

Auch als ich GParted starten wollte während ich die neue 32 GB sd via USB direkt eingesteckt hatte, kam dies Meldung.

TPf

Anmeldungsdatum:
22. August 2010

Beiträge: 10

Hallo Umaash,

du warst nicht zu ausführlich. Genauso wünsche ich mir eine Problembeschreibung. Nachfolgend meine Gedanken dazu, die hoffentlich weiterhelfen.

Die Partitionen sdf1, sdf2 und sdf3 sollten sich auf keinen Fall überlappen. Mein erster Schritt wäre, das aufzulösen.

Allerdings ist die Überlappung von sdf3 mit sdf5 - sdf10 richtig, da sdf3 der erweiterte Bereich ist, welcher die Partitionen sdf5 - sdf10 enthält.

Für mich sieht es so aus, als sollte die Partition sdf3 mit 139264 beginnen und auf 1009663 enden. Damit gäbe es keine Überlappungen mehr und die Partitionen sdf5 - sdf10 passten genau hinein.

Da nur der erweiterte Bereich falsch ist, der ja im normalen Betrieb nicht angesprochen wird, und es bei allen anderen Partitionen keine Überlappungen gibt, hat deine 32 GB-Karte funktioniert. Nur ein Test der Struktur offenbart die falsche Konfiguration von Partition sdf3.

Viele Grüße, Thomas

Antworten |