defekte SD-Karte

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

defekte SD-Karte

Beitrag von letzter3 » 25.02.2015 17:48:35

Hallo zusammen,

man hat mir eine defekte SD-Karte eines RasPi gegeben, um dort enthaltene Daten zu sichern.

Um diese hier geht es.
sde1 ist wohl ein FAT, sde2 btrf

Code: Alles auswählen

[root@wuerfel ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sde      8:64   1   7,5G  0 disk 
├─sde1   8:65   1    56M  0 part 
└─sde2   8:66   1   7,5G  0 part 
Ein Image der kompletten sde erstellt (der break in Daten ein->Daten aus kommt durch eine Fortschrittsanzeige):

Code: Alles auswählen

dd if=/dev/sde of=/home/letzter/raspi.img
4124385+0 Datensätze ein
4124384+0 Datensätze aus
2111684608 Bytes (2,1 GB) kopiert, 110,096 s, 19,2 MB/s
15767552+0 Datensätze ein
15767552+0 Datensätze aus
8072986624 Bytes (8,1 GB) kopiert, 421,767 s, 19,1 MB/s
Versucht, das image zu mounten:

Code: Alles auswählen

[root@wuerfel ~]# mkdir /tmp/raspi
[root@wuerfel ~]# mount /home/letzter/raspi.img /tmp/raspi
mount: /dev/loop0 ist schreibgeschützt, wird eingehängt im Nur-Lese-Modus
mount: Falscher Dateisystemtyp, ungültige Optionen, der
Superblock von /dev/loop0 ist beschädigt, fehlende
Kodierungsseite oder ein anderer Fehler
Hmmm, wie komme ich an die Daten?

DeletedUserReAsG

Re: defekte SD-Karte

Beitrag von DeletedUserReAsG » 25.02.2015 17:52:24

Dir geht’s um die Daten auf der zweiten Partition? Dann musst du mount einen Offset mitgeben. Mit z.B. fdisk kann man schauen, wo die Partition anfängt. Gegebenenfalls müssen die Einheiten umgerechnet werden. Oder du liest die Partitionen mit dd gleich einzeln ein, dann kannst du dir das sparen.

Der Threadtitel ist irreführend, btw.. Die Karte ist ja offensichtlich nicht defekt.

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 25.02.2015 19:27:36

niemand hat geschrieben:Dir geht’s um die Daten auf der zweiten Partition?
Ja.
niemand hat geschrieben: Oder du liest die Partitionen mit dd gleich einzeln ein, dann kannst du dir das sparen.
Leider auch nicht besser:

Code: Alles auswählen

[root@wuerfel ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
...
sde      8:64   1   7,5G  0 disk 
├─sde1   8:65   1    56M  0 part 
└─sde2   8:66   1   7,5G  0 part 

[root@wuerfel ~]# dd if=/dev/sde2 of=/home/letzter/raspi2.img bs=4k
1955584+0 Datensätze ein
1955584+0 Datensätze aus
8010072064 Bytes (8,0 GB) kopiert, 418,514 s, 19,1 MB/s

[root@wuerfel ~]# mkdir /tmp/raspi2
[root@wuerfel ~]# mount -o loop /home/letzter/raspi2.img /tmp/raspi2
mount: /dev/loop0 ist schreibgeschützt, wird eingehängt im Nur-Lese-Modus
mount: Falscher Dateisystemtyp, ungültige Optionen, der
Superblock von /dev/loop0 ist beschädigt, fehlende
Kodierungsseite oder ein anderer Fehler

       Manchmal liefert das Systemprotokoll wertvolle Informationen –
       versuchen Sie  dmesg | tail  oder ähnlich
dmesg:

Code: Alles auswählen

[
...
97691.218969] sde: detected capacity change from 0 to 8072986624
[97691.220268]  sde: sde1 sde2
[97709.368712] sd 6:0:0:2: [sde] Unhandled sense code
[97709.368719] sd 6:0:0:2: [sde]  
[97709.368722] Result: hostbyte=DID_ERROR driverbyte=DRIVER_SENSE
[97709.368725] sd 6:0:0:2: [sde]  
[97709.368728] Sense Key : Hardware Error [current] 
[97709.368733] sd 6:0:0:2: [sde]  
[97709.368735] Add. Sense: No additional sense information
[97709.368738] sd 6:0:0:2: [sde] CDB: 
[97709.368740] Read(10): 28 00 00 01 e0 00 00 00 08 00
[97709.368751] blk_update_request: 3 callbacks suppressed
[97709.368753] end_request: I/O error, dev sde, sector 122880
[97709.368757] quiet_error: 4 callbacks suppressed
[97709.368760] Buffer I/O error on device sde2, logical block 0
[97721.040449] warning: `VirtualBox' uses 32-bit capabilities (legacy support in use)
[97722.927306] device enp2s0 entered promiscuous mode
[root@wuerfel ~]# fdisk /home/letzter/raspi2.img

Code: Alles auswählen

[root@wuerfel ~]# fdisk -l /home/letzter/raspi2.img

Disk /home/letzter/raspi2.img: 7,5 GiB, 8010072064 bytes, 15644672 sectors
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

[root@wuerfel ~]# 
Und nu?

DeletedUserReAsG

Re: defekte SD-Karte

Beitrag von DeletedUserReAsG » 25.02.2015 19:33:36

Okay, ich korrigiere mich: der Threadtitel ist offensichtlich doch richtig, sofern dein Logauszug zeitlich zu den Versuchen mit der Karte passt. Mysteriös ist für mich dann allerdings, warum dd sauber durchläuft.

Wie auch immer: du schreibst, auf der betreffenden Partition wäre btrfs. Ist das System, auf dem du deine Datenrettung versuchst, auf dem aktuellen Stand, was btrfs angeht? Was passiert, wenn du den FS-Typ explizit beim Mounten angibst?

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 25.02.2015 20:00:45

niemand hat geschrieben:
Wie auch immer: du schreibst, auf der betreffenden Partition wäre btrfs. Ist das System, auf dem du deine Datenrettung versuchst, auf dem aktuellen Stand, was btrfs angeht?
Es handelt sich um ein Mageia 4, sollte also btrfs können
Dessen Partitionierer meldet übrigens folgendes:

Code: Alles auswählen

Die Partitionstabelle für das Gerät sde kann nicht gelesen werden, sie scheint beschädigt. 
Eine Fortsetzung ist möglich, indem fehlerhafte Partitionen gelöscht werden (alle in ihnen enthaltende Daten gehen verloren!)
Die Alternative besteht darin, DrakX die Änderung der Partitionstabelle zu erlauben.
(Der Fehler ist unknown partition table format on disk /dev/sde.)

Sind Sie mit dem Verlust aller Partitionen einverstanden?
Allerdings würde ich nur äusserst ungern dem Tool diese (nicht gebackupten) Daten anvertrauen sondern viel lieber mit dem image arbeiten.
niemand hat geschrieben:Was passiert, wenn du den FS-Typ explizit beim Mounten angibst?
Leider dasselbe...

Code: Alles auswählen

[root@wuerfel ~]# mount -o loop -t btrfs /home/letzter/raspi2.img /tmp/raspi2
mount: Falscher Dateisystemtyp, ungültige Optionen, der
Superblock von /dev/loop0 ist beschädigt, fehlende
Kodierungsseite oder ein anderer Fehler

       Manchmal liefert das Systemprotokoll wertvolle Informationen –
       versuchen Sie  dmesg | tail  oder ähnlich
[root@wuerfel ~]# 

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: defekte SD-Karte

Beitrag von NAB » 25.02.2015 20:06:12

Eh ... läuft das Linux unter Virtualbox und der CardReader wird durchgereicht? Könnte das eine weitere Fehlerquelle sein? Kannst du eventuell unter Windows ein Image der SD-Karte anfertigen und Virtualbos als Festplatten-Image mitgeben?

Sonst ... versuch doch mal, sde2 direkt (read-only!) zu mounten. Dann kannst du an Dateien kopieren, was noch lesbar ist.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 25.02.2015 20:32:10

NAB hat geschrieben:Eh ... läuft das Linux unter Virtualbox
nein
NAB hat geschrieben:und der CardReader wird durchgereicht?
nein
NAB hat geschrieben:Könnte das eine weitere Fehlerquelle sein?
Folglich auch: nein :mrgreen:
NAB hat geschrieben:Kannst du eventuell unter Windows ein Image der SD-Karte anfertigen und Virtualbos als Festplatten-Image mitgeben?
auch nein.
NAB hat geschrieben:Sonst ... versuch doch mal, sde2 direkt (read-only!) zu mounten. Dann kannst du an Dateien kopieren, was noch lesbar ist.
hmm. Wäre dann

Code: Alles auswählen

mount -t btrfs /dev/sde2 /mnt/tmp ro
Oder anders?

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: defekte SD-Karte

Beitrag von NAB » 25.02.2015 20:59:40

Code: Alles auswählen

mount -o ro -t btrfs /dev/sde2 /mnt/tmp
würde ich nehmen ... keine Ahnung, ob die andere Syntax auch geht. /mnt/tmp muss existieren.

Du kannst übrigens auch mit dem Image aus deinem ersten Posting weiterarbeiten. Mit "parted /home/letzter/raspi.img" kannst du versuchen, die eventuell defekte Partitionstabelle zu reparieren. Und mit kpartx kannst du dann die Partitionen mounten und fsck drauf ausführen:
http://www.heise.de/ct/hotline/Disk-Ima ... 24406.html

(eventuell machst du von dem Image vorher ne Kopie)
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 25.02.2015 21:44:28

NAB hat geschrieben:

Code: Alles auswählen

mount -o ro -t btrfs /dev/sde2 /mnt/tmp
würde ich nehmen ... keine Ahnung, ob die andere Syntax auch geht. /mnt/tmp muss existieren.
Funktioniert leider nicht.

Code: Alles auswählen

[root@wuerfel ~]# mount -o ro -t btrfs /dev/sde2 /home/letzter/raspi
mount: Falscher Dateisystemtyp, ungültige Optionen, der
Superblock von /dev/sde2 ist beschädigt, fehlende
Kodierungsseite oder ein anderer Fehler

       Manchmal liefert das Systemprotokoll wertvolle Informationen –
       versuchen Sie  dmesg | tail  oder ähnlich

Code: Alles auswählen

[root@wuerfel ~]# mount -o ro -t auto /dev/sde2 /home/letzter/raspi
^C
hängt sich auf.
NAB hat geschrieben:Du kannst übrigens auch mit dem Image aus deinem ersten Posting weiterarbeiten. Mit "parted /home/letzter/raspi.img" kannst du versuchen, die eventuell defekte Partitionstabelle zu reparieren.
Hmm, wie geht das?

Code: Alles auswählen

[root@wuerfel ~]# parted /home/letzter/raspi.img
GNU Parted 3.1
Verwende /home/letzter/raspi.img
Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der verfügbaren Kommados zu erhalten.
(parted) help                                                             
  align-check TYPE N                        check partition N for TYPE(min|opt) alignment
  help [KOMMANDO]                          Allgemeine Hilfe, oder Hilfe zu KOMMANDO
  mklabel,mktable LABEL-TYP                Neues Disklabel (Partitionstabelle) erzeugen
  mkpart PART-TYP [FS-TYP] ANFANG ENDE    Partition erzeugen
  name NUMMER NAME                         Partition NUMMER mit NAME benennen
  print [devices|free|list,all|NUMMER]     Partitionstabelle, verfügbare Geräte, freien Speicher, alle Paritionen oder eine bestimmte Partition anzeigen
  quit                                     Programm beenden
  rescue ANFANG ENDE                       Eine verlorene Partitionen zwischen ANFANG und ENDE retten
  rm NUMMER                                Partion NUMMER löschen
  select GERÄT                             Wählen Sie ein GERÄT zur Bearbeitung
  disk_set FLAG STATE                      change the FLAG on selected device
  disk_toggle [FLAG]                       toggle the state of FLAG on selected device
  set NUMMER FLAG STATUS                   ändern des FLAGs auf der Partition NUMMER
  toggle [NUMMER [FLAG]]                   umschalten des FLAGs von Partition NUMMER
  unit EINHEIT                             die Standardgröße auf EINHEIT setzen
  version                                  zeigt die Versions- und Copyright-Informationen von GNU Parted an

(parted) print all                                                        
Fehler: /home/letzter/raspi.img: unbekannte Partitionstabelle
Modell:  (file)                                                           
Festplatte  /home/letzter/raspi.img:  8073MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: unknown
Disk Flags: 

Modell: Generic- SD/MMC (scsi)
Festplatte  /dev/sde:  8073MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk Flags: 

Nummer  Anfang  Ende    Größe   Typ      Dateisystem  Flags
 1      4194kB  62,9MB  58,7MB  primary  fat16        lba
 2      62,9MB  8073MB  8010MB  primary
Reparieren einer Partitionstabelle sehe ich nicht, nur neu erzeugen. Oder soll / kann ich das erzeugen auf das Image anwenden?

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: defekte SD-Karte

Beitrag von NAB » 25.02.2015 22:26:48

Das sieht vorallem nicht so aus, als würde dein System btrfs kennen.
letzter3 hat geschrieben:Reparieren einer Partitionstabelle sehe ich nicht, nur neu erzeugen. Oder soll / kann ich das erzeugen auf das Image anwenden?
hmmm ... gute Frage ... die Partitionstabelle auf der SD-Karte scheint ja heil zu sein. Die msdos-Partitionstabelle ist 512 Bytes groß.

Probiere mal Folgendes:

Code: Alles auswählen

dd if=/dev/sde of=/home/letzter/Partitionstabelle.bin bs=512 count=1
dd if=/home/letzter/raspi.img of=/home/letzter/raspi.img.ohnePT bs=512 skip=1
cp /home/letzter/Partitionstabelle.bin /home/letzter/raspi.img.heil
cat /home/letzter/raspi.img.ohnePT >> /home/letzter/raspi.img.heil
Achte nach dem ersten Befehl darauf, ob neue Fehler im dmesg sind. Sonst probiere die erste Zeile mehrmals und schau, ob es irgendwann fehlerfrei klappt.

Danach schau dir raspi.img.heil noch mal mit parted an.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 25.02.2015 22:40:04

Code: Alles auswählen

[root@wuerfel ~]# dd if=/dev/sde of=/home/letzter/Partitionstabelle.bin bs=512 count=1
1+0 Datensätze ein
1+0 Datensätze aus
512 Bytes (512 B) kopiert, 0,00027171 s, 1,9 MB/s
[root@wuerfel ~]# dd if=/home/letzter/raspi.img of=/home/letzter/raspi.img.ohnePT bs=512 skip=1
15767551+0 Datensätze ein
15767551+0 Datensätze aus
8072986112 Bytes (8,1 GB) kopiert, 93,801 s, 86,1 MB/s
[root@wuerfel ~]# cp /home/letzter/Partitionstabelle.bin /home/letzter/raspi.img.heil
[root@wuerfel ~]# cat /home/letzter/raspi.img.ohnePT >> /home/letzter/raspi.img.heil
[root@wuerfel ~]# parted /home/letzter/raspi.img.heil
GNU Parted 3.1
Verwende /home/letzter/raspi.img.heil
Willkommen zu GNU Parted! Geben Sie 'help' ein, um eine Liste der verfügbaren Kommados zu erhalten.
(parted) print                                                            
Fehler: /home/letzter/raspi.img.heil: unbekannte Partitionstabelle
Modell:  (file)                                                           
Festplatte  /home/letzter/raspi.img.heil:  8073MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: unknown
Disk Flags: 
(parted)  
Fehler im dsmeg gab es keine.
parted findet in dem Image aber keine / eine unbekannte Partitionstabelle :-(

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 25.02.2015 22:44:54

NAB hat geschrieben:Das sieht vorallem nicht so aus, als würde dein System btrfs kennen.
Sollte es aber: :D
The btrfs-progs package provides all the userpsace programs needed to create, check, modify and correct any inconsistencies in the btrfs filesystem.

Code: Alles auswählen

        ‎/usr/sbin/btrfs
        ‎/usr/sbin/btrfs-convert
        ‎/usr/sbin/btrfs-debug-tree
        ‎/usr/sbin/btrfs-find-root
        ‎/usr/sbin/btrfs-image
        ‎/usr/sbin/btrfs-map-logical
        ‎/usr/sbin/btrfs-show-super
        ‎/usr/sbin/btrfs-zero-log
        ‎/usr/sbin/btrfsck
        ‎/usr/sbin/btrfstune
        ‎/usr/sbin/fsck.btrfs
        ‎/usr/sbin/mkfs.btrfs

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 25.02.2015 23:06:49

nochmal ein log-Auszug, wobei ich aber keine Ahnung habe, was das für ein Zeitstempel ist.

Code: Alles auswählen

[root@wuerfel ~]# dmesg | tail
[104871.283958] sd 6:0:0:2: [sde]  
[104871.283961] Sense Key : Hardware Error [current] 
[104871.283965] sd 6:0:0:2: [sde]  
[104871.283968] Add. Sense: No additional sense information
[104871.283971] sd 6:0:0:2: [sde] CDB: 
[104871.283973] Read(10): 28 00 00 01 e0 00 00 00 08 00
[104871.283983] end_request: I/O error, dev sde, sector 122880
[104871.283988] Buffer I/O error on device sde2, logical block 0
[107467.168433] device-mapper: uevent: version 1.0.3
[107467.168509] device-mapper: ioctl: 4.27.0-ioctl (2013-10-30) initialised: dm-devel@redhat.com
[root@wuerfel ~]# 

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: defekte SD-Karte

Beitrag von NAB » 25.02.2015 23:24:36

hmmm ... dann versuch doch mal, die Partitionstabelle zu reparieren. Wirst du aus dieser Anleitung schlau?
http://ubuntuforums.org/showthread.php?t=370121
Als Quelle für die Partitionstabelle nimmst du die SD-Karte, also "gpart /dev/sde"
Und als Ziel zum Reparieren nimmst du "parted /home/letzter/raspi.img.heil"
Eventuell musst du vorher noch eine Partitionstabelle auf dem Image anlegen, mit "mktable msdos" in parted.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 26.02.2015 19:27:21

Scheitert leider schon im ersten Step:

Code: Alles auswählen

[root@wuerfel ~]# gpart /dev/sde

Begin scan...
End scan.
Checking partitions...
Ok.

Guessed primary partition table:
Primary partition(1)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(2)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(3)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(4)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
Ich beis mir hier noch sonst wo hin.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: defekte SD-Karte

Beitrag von NAB » 26.02.2015 19:44:00

man man man ... das Ding ist ja hartnäckig ...

Ich nehme für sowas sonst immer sdfisk, das hat aber den Nachteil, dass es nur auf "echten" Speichergeräten funktioniert und nicht auf Images, die als Dateien vorliegen. Du bräuchtest also einen leeren USB-Stick oder SD-Karte.

Auf den leeren Stick schreibst du dann das Image: dd if=/home/letzter/raspi.img of=/dev/sdUSB-Stick

Dann holst du dir die heile Partitionstabelle von der SD-Karte:
sfdisk -d /dev/sde > ~/Partitionen.txt
und schreibst sie auf den USB-Stick:
sfdisk /dev/sdUSB-Stick < ~/Partitionen.txt
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 26.02.2015 20:04:44

Ich schreibe gerade auf einen Stick, allerdings direkt von der Karte.
Das mit dem Holen der PT vom Stick ist schwierig, die kann ja nicht gelesen werden. Jedenfalls findet gpart keine Partitionen.

Na mal schauen....

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: defekte SD-Karte

Beitrag von NAB » 26.02.2015 20:34:09

Der Kernel findet ja (noch) Partitionen, als muss die Partitionstabelle (manchmal) lesbar sein.

Parted findet auch Partitionen auf der SD-Karte. Ich weiß nur nicht, wie man mit parted Partitionstabellen kopiert ... daher ja die Verrenkung mit gpart, um an die nötigen Daten zu kommen. Jetzt kommt die nächste Verrenkung, weil die erste Verrenkung nicht funktioniert hat.

Du hast übrigens noch das Image der Partition sde2, welches sich "eigentlich" auch mounten lassen sollte. Eigentlich sollte sich auch sde2 direkt mounten lassen. Das sind deine größeren Probleme und eventuell hast du dich durch meinen Hinweis auf kpartx auf die falsche Fährte locken lassen.

Schau dir mal an, was du auf sde1 so findest, nimm eventuell die Initramdisk auseinander, die ist ja auch nur ein großes Archiv. Such nach den Scripten, die das Root-Filesystem mounten sollen ... vielleicht ist es gar kein btrfs ... vielleicht hat der Anwender auch noch ne Verschlüsselung dazwischengeschaltet. brtfs ist ja so oder so keine Standard-Installation.

Ach ... wenn du die SD-Karte direkt kopierst, dann teste erst, ob die kopierten Partitionen einfach so erkannt werden. Eventuell ist gar kein Eingriff mit sfdisk notwendig.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 26.02.2015 21:09:40

Das ist das Erstellen des Images:

Code: Alles auswählen

[root@wuerfel ~]# dd if=/dev/sde of=/home/letzter/raspi.img bs=512
15767552+0 Datensätze ein
15767552+0 Datensätze aus
8072986624 Bytes (8,1 GB) kopiert, 419,924 s, 19,2 MB/s
Das ist das Kopieren auf einen anderen Stick:

Code: Alles auswählen

[root@wuerfel ~]# dd if=/dev/sde of=/dev/sdg
15767552+0 Datensätze ein
15767552+0 Datensätze aus
8072986624 Bytes (8,1 GB) kopiert, 3892,89 s, 2,1 MB/s
[root@wuerfel ~]# 
Also identische Anzahl an was auch immer.

Das ist die Ausgabe von lsblk:

Code: Alles auswählen

[root@wuerfel ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdg      8:96   1  15,2G  0 disk 
Also jetzt nur noch eine Partition? Oder eher nur ein device :-/

Und der Mountversuch:

Code: Alles auswählen

[root@wuerfel ~]# mount -o ro -t auto /dev/sdg /home/letzter/raspi
mount: Falscher Dateisystemtyp, ungültige Optionen, der
Superblock von /dev/sdg ist beschädigt, fehlende
Kodierungsseite oder ein anderer Fehler

[root@wuerfel ~]# 
Und der tail:

Code: Alles auswählen

[root@wuerfel ~]# dmesg | tail
[12428.487294] sd 8:0:0:0: [sdg] No Caching mode page found
[12428.487297] sd 8:0:0:0: [sdg] Assuming drive cache: write through
[12428.490473] sd 8:0:0:0: [sdg] No Caching mode page found
[12428.490476] sd 8:0:0:0: [sdg] Assuming drive cache: write through
[12428.491333]  sdg: unknown partition table
[12428.494971] sd 8:0:0:0: [sdg] No Caching mode page found
[12428.494974] sd 8:0:0:0: [sdg] Assuming drive cache: write through
[12428.494976] sd 8:0:0:0: [sdg] Attached SCSI removable disk
[12436.319512] JFS: nTxBlock = 8192, nTxLock = 65536
[12436.358272] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
[root@wuerfel ~]# 
Nun auf einmal ein JFS oder XFS?

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 26.02.2015 21:10:43

NAB hat geschrieben:Du hast übrigens noch das Image der Partition sde2, welches sich "eigentlich" auch mounten lassen sollte. Eigentlich sollte sich auch sde2 direkt mounten lassen.
"Eigentlich" wäre schön. Tut es aber leider nicht.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: defekte SD-Karte

Beitrag von NAB » 26.02.2015 21:16:50

Tipp mal "sync" ein. Wenn das fertig ist, zieh den Stick raus und steck ihn wieder rein, und schau mal, was dmesg dabei sagt, und was lsblk danach sagt.
sdg: unknown partition table
Oder hast du das schon getan?

Dann probiere mal, die Partitionstabelle mit sfdisk zu kopieren.
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 28.02.2015 11:23:52

Ich bin mittlerweile etwas verwirrt und fang nochmal an.

Erstmal: Mein Mageia kann (wie behauptet) mit btrfs umgehen, habe eben eine entsprechend formatierte Platte bearbeitet.

Ich stecke die SD-Karte ein:
systemctl:

Code: Alles auswählen

Feb 28 09:32:44 wuerfel.universe.lokal kernel: sd 6:0:0:2: [sde] 15767552 512-byte logical blocks: (8.07 GB/7.51 GiB)
Feb 28 09:32:44 wuerfel.universe.lokal kernel: sd 6:0:0:2: [sde] Write Protect is on
Feb 28 09:32:44 wuerfel.universe.lokal kernel: sd 6:0:0:2: [sde] Mode Sense: 03 00 80 00
Feb 28 09:32:44 wuerfel.universe.lokal kernel: sd 6:0:0:2: [sde] No Caching mode page found
Feb 28 09:32:44 wuerfel.universe.lokal kernel: sd 6:0:0:2: [sde] Assuming drive cache: write through
Feb 28 09:32:44 wuerfel.universe.lokal kernel: sd 6:0:0:2: [sde] No Caching mode page found
Feb 28 09:32:44 wuerfel.universe.lokal kernel: sd 6:0:0:2: [sde] Assuming drive cache: write through
Feb 28 09:32:44 wuerfel.universe.lokal kernel: sde: detected capacity change from 0 to 8072986624
Feb 28 09:32:44 wuerfel.universe.lokal kernel:  sde: sde1 sde2
Wird also erkannt.

Code: Alles auswählen

[root@wuerfel ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

sde      8:64   1   7,5G  1 disk 
├─sde1   8:65   1    56M  1 part 
└─sde2   8:66   1   7,5G  1 part 
Wie bisher auch: alles gut.
Nun wird es leider schlechter:

Code: Alles auswählen

[root@wuerfel ~]# mount -o ro -t auto /dev/sdg /home/letzter/raspi
mount: Spezialgerät /dev/sdg ist nicht vorhanden
[root@wuerfel ~]# mount -o ro -t auto /dev/sde /home/letzter/raspi
mount: Falscher Dateisystemtyp, ungültige Optionen, der
Superblock von /dev/sde ist beschädigt, fehlende
Kodierungsseite oder ein anderer Fehler

Code: Alles auswählen

[root@wuerfel ~]# mount -o ro -t auto /dev/sde2 /home/letzter/raspi
mount: Falscher Dateisystemtyp, ungültige Optionen, der
Superblock von /dev/sde2 ist beschädigt, fehlende
Kodierungsseite oder ein anderer Fehler

Code: Alles auswählen

[root@wuerfel ~]# mount -o ro -t auto /dev/sde1 /home/letzter/raspi
mount: Falscher Dateisystemtyp, ungültige Optionen, der
Superblock von /dev/sde1 ist beschädigt, fehlende
Kodierungsseite oder ein anderer Fehler

Code: Alles auswählen

root@wuerfel ~]# gpart /dev/sde

Begin scan...
End scan.

Checking partitions...
Ok.

Guessed primary partition table:
Primary partition(1)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(2)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(3)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Primary partition(4)
   type: 000(0x00)(unused)
   size: 0mb #s(0) s(0-0)
   chs:  (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r
Wiedersprüchlich. gpart findet 4 Partitionen, kann aber nix erkennen.

testdisk liefert:

Code: Alles auswählen

Disk /dev/sde - 8072 MB / 7699 MiB - CHS 1021 249 62 (RO)
Current partition structure:
     Partition                  Start        End    Size in sectors

Partition sector doesn't have the endmark 0xAA55
Findet also schonmal einen Fehler, aber keine Partitionen.

Beide Analysedurchläufe melden

Code: Alles auswählen

Disk /dev/sde - 8072 MB / 7699 MiB - CHS 1021 249 62 (RO)
     Partition               Start        End    Size in sectors

keys A: add partition, L: load backup, Enter: to continue

Code: Alles auswählen

[root@wuerfel ~]# fdisk -l /dev/sde

Disk /dev/sde: 7,5 GiB, 8072986624 bytes, 15767552 sectors
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

[root@wuerfel ~]# 
Wie gehe ich jetzt am Besten vor? Besten Dank schonam bis hierher (und hoffentlich noch weiter!....)

DeletedUserReAsG

Re: defekte SD-Karte

Beitrag von DeletedUserReAsG » 28.02.2015 11:33:53

Hast du mal in Erwägung gezogen, dass die Karte schlicht kaputt ist?

Ich hatte eine Zeit lang die Idee, es hätte das btrfs zerschossen oder deine Installation würde nicht zu der verwendeten FS-Version passen. In dem Fall hätte sich aber zumindest die FAT-Partition mounten lassen. Nun ist möglicherweise zumindest die Partitionstabelle kaputt, weiter oben hast du ’nen Logauszug gepostet, der auf Hardwarefehler hindeutet – würde ich vor dieser Karte sitzen, würde ich mit dd_rescue (die gute Version davon – weiß gerade nicht mehr, ob das dd_rescue, ddrescue, dd-rescue war) ein Image ziehen (vielleicht nicht notwendig, weil dd selbst ja nicht mit ’nem Fehler abgebrochen hat), sowas wie testdisk oder photorec drauf loslassen und wenn auch da nichts zu holen ist, das Dings abschreiben.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: defekte SD-Karte

Beitrag von NAB » 28.02.2015 12:17:39

Ja, natürlich ist die SD-Karte "kaputt". Die schaltet sich ja schon selber auf read-only:

Code: Alles auswählen

[sde] Write Protect is on
Die Frage ist, ob und wie man an die Daten rankommt.

Können testdisk oder photorec btrfs?

letzter3, heb bloß die ersten Images auf, insbesondere das von der zweiten Partition. Und die erste Partitionstabelle sah auch ganz sinnvoll aus.

Du könntest noch ein Image der ersten Partition /dev/sde1 machen und darauf mal testdisk loslassen. Wenn testdisk da die üblichen Bootdateien findet, dann stimmt die Partitionstabelle wenigstens schon mal.

Dann könnte man es auf einer Kopie des Images von /dev/sde2 mal mit einem fsck von btrfs versuchen. Oder sich umschauen, welche Rettungstools es für btrfs inzwischen gibt ... da hab ich keinen Überblick.

Oder du drückst die Karte deinem Kumpel wieder in die Hand und sagst mit wissendem Blick "joa, die is hinübär" ;-)
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

letzter3
Beiträge: 446
Registriert: 16.07.2011 22:07:31

Re: defekte SD-Karte

Beitrag von letzter3 » 28.02.2015 13:06:00

Den Schreibschutz habe ich eingeschaltet, um die Daten (und nur um die geht es mir -> selbst programmierte Steuerungssoftware, die Hardware ist mir wurscht) nicht zu gefährden.

Ich ziehe mal 3 Images (sde, sde1 und sde2) mit ddrescue (das scheint den Refill-Modus zu haben) und schaue dann weiter.

Antworten