Ich suche (etwas) bessere Erklärungen zur Unterstützung von Festplatten mit> 2 TB

9

Heute bin ich beim Googeln auf Posts gestoßen, in denen behauptet wurde, Seagate plane, irgendwann später im Jahr 2010 ein 3-TB-Laufwerk auszuliefern. Leider schienen die Dinge, die ich mir überhaupt ansah, einige Informationen zu enthalten, die meiner Meinung nach nicht richtig zusammenpassen. (Ich würde auf einige Beispiele verlinken, aber ich darf momentan nur 1 Link pro Beitrag).

Jetzt habe ich wirklich kein "Bedürfnis", die zugrunde liegenden langwierigen Details besser zu verstehen. Ich bin nur neugierig. Und verwirrt.

Also ... einige Fragen hoffe ich, dass jemand besser informiert ist, als ich beantworten könnte.

  1. Das Gespräch über ein potenzielles Adressierungsproblem sowohl in der Hardware als auch in der Software hat mich verwirrt. Die Behauptung ist, dass etwas, das so genannt Long LBA addressing (LLBA)wird, benötigt wird Command Descriptor Block, um die aktuellen Grenzen für den Zugriff auf eine Festplatte mit mehr als 2 TB (1 TB = 2⁴⁰ B) zu umgehen.

    OK, gut. Aber ich dachte, das letzte Mal, als dieses Problem auftauchte, wurde es gelöst, indem die Länge des LBA-Feldes von 28 auf 48 Bit erweitert wurde. (Erinnern Sie sich an diese Website? Www.48bitlba.com ) Ein 6-Byte-LBA ist eindeutig groß genug. Was ist also mit diesem LLBA-Vortrag los? Ich dachte, dass dies alles durch Win XP SP2 behoben wurde, wenn nicht früher? Und sicherlich sollte die gesamte Hardware der Aufgabe gewachsen sein, nicht wahr?

  2. Das eigentliche Problem, wie ich es bei Laufwerken mit einer Größe von mehr als 2 TB verstehe, sind die 4-Byte-LBA-Felder im Master Boot Record (MBR), mit denen derzeit nahezu alle Festplatten partitioniert werden. Die wahrscheinlichste Lösung ist die Migration auf die GUID-Partitionstabelle (GPT) von Intel. Ein GPT verwendet 8-Byte-Felder für den LBA.

    Was ich in diesem Zusammenhang nicht verstehe, ist das Problem beim Booten von Windows von einem 3-TB-Laufwerk, das eine GPT verwendet. Zugegeben, das aktuelle PC-BIOS würde nicht wissen, wie man ein GPT erkennt oder damit arbeitet. Jedes GPT verfügt jedoch über einen sogenannten "Safety" - oder "Guarding" -MBR in Sektor 0.

    Apple verwendet bereits eine Hybridversion des MBR, damit Windows auf seinen Intel Macs (auch bekannt als Boot Camp) gestartet werden kann. Könnte nicht etwas Ähnliches getan werden, damit das PC-BIOS eine Partition innerhalb von beispielsweise den ersten 2 TB eines Laufwerks mit 3 TB oder mehr erkennen und starten kann?

Ich habe weitere Fragen, z. B. wo passen 4K-Sektoren in all das? Aber es ist wahrscheinlich an der Zeit, dass ich einfach die Klappe halte und dies poste. ;-);

-irrational John

irrationaler John
quelle

Antworten:

6

Die Aussagen zu "Long LBA" scheinen von diesem einen Seagate-Produktmanager zu stammen. Was sie wahrscheinlich meinte ist, dass, obwohl 48-Bit-LBA der Standard auf Hardware ist, 32-Bit-Betriebssysteme und -Treiber möglicherweise nicht alle 48-Bit unterstützen, da (a) sie 32-Bit sind und das mehr Aufwand bedeutet, und (b) MBR unterstützt ohnehin nur 32 Bit für Partitionen. Warum also?

Als die 128-GB-Barriere durch die Einführung von 48-Bit-LBA durchbrochen wurde, war dies in der ATA-Spezifikation sowohl auf der Hardwareseite als auch von 28 Bit gestiegen. und auch auf der Betriebssystem- / Treiberseite, um sicherzustellen, dass das alte 28-Bit-Limit nicht fest codiert wurde. Sie können wahrscheinlich sagen, dass die derzeit gut geschriebenen Treiber tatsächlich dem tatsächlichen 48-Bit-Limit entsprechen, aber es ist leicht zu erkennen, dass irgendwo entlang der Kette jemand den einfachen Ausweg gewählt hat und nur 32 Bit in seinen 32-Bit-Treibern unterstützt. Angesichts der Tatsache, dass 32-Bit-Betriebssysteme ohnehin auf dem Weg nach draußen sind, lohnt es sich möglicherweise nicht, sicherzustellen, dass all dies funktioniert.

