Erzwingen Sie, dass Windows Server 2008 einen älteren BIOS-Bootloader anstelle von EFI verwendet


12

Wir haben UEFI-Server und müssen Windows Server 2008 zwingen, über die Legacy-BIOS-Methode anstatt über UEFI zu starten.

Gibt es eine Möglichkeit, Windows Server 2008 (entweder während der Installation oder nach der Installation) anzuweisen, die Tatsache zu ignorieren, dass es auf einem EFI-Computer installiert wird, und stattdessen den älteren BIOS-Bootloader zu installieren und zu verwenden?


Ich habe ein paar Vorschläge ausprobiert, die nicht geholfen haben:

  • Formatieren Sie Datenträger vor der Installation von Windows als MBR-Partitionen

    Nein, Windows lehnt die Installation ab:Auf EFI-Systemen kann Windows nur auf GPT-Datenträgern installiert werden

  • Installieren Sie Windows, migrieren Sie die Partition auf eine MBR-Festplatte, reparieren Sie das System

    Nein, die Systemreparaturkonsole lehnt das Laden ab. Es beschwert sich, dass es die Version von Windows, die ich zu reparieren versuche, nicht erkennt.

  • Deaktivieren Sie UEFI

    Wenn ich UEFI deaktivieren und das System nur als Legacy-Version verwenden könnte, hätte ich das getan. Bei den von mir verwendeten Systemen (IBM HS22, x3690X5) handelt es sich jedoch nur um UEFI-Systeme mit Legacy-Unterstützung. Sie können UEFI nicht einfach deaktivieren. Dies würde eine vollständige BIOS-Implementierung erfordern.


Die Lösung!

Wie JdeBP hervorhebt, ist die einzige Methode, die Windows verwendet, um zu bestimmen, ob der EFI / GPT- oder der BIOS / MBR-Bootloader verwendet wird, die Methode, mit der die Installations-CD gebootet wurde.

Wenn wir dies mit dem Vorschlag von Weaver kombinieren, ein ISO-Image ohne den 0xEF-Startkatalogeintrag zu erstellen ( im Übrigen viel einfacher durch Hex-Bearbeitung als durch Remastering des Images), erhalten wir eine nette, prägnante Antwort:

Erzwingen Sie den Start des Installationsmediums über das BIOS und nicht über UEFI, da dies das einzige Unterscheidungsmerkmal ist, mit dem Windows Installer bestimmt, welches Startschema verwendet werden soll.


Dies wird hardwarespezifisch sein. Es kann hilfreich sein, wenn Sie die Ausrüstung und das Modell erwähnen. Einige Hersteller bieten eine Option für den BIOS-Kompatibilitätsmodus im Setup-Bildschirm oder als Startoption an.
Tom Willwerth

Der Grund, warum ich Hardware in der Frage nicht erwähnt habe, war eine bewusste Entscheidung. Ich möchte diese Änderung auf der Windows-Seite vornehmen, indem ich erkläre, dass ein anderer Bootloader verwendet werden soll. Bei meinem IBM x3690X5 ist die BIOS-Kompatibilität bereits aktiviert, sodass alle BIOS-Loader funktionieren. Das Problem weist W2K8 an , seinen UEFI-Bootloader nicht zu verwenden.
MikeyB

2
@MikeyB: Warum nicht einfach GPT benutzen?
Tegbains

@tegbains: $ BIGCUSTOMER verfügt über eine Imaging-Umgebung, in der ein Produkt verwendet wird, das GPT nicht ordnungsgemäß unterstützt.
MikeyB

1
Wenn es nicht vierzehn Tage gedauert hätte, diese sehr wichtige Information aus Ihnen herauszuholen, hätten wir Weaver viel Trauer ersparen können. Ich schlage vor, dass Sie Ihre Frage so bearbeiten, dass sie das eigentliche Ziel widerspiegelt, da der Titel den Schritt X enthält, den Sie nicht bearbeiten können, und Ihre Frage sehr irreführend ist.
JdeBP

Antworten:


6

