Ich versuche, Windows 8 und Arch Linux auf einem neuen Sony Vaio E14 mit vorinstalliertem Windows 8 einzurichten.
Bisher:
- installierte W8 mit Recovery Media auf meiner neuen SSD (auf die Original-Festplatte umgeschaltet)
- verkleinerte die W8-Partition, löschte die Wiederherstellungspartition und deaktivierte den Austausch
- bestätigte W8-Booten ganz gut
Auf zu Arch:
- deaktiviert Secure Boot im BIOS
- bestätigte W8-Booten ganz gut
- Booten Sie Arch von der CD und installieren Sie alles auf der 4. und 5. Partition
- REFInd für den EFIstub-Kernel-Bootloader einrichten
Danach wurde es schlimmer. Ich konnte nichts anderes als Windows 8 booten (obwohl ich froh war, dass sie zumindest weiterhin einwandfrei funktionierten).
Versucht:
- Erstellen von EFI \ refind \ und Ablegen der .efi-Datei (gemäß Arch-Handbuch)
- Überschreiben von EFI \ boot \ bootx64.efi
- Überschreiben von EFI \ Microsoft \ Boot \ bootmgr.efi
- Überschreiben von EFI \ Microsoft \ Boot \ bootmgfw.efi --- YAY rEFInd wird angezeigt!
So weit, ist es gut. Ich habe das gesamte W8 Boot \ -Verzeichnis in EFI \ windows8 gespeichert und einen Boot-Menüeintrag dafür eingerichtet. und es bootete ganz gut.
Beim Neustart war jedoch alles falsch - "Betriebssystem nicht gefunden" anstelle eines Bootloaders (refind oder w8).
Mit der Live-CD zurück in Arch gebootet, um herauszufinden, dass die EFI-Partition eine fehlerhafte FAT-Tabelle hatte. fsck.vfat hat das Problem behoben, und ich habe festgestellt, dass EFI \ Microsoft \ Boot wieder im ursprünglichen Zustand ist (alle Refind-Dateien wurden gelöscht und durch W8-Bootloader ersetzt). Ich habe sie erneut überschrieben und bin zu rEFInd zurückgekehrt, das korrekt angezeigt wird und Arch perfekt bootfähig ist.
Danach habe ich versucht, nur EFI \ Microsoft \ Boot \ bootmgfw.efi in bootmgfw.001.efi umzubenennen (dann die .efi von refind nach bootmgfw.efi zu kopieren und JEDE ANDERE Datei so zu belassen, wie sie war), aber mit genau dem gleichen Ergebnis. Versucht, die GPT-EFI-Partition als schreibgeschützt zu markieren, gleiches Ergebnis.
Jetzt habe ich ein bisschen Pech. Arch bootet gut, W8 auch, zerstört dabei jedoch die EFI-Partition.
Vielen Dank für alle Ideen, Googeln hat mich so weit gebracht und ich kann keinen besseren finden.
PS - Windows 8 zerstört möglicherweise die Partition beim Herunterfahren - wenn ich ein Herunterfahren in W8 bestelle, dauert es ungewöhnlich lange (ungefähr eine halbe Minute statt ~ 5 Sekunden). Theoretisch könnte ich das lösen, indem ich den Laptop anstelle eines normalen Herunterfahrens hart zurücksetze, aber das ist einfach nicht schön.
quelle
Antworten:
Es könnte sich lohnen, in Windows ein kaltes Herunterfahren (Drücken des Netzschalters) durchzuführen, um zu sehen, ob Sie danach nur als Test booten können. Natürlich möchten Sie dies nicht regelmäßig tun, aber es kann hilfreich sein, zu bestätigen, dass Windows Ihre überarbeiteten ESP-Daten überschreibt. Wenn das Dateisystem beim Herunterfahren von Windows tatsächlich beschädigt wird, klingt dies wie ein Windows-Fehler, der Microsoft gemeldet werden sollte. Wenn es nur
bootmgfw.efi
darum geht, die Datei zu ersetzen, liegt dies technisch im Zuständigkeitsbereich von Microsoft, sodass es sich nicht wirklich um einen Fehler handelt.Im weiteren Sinne haben Sie jedoch versucht, mit dem Linux-
efibootmgr
Programm rEFInd unter seinem eigenen Namen beim EFI zu registrieren (z. B.EFI/refind
auf dem ESP)? Dies wird in der Dokumentation von rEFInd im Abschnitt zur manuellen Linux-Installation beschrieben. Alternativ können Sie die Installation mit deminstall.sh
Skript durchführen. Für beide Methoden ist ein Start im EFI-Modus erforderlich, dies sollte jedoch möglich sein. Verwenden Sie dazu eine rEFInd-CD oder starten Sie von einer Notfall-CD im EFI-Modus.Wenn
efibootmgr
dies nicht funktioniert, versuchen Sie esbcfg
in einem EFI-Shell-Programm, wie auf dieser Arch-Wiki-Seite beschrieben.Wenn diese Verfahren keine Arbeit tun, versuchen Sie es mit
efibootmgr
oder entfernen Sie den Eintrag aus dem NVRAM und dann installieren REFind wie . Theoretisch könnte der Computer dann rEFInd starten, was normal funktionieren und das Booten beider Betriebssysteme ermöglichen sollte. Es gibt zwei mögliche gotchas, aber: Die Firmware begünstigen könnte über ; und Windows überprüft möglicherweise seine Startoptionen und fügt dem NVRAM beim Booten einen eigenen Bootloader hinzu. Trotzdem ist diese Methode einen Versuch wert.bcfg
bootmgfw.efi
EFI/BOOT/bootx64.efi
EFI/Microsoft/boot/bootmgfw.efi
EFI/BOOT/bootx64.efi
Gemäß der EFI-Spezifikation müssen Computer ihre NVRAM-Einstellungen berücksichtigen (die von
efibootmgr
Linux,bcfg
einer EFI-Shell oder ähnlichen Programmen verwaltet werden). Wenn diese Dienstprogramme also nicht funktionieren, ist Ihre Firmware defekt, und Sie können die Rückgabe der Einstellungen in Betracht ziehen Computer für ein anderes Modell. (Teilen Sie Sony jedoch unbedingt mit, warum Sie den Computer zurückgegeben haben, wenn Sie dies tun!) Diese Art von Problem ist tatsächlich ziemlich häufig. Ich habe ein Gigabyte-Board mit einem "Hybrid EFI", das zum Beispiel immer wieder die NVRAM-Einstellungen vergisst. Zumindest mit diesem Board ist es jedoch möglich, das Problem zu umgehen, indem Sie den Boot-Manager / Loader Ihrer Wahl benennenEFI/BOOT/bootx64.efi
.Wenn Sie es nicht zum Laufen bringen können und den Computer nicht ersetzen möchten oder können, habe ich zwei weitere Vorschläge für Problemumgehungen:
Ich bin auf diese Seite gestoßen, nachdem ich meine erste Antwort veröffentlicht habe, und es gibt eine weitere mögliche Ursache für zumindest einen Teil Ihres Problems: Anscheinend verwendet Windows 8 eine Methode zum Herunterfahren, die eher einem Suspend-to-Disk-Vorgang ähnelt. Das Ergebnis ist, dass gemountete Partitionen beschädigt werden können, wenn Sie Windows herunterfahren und dann Linux starten. Obwohl das ESP normalerweise nicht in Windows 7, AFAIK, bereitgestellt wird, kann es sein, dass Windows 8 die Dinge anders macht, oder dass das ESP in Windows 7 bereitgestellt wird und nur versteckt zu sein scheint. In jedem Fall können Sie diese Funktion von Windows 8 deaktivieren, indem Sie den folgenden Befehl in ein Eingabeaufforderungsfenster für Administratoren eingeben:
quelle
efibootmgr
; Es zeigte sich, dass es eine ungewöhnlich hohe Anzahl von Bootmanagern gibt (mehr als die 3, die ich erwarten würde), was dazu führte, dass ich besser auf meine Festplatte schaute. und ich habe festgestellt, dass ich tatsächlich zwei EFI-Partitionen habe: -x Nur die zweite (/ dev / sda2) wurdeEFI system partition
in GDisk als angezeigt, sodass ich dachte, dass es die richtige ist. Die andere ist nur eine FAT-Partition (sda1) mit derselben Größe und Standard-EFI-Dateistruktur.bootmgfw.efi
powercfg /h off
in w8 ausprobiert, und DIESES BEHOBENE W8, DAS DIE EFI-TEILUNG BRECHT ... das ist der heilige Gral, nach dem ich gesucht habe, wie es scheint :) DANKE DANKE DANKE!powercfg /h off
Ihr Hauptproblem behoben hat. Es könnte Sie interessieren zu hören, dass ich auf Informationen gestoßen bin, dass einige UEFI-Implementierungen so codiert zu sein scheinen, dass ein Bootloader namens "Windows Boot Manager" an die Spitze ihrer Listen verschoben wird. Wenn Sie Ihre Bootloader mit umbenennen,efibootmgr
können Sie möglicherweise rEFInd (oder was auch immer Sie möchten) unter einem vernünftigeren Dateinamen installieren.