Kann ich diese Dokumente vor dem Vergessen auf einem Sterbegerät speichern?

49

Zuerst ein Geständnis: Nein, ich habe nicht die Backups gemacht, die ich haben sollte.

Zweitens ist die Situation:

Ich habe ein Dell XPS 9550 mit einer Solid-State-Festplatte , auf der Fedora 25 ausgeführt wird .

Ich habe an einer Datei gearbeitet und versucht, sie zu speichern, als mir mitgeteilt wurde, dass ich auf einem schreibgeschützten Dateisystem speichern möchte . Es stellte sich heraus, dass mein Dateisystem jetzt schreibgeschützt ist und es überall E / A-Fehler gibt .

Ich konnte einige der Dateien speichern, indem ich sie über einen offenen Webbrowser per E-Mail an mich selbst schickte. Das ist jedoch abgestürzt und ich kann sie nicht erneut starten. Ich habe jedoch noch interessante Dateien in einem Editor geöffnet. Ich kann die Dateien anscheinend nirgendwo speichern, aber ich kann deren Inhalt kopieren. Wenn ich nur einen Weg finden könnte, den Dateiinhalt zu filtern, könnte ich mir monatelange Arbeit sparen.

Aber es gibt einige schreckliche Einschränkungen. Ich habe versucht, ein USB-Laufwerk mountanzuschließen , aber es wird kein Gerät angezeigt, das es darstellt, und der Befehl wird mit einem Segfault abgebrochen. Ich kann versuchen, auf einen anderen Computer zu ssh, aber ich erhalte "Busfehler" und es stirbt. ping, dmesg, ifconfig, Keines dieser Arbeit. Aber ich habe vimund lessund lsund kann neue bashInstanzen erzeugen .

Nein lynx, nein firefox, nein google-chrome. Es gibt kein DVD-Laufwerk.

Grundsätzlich scheint meine SSD gestorben zu sein. Oder vielleicht das ganze Motherboard. Ich habe noch Dokumente von großem Wert im Speicher, ich habe eine IP-Adresse und eine Netzwerkverbindung, ich kann ein paar zufällige Befehle ausführen und weitere 3500 auf dem Pfad, den ich versuchen könnte.

catund gccscheinen zu funktionieren. Ich kann in Dateien in / tmp schreiben. Ich habe eine laufende ipythonInstanz, die noch zu funktionieren scheint.

Also ... was ich bisher ausprobiert habe, ist gescheitert. Aber ich habe das Gefühl, dass es immer noch tausend Möglichkeiten gibt. Woran denke ich nicht? Wie könnte ich möglicherweise diese Dateien von meinem sterbenden Computer bekommen?

Es muss einen Weg geben.

UPDATE : Neues:

  • Ich habe meine Netzwerkverbindung wegen meiner eigenen Dummheit verloren.
  • Ich habe ein Python-Skript geschrieben, um cpund zu ersetzencp -r
  • Wenn ich keine Möglichkeit finde, einen /devEintrag für die SD-Karte oder für USB-Laufwerke zu erstellen, sind der Bildschirm und möglicherweise die Lautsprecher / das Audiokabel meine besten Tipps zum Abrufen von Daten.
  • Ich schreibe ein Skript, um zu versuchen, Dateien zu lesen und auszugeben, welche lesbar sind.

Vorschläge noch sehr willkommen!