Microsoft lässt Sie Ihren Schritt nicht erreichen. Also sprechen Sie stattdessen Ihr Ziel an.

Microsoft hat fälschlicherweise eine EFI-partitionierte Festplatte mit EFI-Firmware zusammengeführt . Das ist natürlich eindeutig falsch. Es ist durchaus möglich - und wird heutzutage in der Tat immer wünschenswerter -, eine mit EFI partitionierte Disc auf einem Computer zu haben, auf dem alte Nicht-EFI-Firmware installiert ist. Eigentlich möchten Sie - obwohl es über vierzehn Tage gedauert hat, bis die Leute hier das Ziel aus Ihnen herausgedrückt haben und nicht den Schritt - das Gegenteil. Sie möchten eine alte MBR-partitionierte PC / AT-Disc auf einem Computer mit EFI-Firmware haben. (Die EFI-Firmware selbst hat kein Problem mit einem der Partitionstabellenformate und wird in der Tat von der EFI-Spezifikation benötigt, um beide zu verstehen. Dieser Fehler wird von Microsoft verursacht.) Und Sie möchten dies, weil die Software einer anderen Person die EFI-Partitionstabelle nicht verstehen kann.

Eine der verschiedenen Folgen des Fehlers von Microsoft besteht darin, dass das Windows NT 6.1-Installationsprogramm von einem Installationsmedium aufgerufen werden muss, das seinerseits von der alten PC98-Firmware gebootet wurde, um die Idee der Installation von Windows NT 6.1 auf einem Datenträger zu akzeptieren partitioniert mit dem alten PC / AT MBR-Partitionierungsschema. Wenn der Windows NT-Installationsdatenträger in der neuen EFI-Art gebootet wird, wird das Installationsprogramm leider annehmen, dass EFI-Firmware vorhanden ist, und daher erklären, dass er nicht auf nicht mit EFI partitionierten Festplatten installiert werden kann.

Wie Weaver ausgeführt hat und wie in der Microsoft-Dokumentation erläutert , handelt es sich bei der Installations-CD-ROM tatsächlich um einen Dual-Boot-Vorgang. Wie Rod Smith weiter erklärt , kann man daher manuell eine Windows NT 6.1-Installations-CD erstellen, die auf die alte PC98-Art bootet. Das Windows NT 6.1-Installationsprogramm ermöglicht dann die Installation auf einer alten, partitionierten PC / AT MBR-Festplatte.

Auf Systemen ohne Kompatibilitätsunterstützungsmodul , wie Sie es von Ihrem System behaupten, hilft dies jedoch nicht weiter . Für Ihr System ist die EFI-Version von Microsoft Boot Manager erforderlich, die auf der EFI-Systempartition installiert ist, da Ihre Firmware auf diese Weise versucht, das Betriebssystem zu booten. Wenn das Windows NT 6.1-Installationsprogramm jedoch mit einer Nicht-EFI-Firmware gestartet wird, installiert es die Nicht-EFI-Version von Microsofts Boot Manager und erstellt keine EFI-Systempartition. Bei einer solchen Installation wird Ihr Computer nicht gebootet, und Sie können den Installationsvorgang nicht einmal abschließen. In der Tat, weil Ihnen ein CSM fehlt, werden Sie nicht einmal in der Lage sein zu beginnenden Installationsvorgang, da Sie die Installations-CD nicht einmal auf die alte PC98-Art booten können. Microsoft lässt Sie Ihren Schritt nicht zweimal ausführen.

Konzentrieren Sie sich stattdessen auf Ihr Ziel. Ihr Ziel ist es, Ihren Kunden die Bereitstellung von Windows Server 2008 auf Computern mit EFI-Firmware über ein Systemabbild zu ermöglichen. Daher ist die richtige Frage, die Sie sich stellen sollten - an den Softwarehersteller -, wie diese alte / kaputte Disc-Imaging-Software repariert werden kann, damit sie keine Probleme mit der EFI-Partitionstabelle hat.


