SSD tot? In Linux mounten / Daten retten?

Fhnx

Ensign
Registriert
Feb. 2010
Beiträge
130
Hallo zusammen,

kurz nach Weihnachten ist meine SSD in meinem (Windows-)Laptop "verstorben". Der Windows-Laptop lief über Nacht im Leerlauf. Am morgen begrüßte mich mein BIOS mit "No Storage Device Present" (s.u.). Nun bin ich wieder daheim und konnte die SSD in meinem Laptop mit der in meinem Desktop quer tauschen. Desktop-SSD im Laptop bootet ohne Probleme. Laptop-SSD wird auch vom Desktop nicht erkannt.
Schlussfolgerung: SSD aus dem Laptop ist nach noch nicht einmal 3 Jahren Nutzung verstorben 😒. Es handelt sich um eine Kingston OM8PCP3512F-AF. Ich hätte irgendwie eine längere Laufzeit erwartet, aber es kann anscheinend vor kommen, dass der Controller plötzlich auf gibt...
BIOS.jpg


Die wichtigsten Dateien sind gesichert - mir fehlen nur ein paar h an Arbeit, die ich noch nicht in Git gepusht hatte. Deswegen dachte ich, warum nicht mal ein Ubuntu-Stick erstellen und schauen, ob sich dort etwas finden lässt. Und tatsächlich findet lspci die SSD. In /dev/ taucht ein nvme0 device auf, aber ansonsten scheint das device nicht gefunden zu werden. lsblk oder gparted findet nur den USB-Stick und nicht die Festplatte. Mounten des nvme0-Geräts schlägt (wie erwartet) fehl "mount: /dev/nvme0 is not a block device"
Damit bin ich aber auch schon mit meinem Latein fast am Ende.
Frage: Kennt ihr euch mit Linux-Konsolen-FU besser aus und habt eine Idee, wie ich vielleicht noch an die Daten ran komme?
Ubuntu.jpg

Vielen Dank schonmal für alle Hilfeversuche :-).
 
Fhnx schrieb:
mount: /dev/nvme0 is not a block device
Ein Gerät kann man idR auch nicht mounten, da muss es sich schon um Partitionen handeln.
Was spuckt sudo fdisk -l /dev/nvme0 aus?
 
  • Gefällt mir
Reaktionen: Fhnx, madmax2010 und GTrash81
madmax2010 schrieb:
zeigmal lsblk

kannst du siemit dd lesen?
lsblk.jpg

Sorry für die schlechte Quali. Ich habe noch keine gute Version gefunden, wie ich "Screenshots" übertrage.
Interessanterweise wird bei der SSD als "DeviceName" Onboard LAN Brodcom angezeigt. Der Laptop hat aber kein LAN und WLAN nur von Intel
Ergänzung ()

kartoffelpü schrieb:
Ein Gerät kann man idR auch nicht mounten, da muss es sich schon um Partitionen handeln.
Was spuckt sudo fdisk -l /dev/nvme0 aus?
"/dev/nvme0 Kann nicht geöffnet werden: Nicht erlaubter Seek"
(Ich habe beim Reboot diesmal Deutsch ausgewählt)
 
madmax2010 schrieb:
kannst du siemit dd lesen?
Bash:
sudo dd if=/dev/nvme0 of=/home/ubuntu/image/test

dd: Fehler beim Lesen von "/dev/nvme0": Das Argument ist ungültig
Leider nein
Ergänzung ()

Ponderosa schrieb:
@Fhnx
Vielleicht kann dir dieser Tipp helfen.
Daten retten
Danke für den Link. Die M2-SSD wird leider von Ubuntu nicht erkannt. Wenn wir (/ich) das hinbekommen sollten, dann wäre ich so weiter vorgegangen, wie es in dem Beitrag beschrieben wird. Aktuell habe ich aber in Ubuntu keinen Zugriff.
 
  • Gefällt mir
Reaktionen: Ponderosa
/dev/nvme0 ist der Controller, nicht die SSD.

nvme list
nvme smart-log /dev/nvme0n1
ls -lha /dev/nmve0n1*

/dev/nvme0n1p1 wäre die erste Partition.
 
  • Gefällt mir
Reaktionen: up.whatever, madmax2010 und Fhnx
Fhnx schrieb:
Sorry für die schlechte Quali. Ich habe noch keine gute Version gefunden, wie ich "Screenshots" übertrage.
Das ist Ascii-Text, den kann man als Text kopieren!!!
Fhnx schrieb:
"/dev/nvme0 Kann nicht geöffnet werden: Nicht erlaubter Seek"
(Ich habe beim Reboot diesmal Deutsch ausgewählt)
Nimm mal /dev/nvme0n1statt /dev/nvme0. Und zeig die Ausgaben von dmesg her.
Ergänzung ()

