Gibt es eine Möglichkeit, Windows 7/8 mit dem BIOS auf GPT zu starten?

23690
John Chadwick

Ich würde gerne wissen, ob es eine Methode gibt, mit der Windows 7 oder Windows 8 Developer Preview auf einem GPT-Datenträger in meinem herkömmlichen IBM PC-BIOS-Setup installiert werden kann. Windows 7 lehnt natürlich meine GPT-Partition ab, da ich keine UEFI habe. Nun, Debian und Grub 2 scheinen gut zu funktionieren ... Ich möchte also wissen, ob es eine Möglichkeit gibt, Windows zu zwingen, ebenfalls zu funktionieren.

Ich würde es ernsthaft vorziehen, hybrides MBR / GPT zu vermeiden, weil es ziemlich anfällig ist und sich hackig anfühlt, aber es funktioniert . Ich würde davon ausgehen, dass der Hauptblocker darin besteht, dass Microsoft im BIOS-Bootloader für GPT einfach keine Unterstützung hinzufügt, was verständlich ist, denke ich. Gibt es einen Rückgriff?

So wie ich es sehe, gibt es einige mögliche Lösungen:

  1. Einen alternativen Bootloader für den Windows-Kernel haben. KEIN Kettenlader. Soweit ich weiß gibt es keine. Das ist eine Schande.
  2. Speichern Sie so wenig wie möglich auf einer anderen MBR-basierten Festplatte. Ich mag diese Idee nicht, aber sie ist machbar. Ich bin nicht sicher, ob ich das als Lösung für das Problem bezeichnen würde, sondern auch als Problemumgehung.
  3. EFI genug nachgeahmt, um den EFI-Bootloader zum Laufen zu bringen ... Ich erinnere mich, dass ich ein bisschen von einem UEFI-on-BIOS-Emulator gehört habe, aber ich finde jetzt nichts darüber. Ich gehe davon aus, dass dies machbar ist, aber es gibt wahrscheinlich noch keine große Nachfrage, und es macht wahrscheinlich überhaupt keinen Spaß, es einzurichten. GRUB 2 scheint in der Lage zu sein, einen Hackintosh mit der erforderlichen EFI-Emulation zu booten, aber es gibt wahrscheinlich kein Interesse / UEFI 2 ist schwerer zu erreichen (und ich würde davon ausgehen, dass sich andere EFI-Emulatoren, die für einen Hackintosh verwendet werden, auf demselben Boot befinden.)
  4. Coreboot mit TainoCore. Coreboot funktioniert auf meinem Motherboard nicht (soweit ich weiß), und ich bin mir ziemlich sicher, dass der letzte Versuch während der GSoC ein Misserfolg war. Ich würde diese Lösung absolut lieben, wenn sie funktioniert.

Fehlt mir etwas?

19
Nicht ganz. Ich weiß, dass es mit Hybrid-MBR / GPT laufen kann, und ich habe keine Angst, es zu benutzen. Mehr noch, ich bin mit dieser Lösung unzufrieden und möchte wissen, ob es einen anderen, besseren Weg gibt. Ich arbeite jedoch immer noch an diesem Problem und finde möglicherweise meine eigene Lösung. John Chadwick vor 13 Jahren 1
Ich bin mir ziemlich sicher * Diese * Frage ist ein Duplikat dieser Frage, angesichts der 2-jährigen Disparität. Abgesehen davon gibt es wirklich keine oder zumindest keine direkte Antwort auf diese Frage, während diese Frage eine direkte Antwort hat. John Chadwick vor 10 Jahren 1
Hast du meine Antwort überprüft? Es ist neu und niemand sonst hat es so gemacht. Möchte etwas testen. Garantiert nicht abgehackt. Milind R vor 10 Jahren 0
Auf einem Laptop funktioniert das allerdings nicht. Aber ich finde es auch schrecklich seltsam, diese Frage als Duplikat zu kennzeichnen, nachdem sie fast zwei Jahre vor der Frage ausreichend beantwortet wurde. Ich finde nicht, dass eine UEFI-Implementierung hackhaft ist. einfach ausgefallen, aber es hat den Vorteil, dass keine zusätzlichen Laufwerke erforderlich sind. John Chadwick vor 10 Jahren 0
Eine Single-Disk-Implementierung ist in Arbeit, wird aktualisiert, wenn sie getestet wird ... Außerdem ist es ein Hacker in dem Sinne, dass Sie Windows wegen des Systems anlügen: in hybriden MBR, über den Partitionstyp, in DUET, Lügen über die Firmware. Milind R vor 10 Jahren 0
Ich habe auch keine Benachrichtigung erhalten, bitte erwähnen Sie @MilindR, damit es benachrichtigt wird ... Milind R vor 10 Jahren 0
habe die doppelte Situation behoben :) Milind R vor 10 Jahren 0

