Probleme mit 3TB und GPT

Shinsaja

Grand Admiral Special
Mitglied seit
24.03.2009
Beiträge
4.198
Renomée
87
Standort
Zwickau
Heute kam meine 3TB Platte an, die ich zusammen mit meiner 2TB intern an den Sata-Controller gehängt habe. Nachdem ich alle Daten kopiert hatte, hab ich die 3TB ins externe Case gepackt und musste danach feststellen, das alle Daten weg waren. Zudem ist die Platte auch nicht mehr im Arbeitsplatz aufgetaucht. Stattdessen musste ich wieder in der Datenträgerverwaltung auswählen, ob MBR ode GPT
Hab die Platte in der Datenträgerverwaltung mit GPT schnell formatiert. Mit MBR teilt der die Platte in 2TB und 700GB auf. Was ich eigentlich nicht wollte.
Platte is ne Seagate Barracuda http://www.mindfactory.de/product_i...1-64MB-3-5Zoll--8-9cm--SATA-6Gb-s_778947.html
Hab ich irgendwas übersehen?
 
Einem Bekannten geschah kürzlich etwas Ähnliches, wodurch grundlos seine Win7-Partition auf seiner System-SSD und anschließend seine Datenplatte formatiert wurden.
 
Heute kam meine 3TB Platte an, die ich zusammen mit meiner 2TB intern an den Sata-Controller gehängt habe. Nachdem ich alle Daten kopiert hatte, hab ich die 3TB ins externe Case gepackt und musste danach feststellen, das alle Daten weg waren.
Dann emuliert der Controller im externen Gehäuse (was ist das für ein Gehäuse?) wahrscheinlich 512 Byte-Sektoren, was die Platte ebenfalls macht, deswegen erkennt Windows die Datenträgerstruktur nicht mehr.

Zudem ist die Platte auch nicht mehr im Arbeitsplatz aufgetaucht. Stattdessen musste ich wieder in der Datenträgerverwaltung auswählen, ob MBR ode GPT
Das hängt beides miteinander zusammen, da im Arbeitsplatz nur eine Partition auftauchen kann, die sich auf einem initialisierten Datenträger befindet.


Hab die Platte in der Datenträgerverwaltung mit GPT schnell formatiert. Mit MBR teilt der die Platte in 2TB und 700GB auf. Was ich eigentlich nicht wollte.
Das ist vollkommen normal, denn wenn eine HDD mit MBR initialisiert wird, können keine größeren Platten als 2 TB angesprochen werden. Im 700 GB-Teil dürfte sich sogar gar keine Partition erstellen lassen, denn der Teil kann im MBR nicht adressiert werden.
 
Ist nen Airy-Case von CN-Memory.
Hab die Platte jetzt im externen Case mit GPT initialisiert. 2,72TB wären jetzt nutzbar.

Laut Diskpart sieht es jetzt so aus.
unbenannt7hk5c.jpg


Hätte es einen Nachteil, wenn die Platte mit 512Byte-Sektoren eingerichtet wäre?
 
Dann emuliert der Controller im externen Gehäuse (was ist das für ein Gehäuse?) wahrscheinlich 512 Byte-Sektoren, was die Platte ebenfalls macht, deswegen erkennt Windows die Datenträgerstruktur nicht mehr.
Anders rum: Alle aktuellen SATA Platten haben 512 Byte pro Sektor, egal ob nativ oder emuliert (Advanced Format). Die USB-SATA Bridgechips vieler Gehäuse emulieren aber bei Platten über 2TB 4k pro Sektor (was mit dem Advanced Format nichts zu tun hat, aber praktisch das Gegenteil ist) um die Platten über 2TB auch mit MBR partitionieren und voll nutzen zu können. Win XP kann ja kein GPT und an USB ist eine andere Sektorgröße als 512Byte nicht problematisch, was bei internen SATA Anschlüssen schon anders sein kann.

Zu Testen öffnet man eine cmd.exe und gibt ein:
wmic diskdrive get BytesPerSector,Model

Bei mir kommt raus:
BytesPerSector Model
512 M4-CT512M4SSD2
512 ST1000LM024 HN-M101MBB
4096 ST3000DM 001-1CH166 USB Device
Meine externe 3TB ist also in einem Gehäuse mit so einer Emulation. Beim einem Umbau gehen alle Daten verloren, weil man die Platten neu Partitionieren und Formatieren muss!