Ponderosa schrieb:
@Fhnx
Vielleicht kann dir dieser Tipp helfen.
Daten retten
Bei Datenrettung alles vermeiden was auf das kaputte Medium schreiben könnte.
Wenn man so ein Medium mountet dann nur readonly! (mount -o ro foo bar)
 
  • Gefällt mir
Reaktionen: Fhnx
klapproth schrieb:
/dev/nvme0 ist der Controller, nicht die SSD.

nvme list
nvme smart-log /dev/nvme0n1
ls -lha /dev/nmve0n1*

/dev/nvme0n1p1 wäre die erste Partition.
Code:
ubuntu@ubuntu:~$ sudo nvme smart-log /dev/nvme0n1
/dev/nvme0n1: Datei oder Verzeichnis nicht gefunden
Usage: nvme smart-log <device> [OPTIONS]

Retrieve SMART log for the given device (or optionally a namespace) in either
decoded format (default) or binary.

Options:
  [  --namespace-id=<NUM>, -n <NUM> ]   --- (optional) desired namespace
  [  --output-format=<FMT>, -o <FMT> ]  --- Output format: normal|json|binary
  [  --raw-binary, -b ]                 --- output in binary format
  [  --human-readable, -H ]             --- show info in readable format
ubuntu@ubuntu:~$ sudo nvme smart-log /dev/nvme0
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning            : 0x9
temperature                : 30 C (303 Kelvin)
available_spare                : 0%
available_spare_threshold        : 10%
percentage_used                : 0%
endurance group critical warning summary: 0
data_units_read                : 0
data_units_written            : 0
host_read_commands            : 0
host_write_commands            : 0
controller_busy_time            : 0
power_cycles                : 1
power_on_hours                : 1
unsafe_shutdowns            : 0
media_errors                : 0
num_err_log_entries            : 0
Warning Temperature Time        : 0
Critical Composite Temperature Time    : 0
Thermal Management T1 Trans Count    : 0
Thermal Management T2 Trans Count    : 0
Thermal Management T1 Total Time    : 0
Thermal Management T2 Total Time    : 0
ubuntu@ubuntu:~$ ls -lha /dev/nvme0n1*
ls: Zugriff auf '/dev/nvme0n1*' nicht möglich: Datei oder Verzeichnis nicht gefunden
ubuntu@ubuntu:~$ ls -lha /dev/nvme0*
crw------- 1 root root 239, 0 Jan  2 14:49 /dev/nvme0
ubuntu@ubuntu:~$ nvme list
Node                  SN                   Model                                    Namespace Usage                      Format           FW Rev 
--------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
ubuntu@ubuntu:~$
 
Power Cycles 1 ... Da ist entweder der Controller (halb) hinüber oder (einer) der Speicher-ICs ist flöten gegangen (bzw. irgendwie nicht mehr erreichbar).
 
  • Gefällt mir
Reaktionen: Fhnx
foofoobar schrieb:
Das ist Ascii-Text, den kann man als Text kopieren!!!

Nimm mal /dev/nvme0n1statt /dev/nvme0. Und zeig die Ausgaben von dmesg her.
Ergänzung ()


Bei Datenrettung alles vermeiden was auf das kaputte Medium schreiben könnte.
Wenn man so ein Medium mountet dann nur readonly! (mount -o ro foo bar)
Ja, ich habe mich jetzt nun auf dem USB-Ubuntu bei Computerbase angemeldet, dass ihr nicht an Augenkrebs sterben müsst 👍.
Also nvmer0n1 findet er nicht (Datei oder Verzeichnis nicht gefunden). Das mit nvme0 war nur eine vormuting von meiner Seite, dass es die SSD sein könnte. Vielleicht taucht sie auch gar nicht in /dev/ auf?

ubuntu@ubuntu:~$ sudo dmesg | grep nvme0
[ 1.982808] nvme nvme0: pci function 0000:02:00.0
[ 1.987252] nvme nvme0: missing or invalid SUBNQN field.
[ 1.987301] nvme nvme0: Shutdown timeout set to 10 seconds
[ 1.988642] nvme nvme0: 8/0/0 default/read/poll queues
ubuntu@ubuntu:~$ sudo dmesg | grep kingston
ubuntu@ubuntu:~$ sudo dmesg | grep Kingston
ubuntu@ubuntu:~$ sudo dmesg | grep 02:00.0
[ 0.291528] pci 0000:02:00.0: [2646:500c] type 00 class 0x010802
[ 0.291544] pci 0000:02:00.0: reg 0x10: [mem 0xfe900000-0xfe903fff 64bit]
[ 0.343785] pci 0000:02:00.0: Adding to iommu group 8
[ 1.982672] nvme 0000:02:00.0: platform quirk: setting simple suspend
[ 1.982808] nvme nvme0: pci function 0000:02:00.0
Ergänzung ()