UPDATE 2 : Neuere Sachen:

  • Auf dem sterbenden Computer habe ich ein Python-Skript geschrieben, das nach und nach eine Datei liest und versucht, diese Bits zu übermitteln, indem der Bildschirm in der einen oder anderen Farbe blinkt. Derzeit wird versucht, einen Zwei-Bit-Code zu erstellen, bei dem Rot, Grün, Blau und Weiß jeweils ein Zwei-Bit-Paar darstellen. Das funktioniert allerdings nicht so gut, deshalb wechsle ich möglicherweise zu zwei Farben und mache jeweils ein Bit.
  • Auf meinem anderen Laptop (dem vertrauenswürdigen alten Thinkpad, das ich für dieses heiße neue XPS aufgegeben habe) habe ich ein Skript geschrieben, das mithilfe der OpenCV-Python-Bibliothek von der Webcam liest. Die Idee ist, die vom anderen Computer gesendeten Codes dekodieren zu lassen. Das Problem ist, dass die Bildrate von der Kamera etwa 15 Bilder pro Sekunde beträgt. Wenn ich also eine perfekte, fehlerfreie Übertragung hätte, wäre meine maximale Datenrate 30 Bit pro Sekunde, dh 225 Byte pro Sekunde. Das sind 324.000 pro Tag.
  • Auf dem sterbenden XPS kann ich tardie gewünschten Dateien in ein einziges Archiv packen, das 1,7 MB groß ist. Leider gzip, bzip2, xz, lzopund was auch immer Komprimierungsprogramme sind nicht verfügbar. ABER mit Pythons zlibModul kann ich diese Datei auf 820 KB komprimieren. Angesichts dieser Größe könnte ich das Ding wahrscheinlich in ein paar Tagen verschicken lassen.
  • Da diese Übertragungsmethode wahrscheinlich sehr fehleranfällig ist, implementiere ich Hamming-Codes auf dem XPS, um beim Übertragen der Daten eine gewisse Fehlerkorrektur hinzuzufügen.
  • Wahrscheinlich wird es Komplikationen geben, weil das passiert, aber zumindest scheint es irgendwie machbar, diese Daten herauszubekommen!
  • Da dies immer noch eine ziemlich bescheuerte Methode zum Senden von Daten ist, habe ich mich mehr mit seriellen USB-Treibern befasst. Die Module I Last versucht haben ( usb-serial-simple, usb-debug, safe-serial) geben i / o Fehler. Ich glaube auch nicht, dass es in den Kernel integriert ist, da keine / dev / ttyUSB * -Geräte vorhanden sind.

Vielen Dank für alle Vorschläge bis jetzt --- Ich weiß, dass dies nicht einmal eine genau definierte Frage ist, da ihr im Voraus nicht wisst, welche Programme / Dateien gelesen werden können oder nicht. Noch offen für bessere Vorschläge als dieser Video-Ansatz!

UPDATE 3 : Neuestes Zeug

  • Ich habe eine PS3 Eye-Webcam und lese nach Deaktivierung der automatischen Verstärkung und Belichtung erfolgreich Daten vom XPS, wenn auch mit einer fehlerhaften Geschwindigkeit von 1 Byte pro Sekunde. Dies ist ein großer Erfolg - die ersten Daten werden ausgefiltert! Aber die Rate ist zu langsam, um meine 820 KB in einer angemessenen Zeit herauszubekommen, und die Fehlerrate ist zu hoch.

Ein-Bit-Übertragung mit Uhr

  • Das Problem ist, dass das Schreiben in das Terminal zu langsam ist. Die Bildschirmaktualisierungen sind nicht so unmittelbar, dank der Langsamkeit des urxvtTerminal-Emulators, auf den ich Zugriff habe.
  • Ich habe festgestellt, dass ich auf dem XPS Zugriff auf einen Rust-Compiler habe. Ich habe das Übertragungsskript mit Rust umgeschrieben, um zu sehen, ob dies die Aktualisierungsgeschwindigkeit des Terminals verbessern würde, aber es hat nicht geholfen.
  • Da es unwahrscheinlich ist, dass ich die Framerate erhöhen kann, muss ich versuchen, die Datenmenge zu erhöhen, die ich pro Frame erhalte. Mein aktueller Ansatz sieht ungefähr so ​​aus:

Netzübertragung