Wie Sie sagten, besteht das eigentliche Problem (zumindest für Windows) darin, eine GPT-Festplatte von einem BIOS-basierten Computer (ohne EFI) zu booten. Der Protective MBR lässt die gesamte Festplatte wie eine einzelne unbekannte Partition erscheinen, sodass ein BIOS / MBR-fähiger Computer sie nicht einmal berührt. Sie können eine Hybridfestplatte erstellen, sodass der MBR auch andere Einträge für Partitionen unterhalb der 2-TB-Grenze enthält. Solche Hybrid-Festplatten sind jedoch zerbrechlich (mit MBR- oder GPT-Partitionstools leicht zu überladen) und nicht mehr offiziell GPT-Festplatten. Sie booten auch keine GPT-Partitionen, sondern MBR-Partitionen. Dies ist möglicherweise in Ordnung, wenn Sie nur die GPT-Partition als Datenlaufwerk verwenden möchten.

Und warum kann das BIOS GPT nicht booten? Die kurze Antwort lautet, dass dies nicht der Fall ist. Um diese Funktion hinzuzufügen, benötigen Sie ein intelligenteres BIOS. Und dafür ist EFI da.

Mit 4-KB-Sektoren erhalten Sie 16-TB-Festplatten mit 32-Bit-LBA. (Und weniger größere Sektoren bedeuten möglicherweise weniger E / A-Overhead.) Alle Betriebssysteme und Treiber sowie einige Apps müssten jedoch geschrieben werden, um Sektoren mit variabler Größe zu unterstützen. Alles, was Sie brauchen, ist eine Stelle, an der die Sektorgröße bei 512 fest codiert ist, um zu brechen. Daher sind 4-KB-Sektoren auch keine "einfache" Lösung, da viele Parteien viel Arbeit benötigen würden. Wenn Sie jedoch zukünftige Software zur Unterstützung von GPT-Sektoren (sektorunabhängig) und Sektoren mit variabler Größe schreiben möchten, wird diese möglicherweise irgendwann als gängige Praxis übernommen.

Ken
quelle
3

Sie sicherlich kann von einem GPT - Datenträger auf einer BIOS - Maschine booten. Nur dass Windows behauptet, dass es nicht kann.

Auch das ist nicht wirklich wahr; Sie können Windows von einem BIOS-Computer auf einer GPT-Festplatte starten: Sie benötigen nur eine winzige zusätzliche MBR-Festplatte, um die Startdateien zu speichern. Eine Festplatte, die für ein anderes Betriebssystem mit einer Ersatzpartition (kleinen Partition), einer Diskette, einem USB-Laufwerk (angenommen) verwendet wird ...

Starten Sie die Windows-Installations- / Reparatur-CD. Erstellen Sie das Systemlaufwerk auf dem Stick und bcdbootlegen Sie Ihre Startdateien auf dem Stick ab. Fügen Sie einen Bootssektor mit hinzu bootsect. Ändern Sie das {bootmgr} devicein boot. Vom Stick booten.

Schritte werden hier detailliert beschrieben .

Milind R.
quelle
0

Was ich in diesem Zusammenhang nicht verstehe, ist das Problem beim Booten von Windows von einem 3-TB-Laufwerk, das eine GPT verwendet.

Auf einem herkömmlichen BIOS-System lädt das BIOS den Bootsektor von der Festplatte und führt ihn im 16-Bit-Real-Modus aus. Der aus dem Bootsektor geladene Code muss dann das richtige Betriebssystem finden und laden.

MS hat die GPT-Unterstützung in ihrem Real-Mode-Loader nie implementiert. Daher kann es die GPT-Partitionstabelle nicht lesen und den Rest des Betriebssystems nicht starten. Um Windows von einer GPT-Festplatte zu starten, müssen Sie entweder uEFI anstelle des herkömmlichen BIOS verwenden (was in Ordnung ist, wenn Ihr Motherboard dies unterstützt und Ihre Windows-Version neu genug ist) oder eine Problemumgehung verwenden, z. B. einen Drittanbieter-Loader, a Hybrid-Partitionstyp oder eine separate Festplatte zum Booten.

Plugwash
quelle