Hallo zusammen,
erstmal vorweg, bin neu hier, also verzeiht mir, falls ich ein paar Sachen vergesse zu schreiben, oder so. ;)
In Linux selbst würde ich mich selbst als fortgeschrittenen Nutzer ansehen.
Nun zur Sache:
1. Vorfall:
Ich habe eine 500 GB große externe Festplatte (2,5'' HDD von Samsung - HJ500) von einer Person erhalten, um die Daten darauf zu retten.
Sie wird in Windows 7 und XP nicht mehr erkannt und in Linux Mint 17.3 auch nicht mehr automatisch eingebunden und auch nicht mit "fdisk -l" gelistet.
Mit "cat /proc/partitions" wurde sie jedoch als "sdd" und mit korrekter Größe erkannt. Die darauf liegende NTFS-Partition jedoch nicht.
2. Was habe ich bisher gemacht?
a) TestDisk - Direkter Scan der Festplatte:
Als ich die Platte kurz mit TestDisk scannte, konnte die NTFS-Partition mithilfe des Backup-Sectors für den MBR gefunden werden.
Nur konnte ich dieses Backup nicht in den normalen MBR-Sector schreiben. Eine Wiederherstellung des zerstörten MBR war damit trotz intaktem Backup nicht möglich.
b) -ddrescue, -TestDisk, -Photorec:
Nun habe ich mit "ddrescue" ein komplettes Festplatten-Image auf eine andere leere in ext4 formatierte 1,5 TB große Festplatte (sdc1) erstellt, was ca. 30 Stunden dauerte.
Dabei fiel sehr schnell auf, dass die ersten 13 GB der Festplatte trotz "Timming" und "Splitting" unlesbar waren. Damit war es klar, warum ich den MBR nicht schreiben konnte.
Der Befehl war:
Mit folgendem Befehl erzeugte ich eine Sicherung des Backups:
Als erstes versuchte ich nun mit TestDisk die Kopie "imagecp.dat" nach der NTFS-Partition zu durchforsten. Jedoch wurde keine Partition entdeckt, was seltsam war, da auf der Platte selbst ja diese vorher gefunden wurde.
Das selbe versuchte ich mit dem Befehl "file -s" als auch mit "parted". In keinem Fall hatte ich Erfolg, irgendwas zu finden. Es wurde nur in etwa ausgegegeben, dass eben kein Dateisystem bzw. keine Partition gefunden wurde.
Nun ließ ich einfach mal Photorec über die "imagecp.dat" laufen und konnte am Ende ca. 30 GB Daten retten, wovon aber mehr als die Hälfte leere .doc-Dateien und nicht lesbare .asf-Dateien (Video-Dateien, die ich mit MPlayer und VLC öffnete) waren.
Es wurden hauptsächlich nur .jpeg-, .mp3- und .mpg-Dateien wirklich lesbar wiederhergestellt. Dazu gesellte sich eine unbeschädigte, aber fast 400 GB große .mpg-Datei. Da sie eben mit einem "f" im Dateinamen beginnt, heißt das ja, dass sie vollständig ohne Fehler wiederhergestellt wurde, anders wäre es, wenn am Anfang ein "b" gestanden hätte. Ich recherchierte, dass Photorec offenbar häufiger große .mpg-Dateien erstellt, in welchen eigentlich viele kleinere Dateien drinnen sind. Daher gehe ich sehr davon aus, dass in dieser .mpg-Datei ebenso noch vollständig lesbare Dateien drin sein müssten.
Letztendlich gabs am Ende noch eine gut 50 GB große Image-Datei "image_remaining.dd" mit dem Rest, was Photorec nicht auslesen konnte.
Nun gut, mit einem Python-Skript habe ich die geretteten Dateien letztlich nach der Dateiendung sortieren lassen.
Da mich diese fast 400 GB große .mpg-Datei nicht in Ruhe ließ, versuchte ich nochmal etwas anderes.
c) Rettung des Backup-Sectors von der beschädigten Festplatte "sdd":
Ich versuchte irgendwie den Backup-Sector, also den Backup-MBR auf der kaputten Platte zu sichern. Wusste aber nicht wie. Ich fand heraus, dass dieses Backup irgendwo am Ende der Platte sei, aber anders als bei GPT, eben nicht ganz am Ende.
Diesen Versuch gab ich nach ein paar Stunden aufgrund mangelndem Wissen auf.
d) Testweise mal Testdisk über originales Image "image.dat" laufen lassen:
Oh Wunder, es wurde die NTFS-Partition gefunden. Ich konnte in diesem Image nun den primären MBR wiederherstellen.
3. Was nun?
So, jetzt freute ich mich aber zu früh, denn ich kann diese Partition, die ja nun da ist mit vorhandener Partitionstabelle im Image, nicht mounten.
Ich probierte folgende Befehle durch:
a) gparted:
Dort wird die ntfs-Partition erkannt, aber mit einer Warnung:
Warum will der nun eine image.dat1 lesen? Es ist ja klar, dass es diese nicht gibt...
b) fdisk, parted und mount:
Egal, was ich da probiere, es klappt nicht, obwohl ich nun genau weiß, wo die NTFS-Partition beginnt und dass sie auch da ist und der MBR auch voll intakt ist.
c) ImDisk über Windows 7:
Obwohl ich bei diesem Programm nicht weiß, ob ich den Startsektor der Partition nun mit 63b 32256, 2048, 2048B, 1048576, 1048576B oder 1048576b angeben muss,
kann ich die Partition aus dem Image zwar einbinden, aber ich kann keinen Chkdsk \f durchführen, weil Windows sagt, dass es auf die Festplatte nicht zugreifen können, sprich nicht auf die via ImDisk eingebundene Partition.
Ich guckte mir dann noch eine Art man für ImDisk an: http://ift.tt/1MfaKWX
Darauf versuchte ich es mit dem Befehl:
Dieser soll eigentlich die erste Partition auf der Platte einbinden. Auch hier wird zwar etwas eingebunden, aber eben kein Dateisystem erkannt, und chkdsk kann ebenso nicht ausgeführt werden.
Irgendwas scheine ich da wohl falsch zu machen, denn es ist ja eine NTFS-Partition da und unter Linux wird sie auch korrekt als solche via parted, fdisk und gparted erkannt.
Kann es eventuell daran liegen, dass ich in Windows mit einem Programm die ext4-formatierte Platte (sdc1) einbinde? Es war mir zu mühseeling, in Linux nun eine NTFS-Partition zu erstellen, und darauf die image.dat zu kopieren, da das einerseits an die 7 Stunden dauert und andererseits ja diese erste Kopie "imagecp.dat" offenbar fehlerhaft kopiert wurde, weil mit dieser die NTFS-Partition nicht gefunden wurde. Außerdem traue ich es Linux nicht zu, dass es eine 500 GB große Datei wirklich sauber auf NTFS schreiben kann.
Meine Frage ist nun ganz simpel: Wie bekomme ich diese Partition gemounted?
Am besten in Windows, denn ich muss sicher das Dateisystem dann erstmal reparieren lassen und das kann eben nur chkdsk.
Aber ich habe auch nichts dagegen, wenn man in Linux noch irgendwas machen könnte. Wie kann ich z.B. gparted sagen, er soll nicht eine image.dat1 nutzen, sondern die image.dat (ohne dieser 1)?
Wäre echt dankbar, wenn hier jemand weiß, was ich falsch mache und wie ich das Ding nun eingebunden bekomme. :)
Habe bis jetzt eh schon all das ganz alleine hinbekommen, aber so knapp vor dem Ziel weiß ich keine Lösung mehr. ^^
Danke vorerst schon mal!
LG
MikeX
erstmal vorweg, bin neu hier, also verzeiht mir, falls ich ein paar Sachen vergesse zu schreiben, oder so. ;)
In Linux selbst würde ich mich selbst als fortgeschrittenen Nutzer ansehen.
Nun zur Sache:
1. Vorfall:
Ich habe eine 500 GB große externe Festplatte (2,5'' HDD von Samsung - HJ500) von einer Person erhalten, um die Daten darauf zu retten.
Sie wird in Windows 7 und XP nicht mehr erkannt und in Linux Mint 17.3 auch nicht mehr automatisch eingebunden und auch nicht mit "fdisk -l" gelistet.
Mit "cat /proc/partitions" wurde sie jedoch als "sdd" und mit korrekter Größe erkannt. Die darauf liegende NTFS-Partition jedoch nicht.
2. Was habe ich bisher gemacht?
a) TestDisk - Direkter Scan der Festplatte:
Als ich die Platte kurz mit TestDisk scannte, konnte die NTFS-Partition mithilfe des Backup-Sectors für den MBR gefunden werden.
Nur konnte ich dieses Backup nicht in den normalen MBR-Sector schreiben. Eine Wiederherstellung des zerstörten MBR war damit trotz intaktem Backup nicht möglich.
b) -ddrescue, -TestDisk, -Photorec:
Nun habe ich mit "ddrescue" ein komplettes Festplatten-Image auf eine andere leere in ext4 formatierte 1,5 TB große Festplatte (sdc1) erstellt, was ca. 30 Stunden dauerte.
Dabei fiel sehr schnell auf, dass die ersten 13 GB der Festplatte trotz "Timming" und "Splitting" unlesbar waren. Damit war es klar, warum ich den MBR nicht schreiben konnte.
Der Befehl war:
Code:
ddrescue /dev/sdd /media/user/sdc1/image.dat
Code:
cp /media/user/sdc1/image.dat /media/user/sdc1/Kopie/imagecp.dat
Das selbe versuchte ich mit dem Befehl "file -s" als auch mit "parted". In keinem Fall hatte ich Erfolg, irgendwas zu finden. Es wurde nur in etwa ausgegegeben, dass eben kein Dateisystem bzw. keine Partition gefunden wurde.
Nun ließ ich einfach mal Photorec über die "imagecp.dat" laufen und konnte am Ende ca. 30 GB Daten retten, wovon aber mehr als die Hälfte leere .doc-Dateien und nicht lesbare .asf-Dateien (Video-Dateien, die ich mit MPlayer und VLC öffnete) waren.
Es wurden hauptsächlich nur .jpeg-, .mp3- und .mpg-Dateien wirklich lesbar wiederhergestellt. Dazu gesellte sich eine unbeschädigte, aber fast 400 GB große .mpg-Datei. Da sie eben mit einem "f" im Dateinamen beginnt, heißt das ja, dass sie vollständig ohne Fehler wiederhergestellt wurde, anders wäre es, wenn am Anfang ein "b" gestanden hätte. Ich recherchierte, dass Photorec offenbar häufiger große .mpg-Dateien erstellt, in welchen eigentlich viele kleinere Dateien drinnen sind. Daher gehe ich sehr davon aus, dass in dieser .mpg-Datei ebenso noch vollständig lesbare Dateien drin sein müssten.
Letztendlich gabs am Ende noch eine gut 50 GB große Image-Datei "image_remaining.dd" mit dem Rest, was Photorec nicht auslesen konnte.
Nun gut, mit einem Python-Skript habe ich die geretteten Dateien letztlich nach der Dateiendung sortieren lassen.
Da mich diese fast 400 GB große .mpg-Datei nicht in Ruhe ließ, versuchte ich nochmal etwas anderes.
c) Rettung des Backup-Sectors von der beschädigten Festplatte "sdd":
Ich versuchte irgendwie den Backup-Sector, also den Backup-MBR auf der kaputten Platte zu sichern. Wusste aber nicht wie. Ich fand heraus, dass dieses Backup irgendwo am Ende der Platte sei, aber anders als bei GPT, eben nicht ganz am Ende.
Diesen Versuch gab ich nach ein paar Stunden aufgrund mangelndem Wissen auf.
d) Testweise mal Testdisk über originales Image "image.dat" laufen lassen:
Oh Wunder, es wurde die NTFS-Partition gefunden. Ich konnte in diesem Image nun den primären MBR wiederherstellen.
3. Was nun?
So, jetzt freute ich mich aber zu früh, denn ich kann diese Partition, die ja nun da ist mit vorhandener Partitionstabelle im Image, nicht mounten.
Ich probierte folgende Befehle durch:
a) gparted:
Code:
gparted /media/user/sdc1/image.dat
Code:
The device /media/user/sdc1/image.dat1 doesn't exist
Der Inhalt des Dateisystems konnte nicht gelesen werden!
Aufgrund dessen könnten einige Vorgänge nicht zur Verfügung stehen.
Die Ursache könnte ein fehlendes Softwarepaket sein.
Die folgende Liste zeigt die Softwarepakete, die zur Unterstützung des ntfs-Dateisystems erforderlich sind: ntfsprogs / ntfs-3g.
b) fdisk, parted und mount:
Code:
~ $ sudo fdisk -l /media/user/sdc1/image.dat
Disk /media/user/sdc1/image.dat: 500.1 GB, 500107862016 bytes
255 Köpfe, 63 Sektoren/Spur, 60801 Zylinder, zusammen 976773168 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Festplattenidentifikation: 0x00000000
Gerät boot. Anfang Ende Blöcke Id System
/media/user/sdc1/image.dat1 * 2048 976771071 488384512 7 HPFS/NTFS/exFAT
~ $ sudo parted /media/user/sdc1/image.dat
GNU Parted 2.3
/media/user/sdc1/image.dat wird verwendet
Willkommen zu GNU Parted! Rufen Sie »help« auf, um eine Liste der verfügbaren
Befehle zu erhalten.
(parted) unit
Einheit? [compact]? B
(parted) print
Modell: (file)
Festplatte /media/user/sdc1/image.dat: 500107862016B
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Nummer Anfang Ende Größe Typ Dateisystem Flags
1 1048576B 500106788863B 500105740288B primary ntfs boot
(parted)
~ $ sudo mount -o loop,offset=1048576 /media/user/sdc1/image.dat /media/loop_mount
mount: Sie müssen den Dateisystemtyp angeben
~ $ sudo mount -o loop,ro,offset=1048576 -t ntfs /media/user/sdc1/image.dat /media/ntfs
ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 65535: Das Argument ist ungültig
Record 0 has no FILE magic (0x0)
Failed to load $MFT: Eingabe-/Ausgabefehler
Failed to mount '/dev/loop0': Eingabe-/Ausgabefehler
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.
c) ImDisk über Windows 7:
Obwohl ich bei diesem Programm nicht weiß, ob ich den Startsektor der Partition nun mit 63b 32256, 2048, 2048B, 1048576, 1048576B oder 1048576b angeben muss,
kann ich die Partition aus dem Image zwar einbinden, aber ich kann keinen Chkdsk \f durchführen, weil Windows sagt, dass es auf die Festplatte nicht zugreifen können, sprich nicht auf die via ImDisk eingebundene Partition.
Ich guckte mir dann noch eine Art man für ImDisk an: http://ift.tt/1MfaKWX
Darauf versuchte ich es mit dem Befehl:
Code:
imdisk.exe -a -f G:\image.dat -m R: -v 1
Irgendwas scheine ich da wohl falsch zu machen, denn es ist ja eine NTFS-Partition da und unter Linux wird sie auch korrekt als solche via parted, fdisk und gparted erkannt.
Kann es eventuell daran liegen, dass ich in Windows mit einem Programm die ext4-formatierte Platte (sdc1) einbinde? Es war mir zu mühseeling, in Linux nun eine NTFS-Partition zu erstellen, und darauf die image.dat zu kopieren, da das einerseits an die 7 Stunden dauert und andererseits ja diese erste Kopie "imagecp.dat" offenbar fehlerhaft kopiert wurde, weil mit dieser die NTFS-Partition nicht gefunden wurde. Außerdem traue ich es Linux nicht zu, dass es eine 500 GB große Datei wirklich sauber auf NTFS schreiben kann.
Meine Frage ist nun ganz simpel: Wie bekomme ich diese Partition gemounted?
Am besten in Windows, denn ich muss sicher das Dateisystem dann erstmal reparieren lassen und das kann eben nur chkdsk.
Aber ich habe auch nichts dagegen, wenn man in Linux noch irgendwas machen könnte. Wie kann ich z.B. gparted sagen, er soll nicht eine image.dat1 nutzen, sondern die image.dat (ohne dieser 1)?
Wäre echt dankbar, wenn hier jemand weiß, was ich falsch mache und wie ich das Ding nun eingebunden bekomme. :)
Habe bis jetzt eh schon all das ganz alleine hinbekommen, aber so knapp vor dem Ziel weiß ich keine Lösung mehr. ^^
Danke vorerst schon mal!
LG
MikeX
0 commentaires:
Enregistrer un commentaire