(gelöst) Defekte IDE-HDD - Datenrettung

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
fischig
Beiträge: 3584
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

(gelöst) Defekte IDE-HDD - Datenrettung

Beitrag von fischig » 01.08.2021 14:01:33

Ich habe hier eine alte IDE-HDD, die wohl hinüber ist. Das Partitionsschema ist nach dem Einstecken noch erkennbar:

Code: Alles auswählen

usb-storage 3-2:1.0: USB Mass Storage device detected
scsi host6: usb-storage 3-2:1.0
scsi 6:0:0:0: Direct-Access     IC25N020 ATDA04-0              PQ: 0 ANSI: 5
sd 6:0:0:0: Attached scsi generic sg2 type 0
sd 6:0:0:0: [sdb] 39070080 512-byte logical blocks: (20.0 GB/18.6 GiB)
sd 6:0:0:0: [sdb] Write Protect is off
sd 6:0:0:0: [sdb] No Caching mode page found
sd 6:0:0:0: [sdb] Assuming drive cache: write through
 sdb: sdb1 sdb2 < sdb5 >
sd 6:0:0:0: [sdb] Attached SCSI disk
Aber das Einhängen von sdb5 funktioniert nicht mehr. Beim Abziehen des US-Steckers während eines abgebrochenen Mount-Versuchs kommt diese Meldung:

Code: Alles auswählen

# mount /dev/sdb5 /media/usb
usb 3-2: reset high-speed USB device number 2 using xhci_hcd

^C
usb 3-2: USB disconnect, device number 2
sd 6:0:0:0: Device offlined - not ready after error recovery
sd 6:0:0:0: [sdb] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x01 driverbyte=0x00
sd 6:0:0:0: [sdb] tag#0 CDB: opcode=0x2a 2a 00 00 1f 50 00 00 00 10 00
print_req_error: I/O error, dev sdb, sector 2052096
Buffer I/O error on dev sdb5, logical block 0, lost async page write
Buffer I/O error on dev sdb5, logical block 1, lost async page write
sd 6:0:0:0: [sdb] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x01 driverbyte=0x00
sd 6:0:0:0: [sdb] tag#0 CDB: opcode=0x2a 2a 00 00 1f 71 08 00 00 08 00
print_req_error: I/O error, dev sdb, sector 2060552
Buffer I/O error on dev sdb5, logical block 1057, lost async page write
JBD2: recovery failed
EXT4-fs (sdb5): error loading journal
Z.Z. versuche ich eine Image-Datei zu erstellen:

Code: Alles auswählen

# dd if=/dev/sdb5 of=sdb5.img
Was kann ich tun?

edit:
Die Imageerstellung scheint funktioniert zu haben. Was kann ich jetzt anfangen mit dieser Datei? Ich bin Laie und es ist eine ungeübte Premiere.
Zuletzt geändert von fischig am 03.08.2021 07:39:29, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Defekte IDE-HDD

Beitrag von MSfree » 01.08.2021 14:28:28

Mit losetup kann man die nötigen Deviceeinträge für deine Imagedatei erzeugen.

Code: Alles auswählen

losetup --show -f -P NameDeinerImageDatei
Danach sollten unter /dev Einträge wie

Code: Alles auswählen

/dev/loop0
/dev/loop0p1
/dev/loop0p2..
entstanden sein. /dev/loop0p1 ist die erste Partition deine Imagedatei, mounten kann man die dann mit

Code: Alles auswählen

mount /dev/loop0p1 /mnt
Nach getaner Arbeit solltest du die Mounts wieder unmounten und das Loopbackgerät entfernen mit

Code: Alles auswählen

losetup -d /dev/loop0

fischig
Beiträge: 3584
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Defekte IDE-HDD

Beitrag von fischig » 01.08.2021 15:13:45

Hmmm!

Erst mal vielen Dank. :THX: Sieht so aus, als hätte ich bis jetzt keinen Fehler gemacht! :wink:

Ich habe unter /dev jetzt loop0 - loop7. Sowas wie loop0p01, etc. sehe ich nicht.

das liegt daran, dass ich von der defekten Platte auch nur eine Partition (sdb5) mit dd in die img-Datei geschrieben habe - richtig?

Woher loop1 - loop7 kommt (und vor allem, wie damit umgehen!) weiß ich nicht. Einfach löschen?

Ich habe zum Einhängen

Code: Alles auswählen

# mount /dev/loop0 /mnt/tmp
benutzt.

Neue Idee:
Du vermutest sicher schon (zu recht), dass meine aktuelle Frage mit meiner letzten im Smalltalk zusammenhängt.
Was hältst du/halten andere davon, wenn ich den Inhalt der img-Datei via dd wieder auf eine geeignet vorbereitete Partition einer „neuen“ Platte zurückspielte. also etwa
# dd if=sdb5.img of=/dev/[wie immer/die/Gerätedatei/für/diese/Platte/Partiton/vom/Kern/benannt/wird]
Da es sich um ein Linux-System handelt müsste ich danach zusätzlich chrooten und einen Bootloder im MBR installieren und aktivieren - richtig?

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Defekte IDE-HDD

Beitrag von MSfree » 01.08.2021 15:24:24

fischig hat geschrieben: ↑ zum Beitrag ↑
01.08.2021 15:13:45
das liegt daran, dass ich von der defekten Platte auch nur eine Partition (sdb5) mit dd in die img-Datei geschrieben habe - richtig?
Achso, ich dachte, du hättest die ganze Platte auf eine Datei geklont. OK, in dem Fall tut ein

Code: Alles auswählen

mount -o loop NameDeinerImageDatei /mnt
Woher loop1 - loop7 kommt (und vor allem, wie damit umgehen!) weiß ich nicht. Einfach löschen
Das sind die normalen Loopback-Devices, die der Kernel dir immer zur Verfügung stellt.
Was hältst du/halten andere davon, wenn ich den Inhalt der img-Datei via dd wieder auf eine geeignet vorbereitete Partition einer „neuen“ Platte zurückspielte.
Klar, kann man machen, wenn man die Kiste möglichst schnell wieder zum Laufen bringen will. Ich würde allerdings frisch installieren, damit hätte man dann auch gleich das aktuellste Debian (Bullseye) auf der Kiste. Ich würde dann nur die wichtigen Daten von dem Image runterkopieren und auf den neuen Rechner übertragen. Aber das soll jeder für sich entscheiden.

fischig
Beiträge: 3584
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Defekte IDE-HDD

Beitrag von fischig » 01.08.2021 19:31:42

Ich würde allerdings frisch installieren
Hab' ich doch schon. Das defekte System war ziemlich aktuell. Aber mir sind beim neu Installierten bisher zwei Knackpunkte aufgefallen.
1. cups funktioniert, aber ich komme nicht auf das webinterface des einen Netzwerkdruckers. Mag sein, dass das schon mit der defekten Platte nicht funktioniert hat. Brauch' ich nur gelegentlich.
2. wol funktioniert nicht mehr und ich finde meinen Fehler nicht. wol hat auf der defekten Platte immer funktioniert.
Aber das sind neue Themen. Zunächst will ich halt mal versuchen, wie das auf dem reanimierten alten System aussähe. dd ist weniger gut geeignet („neue“Platte größer als sdb5.img).
Nächster Versuch wäre über /dev/loop0. Kopieren und Einrichten des Systems via grml-live traue ich mir zu. Nicht weiß ich, welche Rolle spielt, dass /dev/loop0 jetzt auf der Platte einer 64bit-Maschine liegt, ergo auch grml 64it benötigt wird, während das reanimierte System später wieder auf der i386-Maschine laufen soll (der alte Klapprechner, TP X31).

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Defekte IDE-HDD