Die rechte Hälfte ist immer noch ein Taktsignal, das an und aus blinkt, um das Eintreffen neuer Frames zu markieren. Aber die linke Seite ist jetzt ein Raster, in dem jede Zelle durch ein rotes Quadrat in der Ecke markiert ist. Dann blinkt die grüne Zelle rechts und unten vom roten Quadrat auf und ab, um ein Bit anzuzeigen. Die roten Quadrate sollten den empfangenden Computer an der Stelle kalibrieren lassen, an der sich die Zellen befinden. Ich habe noch keine Daten auf diesem Weg, aber daran arbeite ich.

  • Jemand schlug vor, ich solle QR-Codes anstelle dieser Ad-hoc-Farbmuster schreiben. Ich werde mich auch damit befassen und das vielleicht anstelle dieses Gitteransatzes implementieren. Die Fehlerkorrektur wäre ein schöner Gewinn, ebenso wie die Möglichkeit, Standardbibliotheken zum Dekodieren zu verwenden.
  • Ich habe erfahren, dass ich Zugriff auf libasound (die ALSA-Soundbibliothek) habe, aber nicht auf die damit verbundenen Header-Dateien ( alsa/asoundlib.hoder was auch immer). Wenn jemand weiß, wie man eine gemeinsam genutzte Bibliothek ohne die Header verwendet, oder mir helfen kann, genau den richtigen Header zu schreiben, damit ich eine Audioausgabe erzeuge, kann ich die Dateien auf Audiobasis rausholen.
  • Wenn mir jemand helfen könnte, die USB-Geräte zu manipulieren, ohne auf libusb zuzugreifen, könnte ich dann vielleicht etwas damit anfangen?

Vorwärts!

UPDATE 4 : Audioausgabe erzeugt!

Benutzer Francesco Noferi hat großartige Arbeit geleistet und mir dabei geholfen, die im vorherigen Update erwähnte ALSA-Bibliothek zu nutzen. Der C-Compiler hatte ein Problem, aber mit dem Rust-Compiler konnte ich den FFI direkt aufrufen libasound. Ich habe jetzt eine Menge meiner Daten über Audio abgespielt und es klingt wie Musik in meinen Ohren! Ich muss noch einen echten Kommunikationskanal aufbauen, aber ich bin sehr hoffnungsvoll. Zu diesem Zeitpunkt besteht meine Aufgabe im Wesentlichen darin, ein Modem zu implementieren. Wenn also jemand eine Anleitung zu guten Methoden hat, bin ich ganz Ohr. Idealerweise ist die Modulation einfach per Hand zu implementieren und es gibt eine Demodulation, für die ich eine vorhandene Bibliothek verwenden kann. Da dies theoretisch direkt über ein Audiokabel und nicht über das Telefonnetz gehen kann Wir können viel besser als 56 kbit / s oder was auch immer der Standard damals war, aber in der Praxis, wer weiß, was wir bekommen werden.

Vielen Dank an alle, die hier mitgemacht haben und an / r / techsupportmacgyver und an / r / rust, die so viele exzellente Vorschläge beigesteuert haben. Wir werden dieses "Modem" bald implementieren und dann werde ich es mit einem Epilog abschließen. Ich denke, ich könnte meinen Code irgendwo für andere verzweifelte Leute aufstellen, um ihn in Zukunft zu nutzen - vielleicht sogar für ein Repository mit seltsamen Exfiltrationswerkzeugen, die sich einfach von Hand in eine Sterbe-Maschine eingeben lassen? Mal sehen was passiert.

UPDATE 5 : Es hat lange gedauert, bis ich mit ALSA und meinem billigen StarTech-USB-Audio-Capture-Gerät (keine eingebaute Leitung auf dem empfangenden Laptop) gerungen bin, und viele fingen falsch an, mein eigenes Übertragungsprotokoll zu erstellen, aber schließlich unter dem Rat einiger Freunde von Amateurfunkfreunden Ich habe das RTTY-Leitungsprotokoll mit 150 Baudimplementiert, was in der Praxis etwa 10 Bytes pro Sekunde ergibt. Es ist nicht super schnell, aber es ist ziemlich zuverlässig. Und ich bin fast fertig mit der Übertragung meiner 820 KB großen Datei, die mit CRC32-Prüfsummen überprüft wurde (mit der crc32-Funktionalität von Python)zlibModul, auf das ich Zugriff habe). Also erkläre ich den Sieg und möchte mich noch einmal bedanken! Ich werde etwas mehr Zeit damit verbringen, weitere Dateien zu finden, die lesbar sind und die ich übertragen kann, aber die Grundlage ist vorhanden. Es hat Spaß gemacht, mit euch allen zu arbeiten!

FINAL UPDATE :

Auf der Sterbemaschine:

$ tar cf ./files
$ ./checksum.py ./files.tar 9999999
Part 1 checksum: -1459633665
$ ./zlib_compress.py ./files.tar
$ ./checksum.py ./files.tar.z 9999999
Part 1 checksum: -378365928
$ ./transmit_rust/target/debug/transmit ./files.tar.z
Transmitting files.tar.gz over audio using RTTY
Period size: 2048
Sample rate: 44100
Samples per bit: 294
Sending start signal.
Transmitting data.
nread: 2048
nread: 2048
...
nread: 2048
nread: 208
Transmission complete. Sending hold signal.

Auf der Rettungsmaschine:

$ minimodem --rx -8 --rx-one -R 44100 -S 915 -M 1085 --startbits 3
            --stopbits 2 --alsa=1 150 -q > ./files.tar.z
$ ./checksum.py ./files.tar.z
Part 1 checksum: -378365928
$ ./zlib_decompress.py ./files.tar.z
$ ./checksum.py ./files.tar
Part 1 checksum: -1459633665

:-)

Josh Hansen
quelle
4
Verwandte:  Unix Recovery Legend .
G-Man sagt, dass Monica
2
Wechseln Sie in das Verzeichnis, in dem Sie die Dateien haben, und geben Sie den Befehl aus python -m SimpleHTTPServer. Jetzt teilen Sie die Dateien über einen http-Server in Port 8000 . Öffnen Sie einen Browser auf einem anderen Gerät im selben Netzwerk und geben Sie Folgendes ein: http://<IP address>:8000und beginnen Sie mit dem Herunterladen aller verfügbaren Informationen.
jcbermu
2
Tolles Stück Geek-Zeug, das du hier hast. Ich wünschte, ich könnte zweimal stimmen.
Kamil Maciorowski
1
Wie wäre es, wenn Sie den Mist aus dem RAM kühlen, um die Volatilität zu verringern und ihn auf ein alternatives XPS zu verschieben? en.wikipedia.org/wiki/Cold_boot_attack
root
1
Etwas abseits des Themas, aber es wäre großartig, wenn Sie die zugehörigen Reddit-Threads verlinken könnten, damit wir sehen können, was dort vorgeschlagen wurde.
Bob

Antworten:

15

Hier ist ein Beispiel für ein libasound-Programm mit gerade genug Definitionen, um eine grundlegende 2-Kanal-44.1k-WAV-Ausgabe ohne Header zu erhalten.

EDIT: Ich bin mir nicht sicher, ob es funktionieren würde, wenn die Daten direkt als WAV gespeichert werden, da Rauschen beim Aufnehmen sie leicht beschädigen könnte, aber Sie können wahrscheinlich so etwas wie eine Sinuswelle von Bits mit hoher Frequenz machen, was zuverlässiger ist

EDIT2: Wenn ein Play vorhanden ist und funktioniert, können Sie das auch verwenden und einfach ein Programm schreiben, das Roh-Audio ausgibt und in ein Play oder etwas anderes leitet, das Audio abspielen kann

EDIT3: Es wurde so geändert, dass keine Header mehr verwendet werden

Wenn -lasound nicht kompiliert, fügen Sie -L / path / where / libasound / is / located hinzu

/*
    gcc alsa_noheader.c -lasound
    cat stuff.wav | ./a.out
*/

typedef unsigned int uint;
typedef unsigned long ulon;

int printf(char*, ...);
void* malloc(long);
long read(int fd, void* buf, ulon count);

int snd_pcm_open(void**, char*, int, int);
ulon snd_pcm_hw_params_sizeof();
int snd_pcm_hw_params_any(void*, void*);
int snd_pcm_hw_params_set_access(void*, void*, int);
int snd_pcm_hw_params_set_format(void*, void*, int);
int snd_pcm_hw_params_set_channels(void*, void*, uint);
int snd_pcm_hw_params_set_rate_near(void*, void*, uint*, int*);
int snd_pcm_hw_params(void*, void*);
int snd_pcm_hw_params_get_period_size(void*, ulon*, int*);
long snd_pcm_writei(void*, void*, uint);
int snd_pcm_prepare(void*);
int snd_pcm_drain(void*);
int snd_pcm_close(void*);