DarkAngel2401 schrieb:
Power Cycles 1 ... Da ist entweder der Controller (halb) hinüber oder (einer) der Speicher-ICs ist flöten gegangen (bzw. irgendwie nicht mehr erreichbar).
Ja, so etwas in die Richtung ist auch meine Vermutung. Die Frage ist nun, ob man da noch irgendetwas retten kann oder ob sie jetzt damit ein Totalverlust ist...
 
Fhnx schrieb:
... mir fehlen nur ein paar h an Arbeit, die ich noch nicht in Git gepusht hatte.
Backup ist ja vorhanden, da lohnt sich der Aufwand weder zeitlich noch monetär. Kingston gibt ja mMn 5 Jahre Garantie. Daher einfach eine neue Platte ordern, einbauen und den Rechner wieder aufsetzen - und die Kingston SSD bei Kingston reklamieren und dann die (höchstwahrscheinlich neue) Ersatz-SSD in der Bucht verhökern.
 
  • Gefällt mir
Reaktionen: Fhnx
der controller hat anscheinend seine config verloren, wenn kein namespace mehr sichtbar ist. man könnte versuchen, diesen neu anzulegen. aber selbst wenn das funktionieren sollte, würde ich die ssd wohl nur noch in einem usb-gehäuse als besseren stick verwenden.
 
  • Gefällt mir
Reaktionen: madmax2010, Fhnx und DarkAngel2401
DarkAngel2401 schrieb:
Backup ist ja vorhanden, da lohnt sich der Aufwand weder zeitlich noch monetär. Kingston gibt ja mMn 5 Jahre Garantie. Daher einfach eine neue Platte ordern, einbauen und den Rechner wieder aufsetzen - und die Kingston SSD bei Kingston reklamieren und dann die (höchstwahrscheinlich neue) Ersatz-SSD in der Bucht verhökern.
Ersatz (größer und schneller) ist schon geordert. Das mit den 5 Jahren Garantie war mir neu, danke für den Tipp :-).
 
Poste das mal:
$ sudo sh -c "dmesg > /tmp/dmesg.txt"
In CODE Tags oder als Anhang.
 
  • Gefällt mir
Reaktionen: Fhnx
nach dmesg bist du ja noch am asus laptop
hast du sie mal in einen anderen rechner gesteckt?
 
  • Gefällt mir
Reaktionen: Fhnx
madmax2010 schrieb:
nach dmesg bist du ja noch am asus laptop
hast du sie mal in einen anderen rechner gesteckt?
Ich zitiere mal von oben:
Nun bin ich wieder daheim und konnte die SSD in meinem Laptop mit der in meinem Desktop quer tauschen. Desktop-SSD im Laptop bootet ohne Probleme. Laptop-SSD wird auch vom Desktop nicht erkannt.
--> Damit war für mich klar, dass die SSD das Problem ist.
Ergänzung ()

0x8100 schrieb:
der controller hat anscheinend seine config verloren, wenn kein namespace mehr sichtbar ist. man könnte versuchen, diesen neu anzulegen. aber selbst wenn das funktionieren sollte, würde ich die ssd wohl nur noch in einem usb-gehäuse als besseren stick verwenden.
Code:
ubuntu@ubuntu:~$ sudo nvme id-ctrl /dev/nvme0 | grep -i tnvmcap
tnvmcap   : 512110190592
ubuntu@ubuntu:~$ sudo nvme id-ctrl /dev/nvme0 | grep ^nn
nn        : 1
ubuntu@ubuntu:~$ sudo nvme id-ctrl /dev/nvme0 | grep ^cntlid
cntlid    : 0x1
ubuntu@ubuntu:~$ sudo nvme create-ns /dev/nvme0 --nsze=1000215216 --ncap=1000215216 --flbas=0 -dps=0
NVMe status: INVALID_OPCODE: The associated command opcode field is not valid(0x2001)
ubuntu@ubuntu:~$ sudo nvme create-ns /dev/nvme0 --nsze=125026902 --ncap=125026902 --flbas=0 -dps=0
NVMe status: INVALID_OPCODE: The associated command opcode field is not valid(0x2001)
Die Block Size entspricht entweder einer page size von 512 bit bzw. 4 kbit.
Ich habe es probiert. Aber entweder bin ich unfähig oder der Controller unwillig :(
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: madmax2010
sudo nvme id-ctrl /dev/nvme0 | grep oacs

Bit 3 sollte da gesetzt sein, sonst kann der Controller kein Namespace-Management.
 
  • Gefällt mir
Reaktionen: Fhnx
Zurück
Oben