Oh, meinem System fehlt kein Kompatibilitätsmodus, das ist kein Problem. Sie sagen also, dass der Windows-Installer EFI nur anhand der Methode erkennt, die zum Booten verwendet wurde? Das sind neue und wichtige Informationen - das werde ich ausprobieren.
MikeyB

Ah ah! Es klappt! Das ist die kritische Information, die ich brauchte: "Erzwinge den Start des Installationsmediums über das BIOS, nicht über UEFI, da dies die Methode ist, mit der Windows Installer bestimmt, welches Startschema verwendet werden soll."
MikeyB

@JdeBP +1 für eine wundervolle Antwort.
Weaver

7

Kurz gesagt, ja und nein aus verschiedenen Gründen. Wenn Windows von einer GPT-Festplatte bootet, muss es von UEFI stammen. Windows-Start-Manager und -Lader können nicht von nativer UEFI auf MBR-Datenträger gestartet werden. Wenn die UEFI jedoch für den Legacy-BIOS-Startmodus konfiguriert ist, kann eine MBR-Festplatte zum Starten verwendet werden. Dies ist darauf zurückzuführen, dass der Windows-Startmodus (BIOS mit MBR oder UEFI mit GPT) von der Umgebung abhängt, in der er aufgerufen wird.

Lesen Sie weiter für ein wenig Technik -

Die Firmware der physischen Hardware (oder der virtuellen Hardware, aber dennoch der Hardware) (BIOS / UEFI) stellt die anfängliche Betriebsumgebung (bootbezogene Datenstrukturen und Konventionen) und Firmwaredienste bereit, die für nachfolgende Phasen des Bootvorgangs des Betriebssystems verfügbar sind.

BIOS / MBR

Beim BIOS / MBR-Start enthält der erste Sektor der ersten startfähigen Festplatte - der Master-Startdatensatz (LBA 0) eine Handvoll x86-Assembly (16 Bit 8088), dann die Partitionstabelle und dann eine Signatur. Das BIOS lädt diesen Sektor in den Speicher und beginnt mit der Ausführung. Das BIOS gibt seine eigene Programmcode-Steuerung frei, sobald der MBR beteiligt ist.

http://mbr.adamsatoms.com/

http://www.ata-atapi.com/hiwmbr.html

Die x86-Assembly (Intel 8088 in den meisten MBRs) im MBR analysiert die Partitionstabelle, sucht nach einer aktiven Partition und springt zum ersten Sektor in dieser Partition - dem Volume-Startdatensatz. Der Volume-Startdatensatz enthält einen x86-Assembly-JMP, einen BIOS-Parameterblock (der vom System-BIOS überhaupt nicht verwendet wird, daher verwirrender Name) und eine weitere x86-Assembly, die letztendlich den Bootloader des Betriebssystems (NTLDR oder BOOTMGR in Windows-Umgebungen) lädt ) vom Startvolume / der Partition selbst.

NTLDR oder BOOTMGR versetzen die CPU in den geschützten Modus, überprüfen ihre Startzeitkonfiguration (boot.ini bzw. BCD auf dem Startvolume / der Startpartition) und laden NTOSKRNL, wobei der Rest im Verlauf liegt.

http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx

http://en.wikipedia.org/wiki/Windows_NT_startup_process

http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/bios-parameter-block.html

UEFI / GPT

Lassen Sie mich zunächst feststellen, dass ich nicht viel aktive Erfahrung mit UEFI / GPT habe. Der große Unterschied (in Bezug auf unser Gespräch) besteht jedoch darin, dass die ausführbare Steuerung nicht an den MBR übertragen wird.

Stattdessen enthält die UEFI-Firmware einen eigenen Boot-Manager. Dieser Boot-Manager scannt Datenträger und Medien, gibt einen Überblick über den Schutz-MBR von GPT-formatierten Datenträgern, gelangt zum GPT-Header und sucht dann in der EFI-Systempartition (ESP) nach ausführbaren EFI-Programmen werden Betriebssystem - Bootlader direkt das Betriebssystem booten, aber wie wir mit den neuesten MS und Apple EFI Executables gesehen, sind sie in der Tat die Boot - Manager eine weitere Ebene ten Prozeß und die Komplexität zu erhöhen.