Das ist vollkommen normal, denn wenn eine HDD mit MBR initialisiert wird, können keine größeren Platten als 2 TB angesprochen werden. Im 700 GB-Teil dürfte sich sogar gar keine Partition erstellen lassen, denn der Teil kann im MBR nicht adressiert werden.
Das stimmt alles nur solnage, wie eben 512 Byte pro Sektor bzw. pro LBA angesprochen werden. Die Adressen in MBR sind LBAs und da sind eben maximal 32 Bit möglich, 2^32*512Byte sind eben genau 2TiB. Werden 4k pro LBA angesprochen, was eben genau diese Emulation bewirkt, so sind 2^32*4096Byte = 16TiB auch mit MBR adressierbar.

---------- Beitrag hinzugefügt um 15:54 ---------- Vorheriger Beitrag um 15:51 ----------

Ist nen Airy-Case von CN-Memory.
Hab die Platte jetzt im externen Case mit GPT initialisiert. 2,72TB wären jetzt nutzbar.
Und die Daten sind weg, aber die hast Du ja noch auf der anderen Platte.
Hätte es einen Nachteil, wenn die Platte mit 512Byte-Sektoren eingerichtet wäre?
S.o.! Das mit den 512Byte pro Sektor war Quatsch, die 512Byte pro Sektor Adressierung passiert nur zwischen dem USB-SATA Bridgechip und dem Controller der Platte. Der erste emuliert nach auße, also über USB, 4k Sektoren und der zweite, also der Controller auf der Platte, fasst dann wieder je 8 emulierte 512 Byte Sektore zu einem physikalischen 4k Sektor zusammen.
 
Das sehe bei mir dann so aus.

BytesPerSector Model
512 Samsung SSD 840 Series SATA Disk Device
512 ST1000DM 003-1CH162 SATA Disk Device
512 ST2000DM 001-1CH164 SATA Disk Device
4096 ST3000DM 001-1CH166 USB Device

Es hat also keine negativen Auswirkungen, solange die Platte in dem externen Case bleibt und nirgends anders reingehängt wird.
 
So ist es und wie Du siehst, es sind nicht 512Byte sondern 4096Byte pro Sektor, weil eben der USB-SATA Bridgechip diese emuliert. Du kannst die Platte auch in ein anderes Case stecken, wenn dieses ebenfalls diese Emulation macht, aber eben nicht intern oder in einem Case ohne diese 4k Emulation an die Daten kommen. Aber ein Backup auf einem Medium in einem anderen Gehäuse sollte man sowieso haben, wenn man seine Daten nicht verlieren will!

Es sollte jeder mal alle seine externen Platte ab 2TB auf diese Weise prüfen, damit er weiß ob er diesen bei einem Problem mit dem Gehäuse ggf. intern einbauen kann um Daten zu retten, denn das wäre jetzt z.B. bei der Platte nicht möglich! Aber wer ordentliche Backups hat, braucht das ja sowieso nicht 8)
 
Das ist vollkommen normal, denn wenn eine HDD mit MBR initialisiert wird, können keine größeren Platten als 2 TB angesprochen werden. Im 700 GB-Teil dürfte sich sogar gar keine Partition erstellen lassen, denn der Teil kann im MBR nicht adressiert werden.

Das stimmt alles nur solnage, wie eben 512 Byte pro Sektor bzw. pro LBA angesprochen werden. Die Adressen in MBR sind LBAs und da sind eben maximal 32 Bit möglich, 2^32*512Byte sind eben genau 2TiB. Werden 4k pro LBA angesprochen, was eben genau diese Emulation bewirkt, so sind 2^32*4096Byte = 16TiB auch mit MBR adressierbar.
Eigentlich sind es 2 TiB pro Partition. Im MBR sind für jede der vier möglichen Partitionen jeweils vier Bytes (32-Bit) Platz für Startadresse und Anzahl der Sektoren in der Partition. Da das LBA-Feld für die Startadresse auch nur 32-Bit lang ist, müssen sämtliche Partitionen innerhalb der ersten 2 TiB beginnen. Es wäre also möglich eine zweite Partition anzulegen, die knapp unterhalb der 2-TiB-Marke beginnt, und könnte so eine (bis zu) 4 TB Platte mit einer Sektorgröße von 512 Bytes mittels MBR voll nutzen.