int main(int argc, char* argv[])
{
    void* pcm;
    void* params;

    int rate;
    int nchannels;
    ulon frames;
    void* buf;
    int bufsize;
    long nread;

    snd_pcm_open(&pcm, "default", 0, 0);
    params = malloc(snd_pcm_hw_params_sizeof());
    snd_pcm_hw_params_any(pcm, params);

    /* 3 = rw_interleaved */
    snd_pcm_hw_params_set_access(pcm, params, 3);

    /* 2 = 16-bit signed little endian */
    snd_pcm_hw_params_set_format(pcm, params, 2);

    /* 2 channels */
    nchannels = 2;
    snd_pcm_hw_params_set_channels(pcm, params, nchannels);

    /* sample rate */
    rate = 44100;
    snd_pcm_hw_params_set_rate_near(pcm, params, &rate, 0);

    snd_pcm_hw_params(pcm, params);
    snd_pcm_hw_params_get_period_size(params, &frames, 0);

    bufsize = frames * nchannels * 2;
    buf = malloc(bufsize);

    /* read file from stdin */
    while (nread = read(0, buf, bufsize) > 0)
    {
        if (snd_pcm_writei(pcm, buf, frames) == -29)
        {
            printf("W: underrun\n");
            snd_pcm_prepare(pcm);
        }
    }

    snd_pcm_drain(pcm);
    snd_pcm_close(pcm);

    return 0;
}
Francesco Noferi
quelle
Ich habe dich aufgewertet und denke, du verdienst jede Menge Anerkennung für diesen großartigen Ansatz! Hier ist das Problem: Ich erhalte E / A-Fehler für alle vier Include-Dateien, die Sie verwenden möchten. Also brauche ich einen Weg, um das zu umgehen. Ich kann zur Vorverarbeitung auf dem anderen Laptop, aber das ergibt eine 63K-Datei, 11K gzippt. Wenn ich ein Mittel, um Daten zu finden in den XPS dann das machbar ist, aber ich bin nicht begeistert davon in von Hand eingeben. Die kompilierte Datei ist 10,4 KB oder 2,4 KB groß. Das bringt mich dahin, wo ich es von Hand eintippen könnte, aber Fehler wären schwer zu erkennen.
Josh Hansen
1
Ich habe das Programm so bearbeitet, dass überhaupt keine Header verwendet werden. Versuchen Sie das
Francesco Noferi,
gccgab mir "Busfehler" (die mit einigen Programmen auftreten, aber nicht wirklich verstehen) Es kompiliert und läuft, aber ich höre immer noch nichts. Aber ich bin mir nicht sicher, ob die Lautstärke zu hoch ist - möglicherweise ist sie stummgeschaltet. Aber ich kann nicht alsamixer / xfce4-mixer laufen lassen, um zu überprüfen. Ich prüfe die direkte Verwendung von Alsalib, um sicherzustellen, dass die Lautstärke erhöht ist. Vielen Dank für Ihren Einsatz!
Josh Hansen
1
Schön zu hören, dass du es geschafft hast! Hier ist ein Programm, das die Mischpult-Steuerelemente des Standardgeräts auflistet und sie alle maximiert : gist.github.com/008f0c3acdbcae886a19868a0554987b . Wenn Sie immer noch Probleme haben, müssen Sie möglicherweise etwas schreiben, um die Audioausgänge und deren Mixer-Einträge aufzulisten, um sicherzustellen, dass sie wirklich kaputt sind und nicht nur auf das falsche / stummgeschaltete Gerät ausgegeben werden. Sie könnten auch versuchen, dem Audioausgabeprogramm eine Fehlerprüfung hinzuzufügen, um festzustellen, ob ein Fehler vorliegt. Busfehler bedeutet "versucht, auf Speicher zuzugreifen, der möglicherweise nicht vorhanden sein könnte", also möglicherweise beschädigte Speicherbibliotheken
Francesco Noferi
Es stellte sich heraus, dass die Lautstärke zu hoch war, aber ich habe eigentlich keine Bytes an die Lautsprecher gesendet - irgendwie verstehe ich nicht, wie in einem Puffer in Rust gelesen wird, es liest immer 0 Bytes. Aber mit einigen Bytes, die ich erstellt habe, konnte ich eine Audioausgabe erzeugen! Das ist großartig, es scheint ein guter Weg zu sein, um die Daten auf eine schöne, saubere Art und Weise zu entfernen. Jetzt ist es Zeit, etwas über Modulations- / Demodulationsstrategien zu lernen, damit ich dies intelligent tun kann. Vielen Dank für Ihre Arbeit an diesem --- sehr geschätzt!
Josh Hansen
3