6 Antworten auf die Frage

7
John Chadwick

Nun, die Dinge haben sich geändert, seit ich diese Frage zum ersten Mal gestellt habe. Zum einen ist mein PC jetzt UEFI-basiert, so dass ich dieses Problem nicht mehr habe. Naja, so ungefähr. Ich hatte Interesse an einem ähnlichen Setup auf meinem Laptop (GPT-Partitionen usw.). Schließlich gelang es mir, ein funktionierendes Tianocore UEFI DUET-Setup zu erhalten, und es war so schmerzhaft einfach, wie es nur geht!

Dies setzt voraus, dass Sie alle glänzenden, neuen Setups wünschen. Wenn Sie Ihr altes Setup tatsächlich konvertieren möchten, viel Erfolg . Eigentlich viel Glück, da dies in jeder Situation eine fleckige Operation ist.

Ein Wort der Warnung: Wenn Sie ein Fan von schnellen Startzeiten sind, möchten Sie vielleicht diese Entscheidung überdenken. UEFI DUET ist zwar nicht langsam, aber es fügt Ihrem Bootprozess eine weitere Stufe hinzu. Wenn Ihr BIOS / POST nicht schnell ist, mögen Sie dies möglicherweise nicht.

Ohne weiteres:

  1. Sie benötigen ein Linux-Setup. Ich habe Fedora 16 von einem USB-Stick (mit UNetBootin) verwendet und ich kann das wärmstens empfehlen, da es praktisch sofort funktioniert. Sie benötigen sowieso ein USB-Laufwerk, planen Sie also nicht weiter.

  2. Besorgen Sie sich einige UEFI DUET-Builds. Ohne Frage, der beste Ort, um das zu bekommen, ist hier . Die tatsächlichen Build tarballs sind unter dem Hauptzweig des ersten Repository hier . Gib es das Alte tar -xf.

  3. Richten Sie Ihre Partitionen ein. Sie sollten 200 MB irgendwo auf der Festplatte reservieren (sehr bevorzugt der Anfang und die erste Partition). Sie können es mit FAT32 formatieren, wir formatieren es jedoch später. Stellen Sie nur sicher, dass es als Partition angezeigt wird. Sie sollten GPT hier verwenden.

  4. Installieren Sie jetzt zusätzliche Software, die Sie benötigen. Auf der Fedora Live-Distribution fand ich, dass ich brauchte yum install gdisk. Ich denke das war es.

  5. Gehen Sie nun in das extrahierte Builds-Verzeichnis. chmod +x ./duet-installund ./duet-install -64 -F -m /dev/sda1(wo /dev/sda1ist Ihre gewünschte EFI-Systempartition.)

  6. Daumen drücken und neu starten. Mit etwas Glück sehen Sie in wenigen Augenblicken das TianoCore-Logo. Wenn ja, bist du wahrscheinlich gut! Sie werden Ihre OS - Installationsdateien auf dem Setup auf einem USB - Laufwerk benötigen - Tianocore ist nicht CD-ROM / DVD-ROM - Laufwerke aus der Box unterstützen (und ich kenne keinen Treiber dafür.)

Möglicherweise möchten Sie auch einige UEFI-Shell-Binärdateien zum Spielen. Ich habe hier einige gefunden . Noch nicht mit Tianocore getestet.