http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html

http://msdn.microsoft.com/en-us/windows/hardware/gg463525#X-201104111922443

Fazit / TL; DR

Hiervon ist abzuwenden, dass es eine erwartete Umgebung gibt, in der der Bootmanager und der Bootloader des Betriebssystems voraussichtlich ausgeführt werden. Von verfügbaren Diensten auf Firmware-Ebene (BIOS / UEFI-Interrupts) über Datenstrukturen (Variablen, Stapelkonventionen usw.) bis hin zu Formatierungskonventionen für Festplatten. Kann zur Laufzeit nicht geändert werden - zumindest nicht so, wie ich es verstehe.

Deine Optionen?

Vor der Installation können Sie die Installation mithilfe von BIOS / MBR oder UEFI im Legacy-BIOS-Boot mit MBR oder UEFI mit GPT steuern.

Nach der Installation - Möglicherweise gibt es einige interessante Möglichkeiten, wenn Sie das Festplattenformat (MBR zu GPT und GPT zu MBR) offline ändern, dann über eine Wiederherstellungskonsole (im entsprechenden UEFI- oder BIOS-Modus) booten und mit bcdboot und bcdedit arbeiten, um Windows zu erhalten Bootmanager gerade eingestellt.

Update 2011.09.09

@MikeyB

Auflistungsoptionen, wie ich sie verstehe, machen eigentlich keine formalen Vorschläge.

Trotzdem habe ich nach einigen Nachforschungen zu UEFI (ich erinnere mich, dass ich nicht viel aktive Erfahrung damit habe) ein paar interessante Details über den UEFI-Bootmanager und die Unterstützung für das Booten von CDs / DVDs entdeckt.

Die El Torito-Boot-Spezifikation von '95 gibt es noch heute und wird für bootfähige CDs / DVDs verwendet. Eine einzelne CD / DVD muss möglicherweise auf mehreren Architekturen gestartet werden - und während ISO 9660 eher plattformunabhängig ist, ist ausführbarer Code dies nicht. Die El Torito-Startspezifikation ermöglicht daher mehrere Starteinträge / -images.

Diese Einträge / Images enthalten eine Plattform-ID , die angeben soll, ob ein Eintrag für PC, PowerPC und andere Architekturen bestimmt ist, damit das BIOS (oder die Firmware) der Architektur den richtigen Starteintrag auswählen kann.

Standard x86-PCs mit einem BIOS haben eine El Torito- Plattform-ID von 0x00. UEFI-fähige Plattform-ID ist 0xEF - eher kreativ.

Standard x86-PC-BIOS ignorieren alle anderen Einträge mit Ausnahme von 0x00. UEFI-Firmware mit älterer BIOS-Unterstützung (Compatibility Support Module (CSM)) - kann zwar 0x00 starten, bevorzugt jedoch einen systemeigenen 0xEF-Starteintrag aus dem Katalog.

Die Windows 2008-, 2008 R2- und 7-DVD-Medien enthalten einen El Torito-Katalog mit mehreren Images mit sowohl 0x00 als auch 0xEF. Das 0x00 ist die Standardeinstellung, aber eine UEFI wird es beschönigen, wenn ein 0xEF vorhanden ist, und den 0xEF-Eintrag auswählen - da er nativ ist.

Möglich ist die Erstellung von Medien, die nur die bevorzugte Plattform-ID im El Torito-Startkatalog enthalten. Erstellen Sie anstelle eines Katalogs mit mehreren Einträgen einen Katalog mit einem einzigen Eintrag mit einer 0x00-Plattform-ID. Dies sollte die UEFI-Firmware dazu zwingen, die 0x00-Plattform-ID auszuwählen und den alten BIOS-Starteintrag auf dem Windows-Datenträger zu starten, sofern dieser tatsächlich den Legacy-BIOS-Start unterstützt.

Wie es geht?