Funktioniert Ihr HDMI- oder ein anderer Bildschirmausgang? In diesem Fall können Sie ein Bildschirmaufzeichnungsgerät verwenden, um es als Video aufzuzeichnen und später zu verarbeiten. Dadurch wird die Framerate Ihrer Webcam nicht eingeschränkt.

user169884
quelle
2

Wie wäre es, wenn Sie Ihre Daten verhexen und Seite für Seite an das Terminal ausgeben?

Sie können ein Präfix mit dem Versatz in der Binärdatei hinzufügen, damit Sie eine Seite einfach neu generieren können (zur manuellen Korrektur?)

Verwenden Sie dann auf einem anderen Computer eine OCR-Software, um die Seiten zu scannen.

80x25-Terminal würde 1000 Bytes pro Seite ergeben (abzüglich etwas Platz für das Präfix). Auf rund 1000 Seiten könnten Sie also Ihre Daten rausholen. Selbst bei einer Seite pro Sekunde sind das weniger als 20 Minuten.

Hex-Codierung ist einfach zu schreiben und bietet auch eine unformatierte Form der Fehlerkorrektur (es gibt nur 16 gültige Symbole).

Jan
quelle
1

Kannst du eine Netzwerkverbindung aufbauen? ssh ist vielleicht ein bisschen zu viel, aber wenn Sie netcat auf 2 Computern verwenden können, können Sie möglicherweise Daten übertragen. eine im Sendemodus, eine im Hörmodus. Wenn Sie nur Text übertragen müssen, könnte dies eine Lösung sein.

edit: vergiss nicht, lies einfach, dass du auch deine Netzwerkverbindung verloren hast ..

Xzenor
quelle
1
Ich denke, dass Ihre Antwort es verdient, da oben zu sein. nchat keine anderen Abhängigkeiten als einen funktionierenden Netzwerkstapel, den OP hatte, bis er ihn in die Luft jagte. Dadurch wird die Wahrscheinlichkeit, dass die ausführbare Datei nicht gestartet wird, drastisch verringert. Wenn jemand anderes auf ein ähnliches Problem stößt, ist dies auf jeden Fall eine nützliche Lösung.
Zneak
0

Möglicherweise können Sie sich selbst über die Befehlszeile eine E-Mail senden, einschließlich des Versendens von Dateien.

So etwas wie:

$ mail -s "Hello World" user@yourmaildomain.com < /tmp/urgentFileToSave.txt

sollte arbeiten.

Einige weitere Beispiele: http://www.binarytides.com/linux-mail-command-examples/