Beitrag von MSfree » 01.08.2021 20:24:09

fischig hat geschrieben: ↑ zum Beitrag ↑
01.08.2021 19:31:42
dd ist weniger gut geeignet („neue“Platte größer als sdb5.img).
Doch, dd ist hier trotzdem geeignet. Es stellt kein Problem dar, das kleinere Image auf eine zu große Partition mit dd zu kopieren.

Du kannst hinterher mit resize2fs das Dateisystem an die Partitionsgröße anpassen.

fischig
Beiträge: 3584
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Defekte IDE-HDD

Beitrag von fischig » 02.08.2021 09:13:08

Du kannst hinterher mit resize2fs das Dateisystem an die Partitionsgröße anpassen.
Befehl ausgeführt.

So ich habe das alte System jetzt auf einer weiteren Platte auf sdb5. Unter grml-live habe ich es jetzt an einer i386-Maschine so gemountet:

Code: Alles auswählen

# mount /dev/sdb5 /media/usb-sdb5
mount --bind /proc /media/usb-sdb5/proc
mount --bind /sys /media/usb-sdb5/sys
mount --bind /dev /media/usb-sdb5/dev

# chroot /media/usb-sdb5 /bin/bash

Code: Alles auswählen

# mcedit /etc/lilo.conf:
[...]
/boot = /dev/sda
[...]
Kann ich das beim Ausführen von lilo in der chroot-Umgebung so lassen oder muss ich da /dev/sdb5 für den MBR eintragen oder noch was anderes?

Wenn ich's nicht so lassen kann, dann hätte ich mir grml-live auf dieser Maschine auch eigentlich sparen können, die Platte direkt in den X31 einbauen und dort das grml-procedere durchführen können (dort hätte der grml-Kern sie als /dev/sda gelistet) - richtig?

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Defekte IDE-HDD

Beitrag von MSfree » 02.08.2021 09:53:36

fischig hat geschrieben: ↑ zum Beitrag ↑
02.08.2021 09:13:08
Kann ich das beim Ausführen von lilo in der chroot-Umgebung so lassen oder muss ich da /dev/sdb5 für den MBR eintragen oder noch was anderes?
Puh, lilo habe schon lange nicht mehr genutzt.
Wenn ich's nicht so lassen kann, dann hätte ich mir grml-live auf dieser Maschine auch eigentlich sparen können, die Platte direkt in den X31 einbauen und dort das grml-procedere durchführen können (dort hätte der grml-Kern sie als /dev/sda gelistet) - richtig?
Das hätte ich sowieso gemacht. Also Platte eingebaut, dann grml gebootet und dort mittels chroot die Ersatzplatte bootfähig gemacht.

Ob die Platte dann wirklich /dev/sda ist, hängt davon ab, ob sie als Master oder als Slave konfiguriert ist. Sie wird aber mit sehr hoher Wahrscheinlichkeit als Master konfiguriert sind und somit /dev/sda heißen. Früher wurden IDE-Platten unter /dev/hdX geführt, ob das heute auch nich so ist, weiß ich nicht. Es ist also in jedem Fall sinnvoll, die Platte im Laptop selbst bootfähig zu machen und nicht auf einer Fremdmaschine.

fischig
Beiträge: 3584
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Defekte IDE-HDD

Beitrag von fischig » 02.08.2021 10:04:00

Das hätte ich sowieso gemacht.
Na ja, mir ist zuweilen mein Verstand im Wege! :wink:

Hab's dann auch so gemacht. System läuft! Wie gut, wird sich uswiese. :hail: :hail: :hail:

lilo funktioniert nicht mit UUIDs für den MBR (hier auf /dev/sda)
Bei der Root-Partition akzeptiert lilo die - vermutlich.

hdX gibt's schon sehr lange nicht mehr, auch nicht bei IDE-Platten.

Antworten