Windows (ich habe es unter Win7 probiert) lässt das in der Datenträgerverwaltung und per Diskpart leider nicht zu. Mittels Hex-Editor und dem manuellen Editieren des MBRs konnte ich dass bei einer 3 TB Platte allerdings erfolgreich umsetzen. Möglicherweise geht das auch mit anderen Partitionierern.

/Edit
@Holt
Eine Fehladressierung sollte kein Thema sein (um deinem Einwand vorzugreifen :)). Ein Kurztest mittels h2testw hat auch kein Problem aufgezeigt.
 
Zuletzt bearbeitet:
Das Problem dürfte die Implementierung des Algorithmus sein. Wenn die Summe von Offset und Größe in einem 32bit Unsigned gehalten wird, dann klappt es nicht und eigentlich reicht so ein 32Bit Typ auch. Wurde ein 64Bit verwendet um die Summe dort zu bilden, dann klappt es eben.
 
@Holt
Meines Wissens ist das nicht der Offset sondern die definitive Startadresse der Partition. Und es erschließt sich mir nicht ganz, warum du den vermeintlichen Offset und die Größe addieren möchtest. Was soll das bringen?

Im MBR ist der Platz für die Rahmenbedingungen jeder der vier möglichen Partitionen jeweils maximal 32-Bit (pro Feld) groß. Anders als bei den CHS-Werten (wo für die Sektoradressen 24-Bit (pro Feld für jede Partition) im MBR reserviert sind, was für 8 GiB reicht und somit mittlerweile unbedeutend ist) wird bei den LBA-Angaben keine Endadresse definiert, sondern anstelle dessen die Anzahl der Sektoren, die die Partition umfasst. Der Anfang jeder der vier möglichen Partitionen muss also innerhalb der vorderen 2 TiB liegen, da durch das 32-Bit-Feld keine Sektoradressen hinter dieser Kapazitätsmarke dargestellt werden können. Unabhängig davon wird die Größe der Partition durch die Angabe der Anzahl der Sektoren definiert, wofür ebenfalls ein 32-Bit-Feld zur Verfügung steht (= max. 2 TiB für jede Partition).

Man kann also definieren, dass die Startadresse der zweiten Partition beispielsweise bei der Kapazitätsmarke von 1,9 TiB liegt und die Partitionsgröße 2 TiB betragen soll, wodurch wir die 2-TiB-Marke überschreiten. Der MBR hat auch nicht die Aufgabe auf die einzelnen Sektoren zuzugreifen, sondern definiert nur die Rahmenbedingungen. Den Zugriff auf die Sektoren einzuleiten obliegt dem Geräte-Treiber, der eine Sektoradressierung von mehr als 32-Bit unterstützen muss, um auf die Sektoren hinter der 2-TiB-Marke zugreifen zu können. Mit 64-Bit in Verbindung mit dem MBR hat das nichts zu tun.
 
Zuletzt bearbeitet:
Und es erschließt sich mir nicht ganz, warum du den vermeintlichen Offset und die Größe addieren möchtest. Was soll das bringen?
Die Größe selbst muss man nicht zum Offset addieren, nur wenn man den kleinst möglichen Offset für eine mögliche folgende Partition bestimmen will, aber man muss die lokalen LBAs innerhalb der Partition immer zum Offset addieren, wenn man dann konkrete Zugriffe auf die Platte adressieren will, da die ja die Partitionen selbst nicht kennt, sondern immer nur die globalen LBAs und da kann ein LBA eben bis Offset + Größe - 1 gehen und damit besteht das Risiko, das es nicht geht, wenn ein Gerät oder ein Treiber diesen Wert in einer 32 Bit Variable hält.

Den Zugriff auf die Sektoren einzuleiten obliegt dem Geräte-Treiber, der eine Sektoradressierung von mehr als 32-Bit unterstützen muss, um auf die Sektoren hinter der 2-TiB-Marke zugreifen zu können.
Datentypen mit mehr als 32 Bit haben dann meist 64 Bit, und daher kann es eben im Zweifel schief gehen, da man bei SW/Geräte/Treiber/OS/was_immer die nur MBR unterstützen, dann garantieren kann, dass diese eben auch wirklich auf diesen Fall vorbereitet sind.

