Wie schreibe ich einen schützenden MBR in Windows?

519
Peter Westlake

Ich habe eine UEFI-Maschine mit CentOS auf einer Festplatte und Windows 2016 auf einer anderen. Der Windows-Installer schreibt den GPT-Schutz-MBR, er folgt jedoch nicht genau dem UEFI-Standard, wie hier beschrieben . Es schreibt den MBR standardmäßig mit einer einzigen Partition, macht dann aber den letzten Sektor zu 2 ^ 32-1 anstelle der tatsächlichen Größe der Festplatte.

Dies ist kein Problem, bis ich versuche, sgdisk zu verwenden, um die Partitionstabelle zu speichern und später wiederherzustellen. Die schlechte Zahl für die Größe verwirrt die Dinge und endet mit einem korrupten MBR. In CentOS kann ich dies verhindern, indem Sie mit gdisk einen neuen schützenden MBR schreiben. Es wäre jedoch praktisch, wenn ich das von Windows aus machen könnte. Gibt es einen Weg?

3
Ist Ihre Festplatte größer als 2,2 TB? harrymc vor 5 Jahren 1
Nein, es ist kleiner. Ich vermute, dass dies das Problem verursacht, obwohl ich es nicht beweisen kann. Peter Westlake vor 5 Jahren 0
Das kann das Problem nicht verursachen. Welche Scheibe ist das? harrymc vor 5 Jahren 0
Ein Toshiba DT01ACA050, Größe 1953525168 Sektoren, 931,5 GB. Wenn ich mit gedit einen neuen schützenden MBR schreibe, wird 1953525167 für den Endsektor verwendet, und dann funktioniert das Speichern und Wiederherstellen der Sgdisk. Peter Westlake vor 5 Jahren 0
Es ist schlimmer als Sie denken: Der DT01ACA050 hat seinen Namen, weil er 500 GB hat. Wenn es 1 TB hätte, würde es DT01ACA100 heißen ([link] (https://toshiba.semicon-storage.com/us/product/storage-products/client-hdd/dt01acaxxx.html)). Mit dieser Scheibe ist etwas sehr fischig - es gelingt, Betriebssysteme hinsichtlich ihrer Kapazität in die Irre zu führen. Gibt es immer noch Garantie? harrymc vor 5 Jahren 0
Entschuldigung, ich habe die falsche Maschine angeschaut! Es ist ein HUS722T1TALA600, von dem ich glaube, dass es 1 TB ist. Peter Westlake vor 5 Jahren 0
Es ist jetzt noch schlimmer - siehe meine Antwort. harrymc vor 5 Jahren 0
Ja, das war das Problem, auf das ich in der Frage hingewiesen habe, die unter dem Link beschrieben wird. Die Frage ist also, gibt es ein Windows-Äquivalent von gdisk, das einen korrekten schützenden MBR schreiben kann? Peter Westlake vor 5 Jahren 0
Siehe den Zusatz zu meiner Antwort. harrymc vor 5 Jahren 0

1 Antwort auf die Frage

2
harrymc

Da die Festplatte des Posters nur 1 TB groß ist, gilt meine Antwort unten nicht.

Ich habe eine sehr überraschende Tatsache in dem Artikel Die GPT Protective MBR and Partition Table entdeckt :

Windows 7 füllt dieses Feld immer mit 0xFFFFFFFF, auch wenn die UEFI-Spezifikation besagt, dass dies für Laufwerke unter 2,2 TB "auf die Größe der Festplatte minus eins festgelegt werden sollte".

Und das ist in einer Fußnote vermerkt:

Referenz und komplettes Zitat: Unified Extensible Firmware Interface-Spezifikation, Version 2.3.1, Errata C, 27. Juni 2012, die in Kapitel 5, Festplatten-Layout der GUID-Partitionstabelle (GPT), Abschnitt 5.2.3, Schutz-MBR, Tabelle 15, 'SizeInLBA', auf Seite 100: "Stellen Sie die Größe der Festplatte minus Eins ein. Legen Sie 0xFFFFFFFF fest, wenn die Größe der Festplatte zu groß ist, um in diesem Feld dargestellt zu werden." Da Microsoft für Laufwerke mit weniger als 2,2 TB denselben Eintrag wie für Laufwerke mit mehr als 2,2 TB verwendet, folgen sie nicht der UEFI-Spezifikation für SizeInLBA .

Dies ist ein Fall, in dem sich Microsoft dazu entschieden hat, den Standard zu ignorieren, und es gibt nichts, was Sie dagegen tun können. Möglicherweise besteht eine Lösung darin, die Partitionszuordnung unter Linux durchzuführen.

Wenn Sie unter Windows nach einem Dienstprogramm suchen, das nicht von Microsoft stammt, lesen Sie den Artikel Best Free Partition Management Software, in dem kostenlose Dienstprogramme von Drittanbietern aufgeführt sind, die den Standard möglicherweise nicht ignorieren.


(Alte Antwort)

Ich denke, dass Ihre Festplatte größer als 2,2 TB sein muss, was die maximale Größe für einen MBR ist.

Der schützende MBR (oder ein beliebiger MBR) ist auf diese Größe beschränkt. Es kann keine größere Zahl geben, da das Feld im MBR, das die Partitionsgröße enthält, nur 32 Bit hat.

Diese Einschränkung war einer der Gründe, warum GPT notwendig wurde, als Festplatten mit mehr als 2,2 TB auf den Markt kamen.

Downvote Warum ? harrymc vor 5 Jahren 1
Ja, es ist nervig, nicht wahr ?! Beim ersten Mal beschwert sich einer der "echten" Superuser. Ich wünschte, es könnte einen obligatorischen (anonymen) Grund für das Downvote geben ... seufzen Vielleicht sollte ich das in meta vorschlagen ?! PS. Ich war nicht der Downvoter ... Albin vor 5 Jahren 0
@Albin: Solche Maßnahmen wurden auf Meta diskutiert, aber niemand hat sich auf irgendetwas geeinigt. harrymc vor 5 Jahren 0
@Albin - Ich habe das vor ein paar Jahren vorgeschlagen, aber es wurde abgelehnt. Ich bin sicher, dass ich nicht der einzige bin, der das getan hat. AFH vor 5 Jahren 0
@AFH Danke, ich werde etwas recherchieren. Wollt ihr Jungs daran interessiert sein, einen Chatroom zu eröffnen, um darüber weiter zu diskutieren, oder haben Sie es aufgegeben? Albin vor 5 Jahren 0
@Albin: Ich habe vor langer Zeit aufgegeben. Ich glaube jedoch, dass SU Meta nicht der richtige Ort für Standortänderungen ist. Dies erfolgt auf einer höheren Ebene in der StackOverflow-Hierarchie. Vielleicht SO Meta, aber die Chancen sind gering. harrymc vor 5 Jahren 0
@Albin - [Dies] (https://meta.superuser.com/questions/8706/penalty-for-unexplained-down-votes) war mein Beitrag, den ich später als Duplikat akzeptierte, aber ich erhielt ein paar interessante Kommentare vor dem Duplikat wurden markiert, weshalb ich das Duplikat nicht zitiert habe. AFH vor 5 Jahren 0
@AFH Danke für den Zeiger! Albin vor 5 Jahren 0
@ AFH: Interessant und überzeugend von der Sinnlosigkeit. harrymc vor 5 Jahren 0