Mit Oscdimg ist das möglich. Im Folgenden finden Sie einige Beispiele für Benutzer, die nur UEFI-Medien erstellen, um die Einschränkungen in der UEFI-Implementierung von Apple zu umgehen. Beachten Sie, dass dies das Gegenteil von dem ist, was wir versuchen - wir möchten nur ein BIOS erstellen, ohne den UEFI-Starteintrag aus dem Katalog.

Nur UEFI (Gegenteil) 1

Nur UEFI (Gegenteil) 2

Der Vorgang zum Erstellen von Nur-BIOS-Datenträgern ist mit den folgenden Änderungen -bund -pArgumenten ähnlich

-bC:\path\to\Etfsboot.com -p0x00

Eine großartige Ressource, die einen hervorragenden Einblick in den Wahnsinn von Microsoft auf den Windows-Installationsmedien gibt, ist das Dokument UEFI-Support und -Anforderungen für Windows-Betriebssysteme .


1
"Vor der Installation können Sie die Installation mithilfe von BIOS / MBR oder UEFI im Legacy-BIOS-Boot mit MBR oder UEFI mit GPT steuern." OK, wie können Sie Windows mitteilen: "In einer MSDOS-Partitionstabelle installieren"?
MikeyB

@MikeyB Booten Sie das Windows-Installationsmedium in einem Computersystem mit einem herkömmlichen BIOS. Oder - Starten Sie das Windows-Installationsmedium in einem Computersystem, in dem UEFI im BIOS-Startmodus für ältere Versionen festgelegt ist. Beachten Sie, dass Ihre UEFI einen älteren BIOS-Startmodus unterstützen muss.
Weaver

Sie schlagen vor, Windows auf einem völlig anderen Computer zu installieren und dann die Datenträger zu verschieben? Gar keine gute Idee. Wenn Sie einen UEFI-Computer in den "Legacy-BIOS-Modus" versetzen, werden nur die Legacy-BIOS-Hooks zum Booten älterer MBR-Festplatten aktiviert. Es läßt sich nicht aus UEFI , damit Windows immer noch sagt : „Ist das ein UEFI - System? Yup.“
MikeyB

@MikeyB Es wurden Aktualisierungen zur ursprünglichen Antwort hinzugefügt.
Weber

1
Ich habe etwas Ähnliches mit Server 2008 gesehen, als ich etwas über die Beschränkungen der BIOS- und MBR-Festplattengröße erfuhr. Ich habe einen Server mit 2008 R2 erstellt und den Legacy-BIOS-Modus aktiviert, da er nicht mit USB-Medien installiert werden konnte (ein MS-Fehler). Ich habe jedoch festgestellt, dass er MBR anstelle von GPT verwendet, da das BIOS GPT nicht laden kann (sofern nicht anders angegeben) Sie haben einen Bootloader. Kurz gesagt, der Wechsel in den Legacy-Modus wird definitiv im Legacy-Modus installiert. Der Proof befindet sich im Festplatten-Manager, in dem MBR-Festplatten und keine GPT-Festplatten angezeigt werden.
Alex Berry

3

Eine einfache Methode wäre, einfach eine Basisinstallation von Windows auf einem Computer durchzuführen, der EFI nicht unterstützt, es mit Ihrer Image-Software zu erfassen und es auf der realen Hardware wiederherzustellen.

Eine gute Wahl könnte darin bestehen, Ihre Basisinstallation in einer VM zu erstellen. In früheren Versionen (Version <6) von Windows war es nicht gut, von einem Hardwaretyp zu einem anderen zu wechseln. In neueren Versionen von Windows wird Windows bei der Anpassung an die neue Hardware ziemlich gute Arbeit leisten, solange der Speichercontroller auf dem Image unterstützt wird.

Die Windows-Installationsdiskette (ver> = 6) enthält normalerweise eine WIM- Datei, die im Grunde nur ein Image des Betriebssystems ist.


Genau das wollte ich vorschlagen. Führen Sie das Windows-Setup auf einem anderen System (BIOS / MBR) aus und verschieben Sie die Festplatte oder das Image auf den Zielserver. Wenn es bootet, wird PnP folgen und es wird problemlos auf der anderen Hardware laufen.
Massimo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.