NTFS-Platte mounten

PatrickBaer

Well-Known Member
Mahlzeit zusammen,

kann mir jemand sagen, wie ich eine Festplatte, die wohl mit GEOM oder ähnliches behandelt wurde, und auf die dann ein Windows gespielt worden ist, mounten kann?

Auf der Platte sind mit sysinstall und in /dev nur noch ad7p1 ad7p2 etc. zu sehen. Fdisk sieht die NTFS-Partition, aber mounten geht natürlich nicht.

Für tips bin ich ganz dankbar.
 
Wenn du uns schreibst, wie dein Mount-Versuch ausgesehen hat, wird man sicher einen Tip abgeben können.
 
Was für einen Mount-Versuch?

Es gibt keinen Eintrag in /dev, was soll ich denn da mounten?

Code:
[root@harrison /home/pba]# fdisk /dev/ad7
******* Working on device /dev/ad7 *******
parameters extracted from in-core disklabel are:
cylinders=620181 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=620181 heads=16 sectors/track=63 (1008 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 7 (0x07),(NTFS, OS/2 HPFS, QNX-2 (16 bit) or Advanced UNIX)
    start 63, size 625121217 (305234 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
[root@harrison /home/pba]# ls /dev/ad7*
/dev/ad7        /dev/ad7p1      /dev/ad7p2      /dev/ad7p3      /dev/ad7p4      /dev/ad7p5
[root@harrison /home/pba]#
 
Ah ok!

Statt der p1-p4 hätt ich jetzt auch s1-s4 erwartet.

Was passiert denn bei einem

# mount -t ntfs /dev/ad7p1 /mnt
 
[root@harrison /home/pba]# mount -t ntfs /dev/ad7p1 /mnt
mount_ntfs: /dev/ad7p1: Invalid argument
[root@harrison /home/pba]# mount -t ntfs-3g /dev/ad7p1 /mnt
mount: /dev/ad7p1 : Operation not supported by device
[root@harrison /home/pba]#

Ich kenn das ja, daß GEOM da so einiges durcheinanderwürfelt und dann gar nix mehr geht. Die Platte war auch schon mal als FreeBSD im Einsatz, weshalb jetzt ein etwas unübersichtliches Label drauf geschrieben wurde:

[root@harrison /home/pba]# glabel list
Geom name: ad7p5
Providers:
1. Name: label/usr0
Mediasize: 312553242112 (291G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 610455551
length: 312553242112
index: 0
Consumers:
1. Name: ad7p5
Mediasize: 312553242624 (291G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p5
Providers:
1. Name: ufsid/4c9538dda71df820
Mediasize: 312553242624 (291G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 610455552
length: 312553242624
index: 0
Consumers:
1. Name: ad7p5
Mediasize: 312553242624 (291G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p5
Providers:
1. Name: gptid/8583654f-c371-11df-83da-0017311c2792
Mediasize: 312553242624 (291G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 610455552
length: 312553242624
index: 0
Consumers:
1. Name: ad7p5
Mediasize: 312553242624 (291G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p4
Providers:
1. Name: label/var0
Mediasize: 1073741312 (1.0G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 2097151
length: 1073741312
index: 0
Consumers:
1. Name: ad7p4
Mediasize: 1073741824 (1.0G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p4
Providers:
1. Name: ufsid/4c9538d71d35f4ff
Mediasize: 1073741824 (1.0G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 2097152
length: 1073741824
index: 0
Consumers:
1. Name: ad7p4
Mediasize: 1073741824 (1.0G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p4
Providers:
1. Name: gptid/83c5dff5-c371-11df-83da-0017311c2792
Mediasize: 1073741824 (1.0G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 2097152
length: 1073741824
index: 0
Consumers:
1. Name: ad7p4
Mediasize: 1073741824 (1.0G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p3
Providers:
1. Name: label/swap0
Mediasize: 4292869632 (4.0G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 8384511
length: 4292869632
index: 0
Consumers:
1. Name: ad7p3
Mediasize: 4292870144 (4.0G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p3
Providers:
1. Name: gptid/824e9530-c371-11df-83da-0017311c2792
Mediasize: 4292870144 (4.0G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 8384512
length: 4292870144
index: 0
Consumers:
1. Name: ad7p3
Mediasize: 4292870144 (4.0G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p2
Providers:
1. Name: gptid/80d8e874-c371-11df-83da-0017311c2792
Mediasize: 2147483648 (2.0G)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 4194304
length: 2147483648
index: 0
Consumers:
1. Name: ad7p2
Mediasize: 2147483648 (2.0G)
Sectorsize: 512
Mode: r0w0e0

Geom name: ad7p1
Providers:
1. Name: gptid/807d59d9-c371-11df-83da-0017311c2792
Mediasize: 65536 (64K)
Sectorsize: 512
Mode: r0w0e0
secoffset: 0
offset: 0
seclength: 128
length: 65536
index: 0
Consumers:
1. Name: ad7p1
Mediasize: 65536 (64K)
Sectorsize: 512
Mode: r0w0e0

[root@harrison /home/pba]#

Nützt mir aber alles nix, weil ich die neue NTFS-Partition nicht las device-node habe!
 
Einmal "gpart show ad7" bitte. Das einzige korrekt arbeitende Partitionstool ist gpart(8), denn nur es arbeitet direkt gegen den Kernel. Alle andere Tools sind nur noch zur Rückkompatiblität vorhanden, sie parsen selbst auf der Platte rum und sehen daher u.U. ganz andere Dinge als der Kernel. Wenn es nach mir ging - was es zum Glück für die Welt nicht tut - sollte man fdisk, bsdlabel und co in den Müll werfen und gar nicht mehr mit installieren. :)
 
[root@harrison /home/pba]# gpart show ad7
=> 34 625142381 ad7 GPT (298G)
34 128 1 freebsd-boot (64K)
162 4194304 2 freebsd-ufs (2.0G)
4194466 8384512 3 freebsd-swap (4.0G)
12578978 2097152 4 freebsd-ufs (1.0G)
14676130 610455552 5 freebsd-ufs (291G)
625131682 10733 - free - (5.2M)


Ok jetzt mal ernsthaft, eine Diskussion über Sinn und Nutzen von geom oder diversen Programmen hilft mir nicht wirklich.

Ich hab ein Terabyte Daten auf einer ZFS-Platte, die ich auf eine NTFS-Platte bringen muß. Windows XP kann kein ZFS, FreeBSD liest meine Platte nicht. Und nu?
 
PS: Also ich schau mir das jetzt hier mal objektiv an und stelle fest:

Eine Festplatte X kann von jedem anderen Betriebssystem (zum Beispiel Linux *spuck*) einwandfrei erkannt und gelesen werden.

Nur FreeBSD kann diese Platte nicht mehr lesen, weil es selbst vor Urzeiten einmal auf diese Platte zugegriffen hat und ihr ureigenes Partitionierungstool einsetzt, daß die Festplatte für immer und alle Zeiten auf FreeBSD prägt (mein Schaaaaaaaaaaaaaaaaaatz)

Oder hab ich da was falsch verstanden?
 
Es ist aber zugegeben die problemloseste Methode. Ist ja nicht so, dass Fuse nun die Antwort auf alle Fragen wäre. Man schafft sich eher neue Probleme. :)

Also, nun mal Butter bei die Fische. Die Platte hat einen GPT, fdisk hat mit dem nichts zu tun. Du kannst also ganz getrost vergessen, was fdisk sagt. Vermutlich ist folgendes passiert:
1. Du hattest FreeBSD mit GPT auf der Platte. Und zwar dem Layout, was gpart dir anzeigt.
2. Es wurde Windows auf der Platte installiert. Windows erkennt in Version 7 zwar schon mal GPT, hier war es aber sicher eine ältere Version. Es dachte, die Platte ist leer und bügelte einfach einen MBR für die DOS-Partitionstabelle rauf.
3. Da ein GPT an anderen Stellen auf der Platte als ein MBR liegt - genauer gesagt sogar zweimal auf ihr, einmal am Anfang und einmal am Ende, sieht FreeBSD nun den MBR und den GPT. Da GPT eine höhere Priorität hat, nimmt er den. Du siehst daher das alte Partitionsschema und nicht das neue von Windows.

So, was machen wir nun? Ich für meinen Teil habe mir angewöhnt Platten vor Recycling grundsätzlich einmal komplett mit Nullen zu überschreiben. Wenn es schnell gehen muss, muss halt ein "gpart destroy" reichen. Das hilft dir aber nicht mehr viel, weil du das Windows sicher nicht wieder zerschreddern willst.

Du kannst folgendes probieren, es kann dir aber die Daten auf der Windows-Platte zerstören!!!:
Code:
gpart destroy ad7
Er müsste den GPT killen, der MBR müsste es überleben und nach einem Reboot müssten die Windows-Partitionen auftauchen. Es kann dir aber auch alles töten und dann sind die Daten weg.
 
Naja problemlos ist so eine Geschichte!

In einem Rechenzentrum mit 200 Rechnern und fünf Kilometer Glasfaser wäre das auch das Nonplusultra. Anschmeissen, heimgehen, morgens wiederkommen, fertig.

Wenn Du das aber daheim im Wohnzimmer machen sollst und die einzige Alternativmühle eine uralte Kiste mit 100MBit NIC ist, verhält sich das ganze ein bißchen anders...

Er müsste den GPT killen, der MBR müsste es überleben

Tut er nicht. Ließ sich aber mit gpart (dem linux-tool) unter slax wieder herstellen und voila. Übrigens half das destroy ned wirklich, zuerst mussten die labels einer nach dem anderen gelöscht werden.

Schön, daß wenigstens einer von dem OS was versteht, das man so vehment verteidigt :)
 
Du machst Deinem Namen wirklich alle Ehre

Fahr die Krallen wieder ein Tiger, das war durchaus als Hilfe gemeint.
Die Alternativen sind nämlich, wie schon von Yamagi geschrieben sehr unbequem und können dir die Windowsplatte zum Mond jagen. Das kann tatsächlich bis dahin gehen, dass man Spezifikationen büffeln und dann ein paar Bytes auf der Platte roh mit nem Hexeditor ändern muss.
Daher würd ich wirklich ernsthaft überlegen, ob du nicht einen anderen Weg nehmen kannst, um deine Daten da rüber zu schaufeln.
 
Den MBR und die GPT Tabellen sichern.
Repairing GPT Disks

Am Anfange der Platte befindet sich die erste GPT (16KByte+512Byte), diese verfügt über einen 512 Bytes großen protective MBR, der vermutlich beim Anlegen der Windows Partition überschrieben wurde.
Vermutlich ist nur noch die zweite GPT vorhanden, da der MBR nur 512 Bytes groß ist, und nach dem MBR meistens eine Partition mit Daten anfängt.

Vielleicht versucht gpart destroy diesen Bereich zu säubern (vielleicht sogar mitsamt dem protective MBR, der deinen richtigen MBR enthält).

Manuelles Sichern des MBR und GPT:

Code:
dd if=/dev/ad7 of=mbr1 bs=512 count=1
und
Code:
dd if=/dev/ad7 of=gpt1 bs=512 count=33
dd if=/dev/ad7 of=gpt2 bs=512 count=33 skip=(Gesamtsektoren-34)

Um die zweite GPT zu löschen sollte folgender Befehl genügen.
Code:
dd if=/dev/zero of=dev/ad7 bs=512 count=33 seek=(Gesamtsektoren-34)

Gibt es einen Befehl, um Datenträger rückwärts einzulesen?

Wenn es möglich ist mit einem Linux deiner Wahl die NTFS Partition zu mounten (vielleicht ist ja Linux nicht so besessen auf GPT), könntest du mit fuse-zfs oder einer anderen Implementierung die Daten kopieren.
 
Zuletzt bearbeitet:
Fahr die Krallen wieder ein Tiger, das war durchaus als Hilfe gemeint.
Die Alternativen sind nämlich, wie schon von Yamagi geschrieben sehr unbequem und können dir die Windowsplatte zum Mond jagen. Das kann tatsächlich bis dahin gehen, dass man Spezifikationen büffeln und dann ein paar Bytes auf der Platte roh mit nem Hexeditor ändern muss.
Daher würd ich wirklich ernsthaft überlegen, ob du nicht einen anderen Weg nehmen kannst, um deine Daten da rüber zu schaufeln.

Das ist aber aus oben genannten Gründen halt leider nicht möglich.

Und mal nebenbei zu der gesamten Geschichte, ich finde diese Geom Nummer mehr als nur übel. Ein Betriebssystem, daß bei der Installation ein proprietäres "Feature" auf der Festplatte hinterlässt, daß sich danach nicht mehr entfernen oder deaktivieren lässt, ohne daß der Inhalt der Festplatte gelöscht wird.

Lass Dir das selber mal durch den Kopf gehen...!
 
GPT ist nicht proprietär. FreeBSD hat sich vollkommen korrekt verhalten. Was den Mist gebaut hat ist Windows, was aber zugegeben hier nichts dafür kann, da es GPT in deiner Version allem Anschein nach noch nicht kennt.
 
GPT ist nicht proprietär. FreeBSD hat sich vollkommen korrekt verhalten. Was den Mist gebaut hat ist Windows, was aber zugegeben hier nichts dafür kann, da es GPT in deiner Version allem Anschein nach noch nicht kennt.

Jepp, ein GPT-Datenträger wurde von einem System, das GPT nicht unterstützt mit einer MBR-Tabelle überschrieben. Diese Schuldzuweisungen bringen rein garnix. Es ist aus Unwissenheit - die man hier niemandem zum Vorwurf machen kann dumm gelaufen.
 
Zurück
Oben