Aber das ist eher theoretischer Natur und von der Grundüberlegung hast Du recht, mit 2 Partitionen sollte man auch mit MBR nahe an die 4TiB Grenze kommen, nur praktisch könnte man eben dabei auch mal eine böse Überraschung erleben.
 
Ich habe da auch mal eine Frage ^^

Ich habe in meinem alten XP PC viele 3TB Platten mit GPT Formatierung. Western Digital 3TB Green.
Wenn ich mich recht erinnere, stecke ich da nen SATA Controller aus nem Ext. Gehäuse drauf und mache die am meinen Win7pc können aber nur die ersten beiden Partitionen (je 1TB) verwendet werden. Die letzte "1TB" Partition kann ich nicht verwenden.

Ich will den alten PC eigentlich wegtun. Die paar Festplatten mit USB3.0 Sata Contr. und USB3 Hub in ein Gehäuse bauen und dann per USB 3 an meinen neuen PC hängen.

Gibts da nen weg das ich die letzte Partion nutzbar machen kann ?

Auf meinem XP Pc gabs für 3TB Platten sonen extra Treiber(Kostenpflichtig) damit ging das auch alles @ 3TB@ XP32.

Freue mich über jeden Tip :)

mfg
 
XP unterstützt GPT nicht, zumindest nicht das normale 32bit XP ohne ein zusätzliches Tool. Wenn Du die Platten dann in ein USB3 Gehäuse steckst, achte darauf ob dann die 4k Emulation auftritt, denn wenn, dann kommst DU nicht mehr an die Daten ran. Um das Risiko von Datenverlust zu vermeiden, würde ich die Platten im alten Rechner lassen und die Daten am Besten auf ein NAS kopieren. Sonst eben auf externe USB Platten. Das kostet zwar noch mal, aber zu wissen wie die Platten genau eingerichtet sind. kann es sonst leicht passieren, dass Du die Daten verlierst, denn wie Du siehst, geht das mit dem einfach Umstecken in den Win 7 Rechner ja nicht.
 
@3dfX
Sicher, dass die Platten GPT-Formatiert sind? Wenn sie das sind und du den Paragon-GPT-Treiber unter Windows XP installiert hast, solltest du die komplette Kapazität der Platten nutzen können, nicht nur die ersten 2 TiB. Ich vermute eher, dass sie als MBR-Datenträger eingerichtet sind.
 
Ja also unter XP sind sie als mit dem besagten Paragon GPT Treiber betrieben worden. Und dann mit nem externen Controller an den Win7 PC. Habe grade mal eine rangehangen ersten beiden Partitionen erkannt, letzte Partition muss angeblich formatiert werden damit es läuft. Die ersten beiden werden als NTFS angezeigt, die letzte als "Raw".

---------- Beitrag hinzugefügt um 14:57 ---------- Vorheriger Beitrag um 14:24 ----------

So nun habe ich mir mal für Win 7 den Paragon Treiber geholt.

Bei der Installation meint er , kein 3TB Gerät gefunden. Mal sehen wie es nach einem neustart aussehen wird.
Kan es auch an den externen USB/SATA Controllern liegen ? auf dem den ich grade verwende steht auch USB3.0 2TB drauf. VIeleicht geht damit einfach nicht mehr ?

diskmanager zeigt auch an das die Platte als GPT formatiert ist.

mfg
 
Zuletzt bearbeitet:
Das kann durchaus an dem USB Gehäuse liegen, aber pass beim Wechsel des USB Gehäuses wieder mit der 4k Emulation auf und prüfe das mit wmic diskdrive get BytesPerSector,Model, denn wenn das Gehäuse so eine Emuatlion macht, dann kommst Du garantiert nicht an die Daten, von denen Du hoffentlich Backups hast, kannst dafür dann aber die 3TB Platte mit MBR partitionieren und auch problemlos eine 3TB unter XP nutzen. Genau dafür wurde diese 4k Sektoremulation in den USB-SATA Brdigechips ja mal eingeführt. Leider erkennt man beim Kauf des Gehäuses i.d.R. nicht, ob sie in der FW aktiviert ist.
 
Zurück
Oben Unten