mcalex
quelle
Leider gehört mailes nicht zu der (im Wesentlichen zufälligen) Sammlung von Programmen, die ich ausführen kann. Außerdem habe ich meine Netzwerkverbindung verloren :-(
Josh Hansen
Autsch. OK, ich habe nur noch catdie Dateien und mache Fotos mit deinem Handy.
Mcalex
Es kann dazu kommen!
Josh Hansen
0

Kann Python auf Ihren Audio-Out-Port zugreifen? Sie können versuchen, Daten mit diesem oder jenem zu übertragen .

lukeg
quelle
Ich glaube nicht, dass ich Pythons Audiobibliotheken installiert habe, also wahrscheinlich nicht. Es gibt aber ALSA-Geräte in / dev / snd. alsa-lib ist installiert, aber ich glaube nicht, dass ich es lesen kann. Gibt es eine Möglichkeit, direkt auf die Audiogeräte zu schreiben?
Josh Hansen
@ user17219 Sind Sie sicher, dass ossaudiodevIhre Python-Installation keine Bibliothek enthält? Es sollte ein Standardmodul in Linux und FreeBSD sein, wenn ich die Dokumentation richtig lese. import ossaudiodevarbeitete in meinem Ubuntu out of the box.
Lukeg
Eigentlich hast du recht, dass es vorhanden ist, aber leider war es nicht im Speicher, so dass ich es nicht lesen kann - es versucht, das Modul von der Festplatte zu lesen, was zu einem E / A-Fehler führt :-( Das war ausgezeichnet Vorschlag, aber
Josh Hansen
@ user17219 das ist schade. tldp.org/HOWTO/Alsa-sound-6.html - Dieser Link zeigt, dass Sie versuchen können, catdie Datei auf dem /dev/snd/pcm...Gerät auszurichten .
Lukeg
Ich habe es versucht, aber einige seltsame Fehler bekommen. Ich denke, die PCM-Geräte haben sich geändert, seitdem dieses Dokument geschrieben wurde. Jetzt gibt es * p- und * c-Varianten. Ich habe versucht , cating /dev/randomin alle von ihnen , aber ohne Erfolg.
Josh Hansen
0

Sie können die SSD von Ihrem Computer entfernen und dd/ photorec/ etc auf einem anderen funktionierenden Computer.

Hier ist das Dell-Servicehandbuch für den 9550 - siehe Abschnitt "Entfernen des Solid-State-Laufwerks". Sobald Sie das Laufwerk entfernt haben, können Sie ein externes M.2-USB-Gehäuse erwerben und die Festplatte an einen anderen Computer anschließen, um Ihre Daten wiederherzustellen.

DankMemes
quelle
3
-1. In diesem Fall kann Ihr Rat die Sache noch schlimmer machen. Zunächst können wir nicht sicher sein, welche Dateien für die SSD festgeschrieben wurden. Möglicherweise sind sie im Cache vorhanden. Einige Dateien wurden überhaupt nicht gespeichert: "Aber ich habe immer noch Dateien von Interesse in einem Editor geöffnet. Ich kann die Dateien anscheinend nirgendwo speichern, aber ich kann ihren Inhalt kopieren." Als nächstes besteht die Gefahr, dass die SSD nicht mehr initialisiert wird. es funktioniert jetzt, weil es vor der Störung initialisiert wurde. Ihre Lösung bedeutet, dass Sie den RAM-Inhalt und möglicherweise den SSD-Inhalt verlieren. Ich fürchte, es wäre ein Coup de Grâce .
Kamil Maciorowski
0

Long Shot, aber in einigen Distributionen sind Amateurfunk-Protokolle eingebaut. Eines davon ist fldigi. Probier welches fldigi.

Wenn Sie dies oder jenes haben, konvertieren sie Text in Audio, normalerweise unter Verwendung einer Variation der Phasenumtastung. Die Ausgabe erfolgt über Ihre Lautsprecher / Kopfhörer und wird von einem stabilen Computer im selben Raum empfangen, der auf dem Mikrofon aufgelistet ist. (Dies eliminiert die Amateurfunkgeräte, die das Audio über die Funkwellen senden und empfangen).

JimR
quelle
0

Der QR-Code-Ansatz könnte gut sein. Sie können so viele wie möglich auf den Bildschirm bringen und sie aktualisieren, sobald Ihr Terminal dies zulässt. Nehmen Sie dann den Bildschirm des XPS mit einer Kamera auf (im Gegensatz zur Verwendung einer Webcam) und entziffern Sie einfach das gespeicherte Video. Könnte hilfreich sein, um sogar Zeitlupenaufnahmen zu machen.

Ezhik
quelle
0

Tolle Show :) Ich habe einen Vorschlag: Sie können Daten auch mit einer Fotodiode vom Bildschirm lesen, die an die Soundkarte des anderen Computers angeschlossen ist

Milo O'h
quelle
Oder verbinden Sie den Audioausgang mit dem Eingang einer externen Soundkarte (um Rauschen zu vermeiden). Lassen
Milo O'h
Die Frage selbst und einige frühere Antworten beschreiben die Erfassung der Bildschirmbilder mit einer Kamera. Wäre Ihr Ansatz besser? Oder auch nur annähernd so gut? Wenn ja, bitte erläutern. Antworten Sie nicht in Kommentaren. Bearbeiten Sie Ihre Antwort, um sie klarer und vollständiger zu gestalten.
G-Man sagt, dass Monica