Mit HDD mittels LBA unterhalten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mit HDD mittels LBA unterhalten

    Ich möchte gerne auf eine Festplatte zugreifen, das mit einem unbekannten Dateisystem formatiert ist. Ein Tool, mit dem man die Platte bearbeiten kann ist natürlich nur für Win erhältlich.
    Ich weiß aus einer Newsgroup, dass man sich direkt mit der HDD mittels LBA unterhalten können soll.
    - Ich stelle mir etwa so vor, dass ich einen read(adress) an die Platte schicke, und ich dann einen Sektorinhalt zurückbekomme.
    Zur weiteren Info: Die Platte wird als Wechselmedium im System erkannt.
    Nach einigem gesuche habe ich jedoch leider keinen Anhaltspunkt gefunden, wie ich diese Info verwerten soll, wie ich das angehen kann.
    Eingesetzte Sprache für diese Aktion ist C/C++.
    Wäre toll, wenn mir einer Hinweise geben kann, wo ich Infos finde, um einen Anfangspunkt zu haben.
    Danke! :)
  • 1) Was meinst Du mit LBA, Logical Block Address?

    2) Platten sind auch in OS X und /dev/diskIrgendwas verfügbar, und mit Root Rechten sollte man aus diesen Dateien auch lesen können. Welche Platten zu welchen device names gehören, bekommt man mit dem IOKit heraus.

    3) Ich vermisse sowas schon länger, allerdings hätte ich gerne einen Editor mit GUI. Ich hab in dem Bereich -- bei aller Bescheidenheit -- ein bischen Erfahrung. Fang mal an, dann mach ich bei Interesse mit

    Alex
    The only thing that really worried me was the ether.
  • Schön das zu lesen, bringt mich auf jeden fall ein gutes Stück weiter.
    Danke euch vielmals :)

    1) si

    Ich werde mich mal mit der /dev/... Datei und dem IOKit beschäftigen.
    Nun ist noch meine Frage, was für eine Antwort nehme ich, wenn die Box kommt, das OS die Platte nicht lesen kann. - Ich denke "Ignorieren"? Denn "Auswerfen" unmountet die Platte unter Garantie. - Ich hoffe, dass "Ignorieren" da für mich richtig ist und die unlesbare Platte im dev/ dir behält.

    3) mal sehen, wie es sich entwickelt. Die Motivation ist, dass ich mit OS X die Aufnahmen meines HDD Sat Receivers auslesen will. Wenn es was wird, können wir gerne zusammen überlegen, wie sich das Tool weiterentwickeln läßt.

    @Alex, du warst doch der, der den Scanner Treiber entwickelt hat? - Bei dem Stichwort Erfahrung klingelte es bei mir.
  • Original von lol
    Nun ist noch meine Frage, was für eine Antwort nehme ich, wenn die Box kommt, das OS die Platte nicht lesen kann. - Ich denke "Ignorieren"? Denn "Auswerfen" unmountet die Platte unter Garantie. - Ich hoffe, dass "Ignorieren" da für mich richtig ist und die unlesbare Platte im dev/ dir behält.


    Ich GLAUBE ja, als raw device. Wenn nicht, dann musst Du Step two machen: Auslesen über ATAPI Kommandos

    3) mal sehen, wie es sich entwickelt. Die Motivation ist, dass ich mit OS X die Aufnahmen meines HDD Sat Receivers auslesen will. Wenn es was wird, können wir gerne zusammen überlegen, wie sich das Tool weiterentwickeln läßt.

    Original von lol@Alex, du warst doch der, der den Scanner Treiber entwickelt hat? - Bei dem Stichwort Erfahrung klingelte es bei mir.

    Och, jo. Auch das ;)

    Alex
    The only thing that really worried me was the ether.
  • Also wenn die Platte als Raw-Device in /dev sichtbar wird, dann kannst Du mit

    Quellcode

    1. char buffer[SECTORSIZE];
    2. int fd=open("/dev/passenderawdisk", O_RDONLY); // O_RDWR ist gefährlich...
    3. lseek(fd, sector*SECTORSIZE, SEEK_SET);
    4. read(fd, buffer, SECTORSIZE);
    auf die Sektoren zugreifen. Das geht als Command-Line-Tool oder aus Cocoa (dann muß die App aber als Root laufen!).

    -- hns