Vielen Dank für jeden, der versucht hat zu helfen.

Das funktioniert bei Windows-Installationen? Moab vor 8 Jahren 0
Ich habe es bereits 2012 erfolgreich mit Windows 8 verwendet. Ich brauche es nicht mehr, weil alles, was in den letzten Jahren gemacht wurde, UEFI verwendet, da Windows 8+ die Unterstützung von Hardware-Herstellern erfordert. Es würde wahrscheinlich heute noch funktionieren, aber ich weiß nicht, ob ich es empfehlen würde. John Chadwick vor 8 Jahren 0
Der UEFI DUET-Link sollte jetzt [hier] (https://gitlab.com/tianocore_uefi_duet_builds/tianocore_uefi_duet_installer) sein, er wird jedoch nicht mehr verwaltet. Die Site sagt, dass [Clover EFI] (http://sourceforge.net/projects/cloverefiboot) stattdessen verwendet werden soll. kirbyfan64sos vor 7 Jahren 1
und Sie können Clover to HDD (https://github.com/m13253/clover-linux-installer) installieren, um die Notwendigkeit eines separaten Laufwerks zu beseitigen phuclv vor 6 Jahren 0
6
Zhuoyun Wei

Ich konnte Windows 8.1 auf einem GPT-Datenträger unter einem BIOS-Setup OHNE einen zweiten MBR-Datenträger starten.

Die Geschichte war: Mein Laptop wurde unter einem BIOS + GPT-Setup installiert, wobei nur Arch Linux installiert war. In letzter Zeit muss ich einige Aufgaben in Windows erledigen (die virtuellen Maschinen können nicht). Ich habe Probleme, Windows unter meinem vorhandenen BIOS + GPT-Setup zu installieren. Laut Milinds Antwort gelang es mir, Windows-Boot-Dateien (Boot, Bootmgr usw.) auf einem (kleinen) MBR-USB-Laufwerk zu installieren. Jedes Mal, wenn ich meinen Laptop mit angeschlossenem USB-Laufwerk einschalte, kann ich Windows 8.1 starten. Danach kann das Laufwerk sicher angeschlossen werden.

Der Nachteil ist offensichtlich: Ich muss ein USB-Laufwerk bei mir haben, um Windows zu starten. Also habe ich immer versucht, es loszuwerden.

Nachdem ich verschiedene Methoden ausprobiert hatte, stellte ich fest, dass das Memdisk-Modul von syslinux project funktioniert.

  • Sie müssen den Windows-Bootmanager aufgeben.
  • Sie müssen syslinux nicht installieren. Es wird nur das Memdisk-Modul (eine 26 kB-Datei) benötigt.
  • Sie können viele Bootloader verwenden, um dieses Modul zu laden, in meinem Fall meinen bevorzugten Bootloader GRUB (Version 2).

Hier ist der Überblick über die Vorgehensweise:

  • Partitionieren Sie Ihren GPT-Datenträger, um die Anforderungen von GRUB zu erfüllen, d. H. Eine kleine Partition zum Einbetten von core.img. Ausführlicher Link
  • Installieren Sie GRUB auf dieser kleinen Partition.
  • Installieren Sie Windows mit imagex.Verwenden Sie bootsectund bcdboot, um Windows-Startdateien auf einem kleinen MBR-USB-Laufwerk zu installieren..
  • Verwenden Sie ddoder dd_rescue, um Ihre kleine USB-Festplatte in ein Festplatten-Image zu kopieren. (Ihr USB-Laufwerk hat seine Arbeit beendet.) Das Image ist möglicherweise zu groß, um memdisk laden zu können. Sie können es einbinden und das Dateisystem / die Partition darin verkleinern.
  • Laut meinem Test benötigen Sie keine physische MBR-Diskette, um Windows-Boot-Dateien zu installieren. Sie können eine vhd-Datei erstellen und als physische Festplatte behandeln.Nach der Installation von Windows-Boot-Dateien in der vhd können Sie sie mithilfe der von VirtualBox oder QEUM bereitgestellten Tools in ein Raw-Image (dd-style) konvertieren.Wenn type=fixeddie vhd-Datei mit erstellt wurde, handelt es sich lediglich um ein normales Raw-Image (dd-style) mit 512 Byte Fußzeile. Die Fußzeile wird als "nicht partitionierter Speicherplatz" erkannt und ignoriert, sodass eine type=fixedvhd-Datei ohne Konvertierung direkt in MEMDISK eingegeben werden kann und somit das Windows booten kann.
  • Konfigurieren Sie GRUB für die Verwendung von Memdisk, um dieses Image zu laden.
  • Windows wird booten.

Eine detaillierte Anleitung finden Sie in meiner Antwort auf reboot.pro auf Milinds Thread.

@wzboy Ich benutze Arch Linux und habe es geschafft, Windows (mit Wimlib-Imagex) zu installieren. Jetzt bin ich nicht sicher, wie ich fortfahren soll. Würden Sie in der Lage sein, die vhd-Datei in einer Linux-Distribution zu erstellen? Mihai Bişog vor 10 Jahren 1
@ MihaiBişog Sie benötigen ein Windows PE, um diese vhd zu erstellen. Es gibt viele Möglichkeiten, in Windows PE zu booten. GRUB und syslinux können zum Beispiel in Iso-Dateien booten. Zhuoyun Wei vor 10 Jahren 0
Ist dies nicht die Aktualisierung von Windows-Updates? Ich meine, wenn Microsoft ein Update herausgibt, das diese Boot- / Bootmgr-Dateien, die Sie in ein virtuelles Festplatten-Image einfügen, ändern sollte, werden diese nicht aktualisiert und Sie bemerken dies auch gar nicht. Ich vermute auch, dass dadurch einige Windows-Reparaturvorgänge zerstört werden können. Gibt es noch andere Nachteile? Powerman vor 10 Jahren 0
Tatsächlich wird BCD / Bootmgr von Windows nie gefunden, da es sich in einem Disketten- / Disketten-Image befindet. Es ist also keine Frage der automatischen Aktualisierung. Autoreparatur funktioniert nicht. Alles, was mit Microsoft-Tools im Zusammenhang mit Ihrem Bootup zusammenhängt, wird wahrscheinlich nicht funktionieren. Milind R vor 10 Jahren 0
Ja, alles was mit bootmgr zu tun hat, wird nicht funktionieren, da sie nach dem Start von Windows "weg" sind. Wenn Sie "bcdedit" in cmd.exe ausführen, werden Sie in der Tat darauf hingewiesen, dass keine Boot-Dateien gefunden werden können. :-) Zhuoyun Wei vor 10 Jahren 1
In meinem Fall musste ich `harddisk` durch` raw` in `linux16 / boot / syslinux / memdisk harddisk` ersetzen. mixel vor 7 Jahren 0
5
Milind R

Wenn Sie sogar ein kleines Ersatzlaufwerk haben, können Sie Windows (32 oder 64 Bit) von GPT im BIOS starten. Eine Diskette reicht aus.

Starten Sie die Windows-Installations- / Reparaturdiskette.

Erstellen Sie das Systemlaufwerk auf der kleinen Diskette / Diskette, und bcdbootlegen Sie Ihre Startdateien auf dem neu erstellten Laufwerk auf der kleinen Diskette ab. Fügen Sie einen Bootssektor mit hinzu bootsect. Ändern Sie devicein boot. Booten Sie von einer kleinen Festplatte.

Schritte werden hier detailliert beschrieben .

Ich habe es versucht und es hat funktioniert. Jetzt habe ich ein funktionierendes Windows 8.1 auf einem GPT-Datenträger unter einem BIOS-Setup. Alles, was ich tun muss, ist mein USB-Flash-Laufwerk zum Starten einzulegen. Nach dem Bootvorgang kann das USB-Laufwerk entfernt werden. Genau wie früher, meine ich MS-DOS-Diskette ... Zhuoyun Wei vor 10 Jahren 2
Lol. Ich arbeite an einer Lösung, für die keine weitere Festplatte erforderlich ist. Kannst du mir sagen, wie langsam / schnell es ist? Milind R vor 10 Jahren 0
Ich denke, das Booten von bootmgr auf einer anderen Festplatte macht das Booten von Windows nicht länger, zumindest fühle ich es nicht. Zhuoyun Wei vor 10 Jahren 1
OHHHH JA. Entschuldigung, zu aufgeregt zu sein. Ich verbrachte einen ganzen Nachmittag und schaffte es schließlich, Windows 8.1 auf einer GPT-Diskette unter einem BIOS-Setupt OHNE eine zweite (kleine) MBR-Diskette zu booten - mithilfe des syslinux memdisk-Moduls, das ein Festplatten-Image laden kann. Zhuoyun Wei vor 10 Jahren 2
@wzyboy hey das ist großartig. Bitte berichten Sie, wie Sie dies unter [reboot.pro-Thread] (http://reboot.pro/topic/19516-hack-bootmgr-to-boot-windows-in-bios-to-gpt/) erreicht haben. Milind R vor 10 Jahren 0
Hier ist mein Beitrag: http://reboot.pro/topic/19516-hack-bootmgr-to-boot-windows-in-bios-to-gpt/page-2#entry184489 Zhuoyun Wei vor 10 Jahren 1
Ich weiß, dass es schon einige Zeit her ist, seit Sie dies veröffentlicht haben, aber gibt es eine Chance, dass Sie die Schritte hier für zukünftige Benutzer veröffentlichen können? Haben Sie jemals einen Weg gefunden, dies ohne eine zusätzliche Festplatte zu tun? Mokubai vor 9 Jahren 0
Überprüfen Sie wzyboys Antwort. Milind R vor 9 Jahren 0
3
Nikolai Vakulenko

Vielen Dank an wzyboy.

Ich habe dieses Problem gehabt, als ich versuchte, Windows 2012 auf dem Dell PowerEdge 2950 mit 6 TB RAID zu installieren. Es hat keine UEFI.

Ich habe einige Experimente durchgeführt. Zuerst erstellte ich eine virtuelle 32-MB-Festplatte, wie Wzyboy sagte, und kopierte einfach alles von der reservierten Microsoft-Partition. Windows wurde normal gestartet. Mit dieser Lösung kann der Hyper-V-Dienst jedoch nicht gestartet werden.

Wie Memdisk Wiki sagt, entscheidet es automatisch nach Bildgröße, welche Art von Medien es emulieren muss. Also erstellte ich virtuelle 720K-Disketten in der WMware-Umgebung und kopierte bootmgr, BCD und bootstat.dat (nur für den Fall, dass das Memtest-Untermenü aus dem BCD-Speicher gelöscht wurde). Diskettengröße Ich habe so klein wie möglich gewählt, daher kann es größer oder kleiner sein, habe ich nicht versucht.

Jetzt bootet es von GPT-Laufwerk und Hyper-V funktioniert gut.

PS kann Software von Drittanbietern helfen. Hat jemand so etwas verwendet? https://www.terabyteunlimited.com/bootit-bare-metal.htm

Nachdem ich viele Stunden mit Image-Tricks verbracht hatte, fand ich den RAID-Controller Perc5-i in der Lage, Arrays kleiner als die physische Festplattenkapazität zu schneiden. Auf professioneller Hardware ist GPT-Booten also kein Problem. Nikolai Vakulenko vor 10 Jahren 0
Können Sie bitte Ihr Szenario und Ihr Update dazu in [diesem Entwicklerthread] (http://reboot.pro/topic/19516-hack-bootmgr-to-boot-windows-in-bios-to-gpt/) erläutern? ? Ich versuche, alle Details zusammenzuhalten. Milind R vor 10 Jahren 0
2
harrymc

Der Artikel A BIOS in UEFI Transformation beschreibt ausführlich die Verwendung von TainoCore UEFI DUET.

Ich habe gehört, dass Sie Probleme bei der Verwendung von TainoCore hatten, aber dieser Artikel wird möglicherweise für Sie funktionieren.

Der Artikel sagt:

Einige Computer funktionieren nicht mit UEFI DUET. Am wichtigsten ist jedoch, dass es nur auf 64-Bit-x86-64-Computern nützlich ist, insbesondere in binärer Form. Tatsächlich startet es sogar auf einigen x86-64-Computern nicht ordnungsgemäß. In Tests auf fünf x86-64-Systemen ist es mir gelungen, eine oder beide Versionen auf nur drei Computern zu installieren - eine ziemlich düstere Erfolgsquote. Es mag ein Zufall sein, aber die zwei Computer, die am besten für mich funktionierten, verwendeten Intel-CPUs, während die beiden, die am schlechtesten funktionierten, und derjenige, der mit Version 2.1, aber nicht mit Version 2.3 funktionierte, alle AMD-CPUs hatten.

Dies scheint zu bedeuten, dass man mehrere Versionen von UEFI DUET ausprobieren sollte, bevor er aufgibt.

Es würde hilfreich sein, das Modell Ihres Computers zu kennen.

Seit ich diese Frage das letzte Mal aktualisiert habe, habe ich tatsächlich UEFI DUET für den erfolgreichen Start auf meinem Computer erhalten. Leider hat mich das Fehlen eines DVD-ROM-Treibers umgebracht, da ich keine USB-Laufwerke hatte, auf denen Windows gespeichert werden konnte. Nachdem meine primäre Festplatte zufällig versagt hatte, entschied ich mich, ihr eine Pause zu machen und die BIOS-Partitionierung auf einem Ersatzlaufwerk zu verwenden. Dieser Artikel ist jedoch auf jeden Fall hilfreich, und ich bin immer noch daran interessiert, dass dies von mir selbst funktioniert. Ich werde versuchen, mich bald daran zu erinnern, ein Flash-Laufwerk zu kaufen. John Chadwick vor 12 Jahren 0
@JohnChadwick können Sie Clover verwenden und [auf HDD installieren] (https://github.com/m13253/clover-linux-installer), sodass Sie kein separates Startlaufwerk mehr benötigen phuclv vor 6 Jahren 0
@phuclv: Haben Sie bemerkt, dass der Kommentar von John Chadwick aus dem Jahr 2011 stammt und er [seine eigene Antwort] (https://superuser.com/a/375788/8672) zu diesem Beitrag gegeben hat? harrymc vor 6 Jahren 0
@ harrymc natürlich weiß ich. Diese Informationen sind für zukünftige Leser gedacht phuclv vor 6 Jahren 0
0
Scott Tovey

Die Leute müssen bedenken, dass nicht alle BIOS-Firmware mit einem GPT-Laufwerk umgehen können. Ich habe ein USB-Seagate-4-TB-Laufwerk, das ab Werk GPT war, und keiner meiner beiden Computer würde mit dem an den USB-Anschluss angeschlossenen Laufwerk booten.

Die Maschinen werden auf dem Startmenübildschirm von F2 Enter Setup F10 einfrieren, und zu diesem Zeitpunkt können Sie nur das Gerät ausschalten und wieder einschalten.

Sobald ich das Laufwerk in MBR konvertiert habe, was etwa 2 TB Festplattenspeicherplatz bedeutet, werden beide Systeme gestartet und booten wie üblich, wenn das Laufwerk angeschlossen ist.

Ich suche nach einem BIOS-Patch, um dieses Problem zu beheben.

** Das BIOS weiß nichts über das Laufwerk **, ob GPT oder MBR oder sogar BSD-Label oder APM ... Es lädt nur den ersten Sektor (dh MBR) und führt es aus. An diesem Punkt kann die Aufgabe des BIOS als "erledigt" betrachtet werden. Wenn Ihr Laufwerk nicht startet, bedeutet das nur, dass es keinen gültigen Boot-Sektor auf dem Laufwerk gibt ** phuclv vor 6 Jahren 0