Warum verhalten sich ein Betriebssystem und sein Installationsprogramm unterschiedlich, je nachdem, ob der Legacy-Modus verwendet wird oder nicht?

538
VortixDev

Einige Zusammenhänge:

Heute habe ich versucht, Kali Linux auf meinem Rechner neu zu installieren (Dual-Boot mit Windows). Dazu habe ich das ISO heruntergeladen und auf meinen Easy2Boot USB-Stick gelegt. Um meinen Laptop vom Easy2Boot-Stick booten zu können, musste ich zu meinem BIOS gehen und:

  • PTT deaktivieren
  • Legacy-Option-ROM aktivieren
  • Wechseln Sie in den Legacy-Modus

Dies liegt daran, dass Easy2Boot keine UEFI unterstützt und der Stick daher nicht angezeigt wird, wenn ich dies nicht tue.

Ich hatte keine Probleme bei der Installation, sondern eher danach. Ich war gut in das System zu booten, aber wenn ich die Änderungen, die ich im BIOS vorgenommen hatte, rückgängig machte und in den UEFI-Modus zurückkehrte, erhielt ich die GRUB-Rettungsaufforderung anstelle von Kali. Während diese BIOS-Optionen noch eingestellt waren, konnte GRUB meine Windows-Installation nicht erkennen. Letztendlich habe ich Rufus verwendet, um Kali mit "Partition Scheme: GPT" und "Target System: UEFI (non CSM)" zu installieren. Danach trat ich in den Installationsprozess ein. Der Installer schien anders zu sein. Es war nicht nur ein anderes Aussehen, sondern auch das Startmenü hatte verschiedene Optionen.

Meine Frage:

Wie kommt es, dass das Umschalten zwischen dem Legacy-Modus und dem UEFI-Modus diese Probleme verursacht hat? Meines Wissens nach war das einzige, was der MBR / GPT beim Booten betraf, die Bereitstellung des ursprünglichen Codes, von dem aus gestartet werden sollte.

  • Da GRUB im UEFI-Modus laden konnte, warum war es dann im Wiederherstellungsmodus, anstatt Kali einfach wegen dieser Änderung zu booten?

  • Warum gab es einen Unterschied zwischen den Installationsprogrammen, die ich im Modus Legacy vs UEFI gesehen habe?

  • Warum konnte GRUB Windows im Legacy-Modus nicht erkennen? Ich hätte gedacht, da das BIOS seine Aufgabe beim Laden von GRUB bereits erfüllt hatte, hätte es keine Probleme, da ich weiß, dass GRUB keine Probleme hat, Windows zu erkennen, wenn es im UEFI-Modus installiert ist.

0
Verwenden Sie für UEFI-PCs immer den UEFI-Modus. Das Erbe ist immer noch für (sehr) alte oder "spezielle" Betriebssysteme vorhanden und für wie lange ich es nicht weiß, aber wenn ich raten würde, in 5 Jahren werden wir diese Diskussion nicht mehr führen, es wird UEFI oder nichts sein . Alles, was Sie fragen, ist leicht zu verstehen. Grub in Legacy erkennt Windows nicht in einem anderen Modus (UEFI) und umgekehrt. Es ist auch bekannt, dass Windows MBR für BIOS (Legacy) und GPT für UEFI unbedingt benötigt. Ich bin nur ein einfacher Ubuntu-Benutzer und ich weiß das und mehr. Von einem Kali-Benutzer wird erwartet, dass er 10x weiß, was ich so weiß ... GabrielaGarcia vor 5 Jahren 1
Ich empfehle Ihnen dringend, UEFI- und Legacy-Boot-Modi zu untersuchen, um zu verstehen, was sie sind und wie sie sich unterscheiden. music2myear vor 5 Jahren 1
Ich denke, es ist an der Zeit, dass Sie Ihre Wahl der Linux-Distribution überdenken. Kali ist sehr spezifisch für Pentesting. Es ist KEIN Desktop-Linux für den täglichen Gebrauch und richtet sich an Profis, die bereits sehr fortgeschrittene Linux-Benutzer sind. Die Antwort hier fasst es zusammen: https://unix.stackexchange.com/questions/399626/why-is-kali-linux-so-hard-to-set-up-why-wont-people-help-me GabrielaGarcia vor 5 Jahren 0
@GabrielaGarcia Vielen Dank für den Link, es ist eine sehr interessante Lektüre. Ich möchte jedoch sagen, dass es die Herausforderungen sind, vor denen ich mich gestellt habe und die ich mir vorstelle, wenn ich mit Kali konfrontiert bin, die mich dazu veranlasst haben, sie zu wählen, um durch meine Kämpfe zu lernen - es ist nicht meine Wahl für eine Verteilung zu Hause. VortixDev vor 5 Jahren 0
Ich tippe speziell auf den Punkt in diesem Beitrag: "Wenn Sie eine Anfängerfrage über Kali stellen, werden viele Leute Sie ignorieren.", Möchte ich sagen, dass ich glaube, dass die Frage für jede Distribution gelten würde: Ich erwähne nur Kali, um den Kontext zu geben . VortixDev vor 5 Jahren 0
Wenn Sie Ihren USB-Stick mit Rufus formatieren, können Sie ihn mit UEFI zum Laufen bringen, was viel mehr zu bevorzugen ist. LPChip vor 5 Jahren 0
Ich wollte nur erwähnen, dass Sie E2B tatsächlich zum Booten im UEFI-Modus verwenden können. Dazu müssen Sie die .iso-Datei in eine imgPTN-Datei konvertieren. Siehe die folgenden Links: http://www.easy2boot.com/add-payload-files/e2b-uefi/ http://www.easy2boot.com/add-payload-files/adding-uefi-images User025 vor 5 Jahren 0
@ User025 Sehr interessant: Danke! VortixDev vor 5 Jahren 0

2 Antworten auf die Frage

3
grawity

Meines Wissens nach war das einzige, was der MBR / GPT beim Booten betraf, die Bereitstellung des ursprünglichen Codes, von dem aus gestartet werden sollte.

Und das Anfangsmenü ist eigentlich Teil dieses Codes. Es wird nicht vom Betriebssystem bereitgestellt. Es wird vom Bootloader angezeigt (der auch als 'Bootmanager' fungiert).

Der Bootloader ist naturgemäß spezifisch für einen einzelnen Firmwaretyp. (Sogar GRUB2 hat separate Kerne für BIOS und UEFI, und seine Module müssen für beide Typen unterschiedlich kompiliert werden.)

Es ist daher durchaus möglich, dass auf derselben Installationsdiskette völlig unterschiedliche Bootloader für BIOS und UEFI-Systeme verwendet werden (z. B. syslinux für BIOS, aber Systemd-Boot auf UEFI; oder GRUB2 für BIOS, aber ERFInd auf UEFI). Wenn sie Startmenüs bereitstellen, tun sie dies auf ihre eigene Art und Weise, mit ihrem eigenen Erscheinungsbild und eigenen Themen.

(Es kann auch sein, dass das ursprüngliche ISO keine Bootloader für beide Firmwaretypen enthält - in einigen Situationen fügt Rufus seine eigene Bootloader-Konfiguration (syslinux) in den Mix ein.)

Selbst wenn es sich um dieselbe GRUB2 mit derselben Basiskonfiguration handelt, steht in beiden Fällen möglicherweise nicht derselbe grafische Modus zur Verfügung. Menüoptionen können aufgrund von Unterschieden in den Firmwares selbst fehlen: z. B. wird "Boot Vorhandenes Betriebssystem" zwischen BIOS und UEFI völlig unterschiedlich ausgeführt. und "Speichertest" (memtest86) ist ein separates Programm, das selbst in BIOS- und UEFI-Varianten enthalten sein muss ...

Da GRUB im UEFI-Modus laden konnte, warum war es dann im Wiederherstellungsmodus, anstatt Kali einfach wegen dieser Änderung zu booten?

Kann das nicht beantworten, ohne den genauen Fehler zu sehen, der von GRUB gemeldet wird. Möglicherweise hatte Ihre EFI-Partition die GRUB-Kerndateien, aber die Module oder die grub.cfg fehlten.

Denken Sie auch daran, dass BIOS GRUB und UEFI GRUB als zwei separate Softwarekomponenten fungieren. Obwohl sie den größten Teil des Quellcodes gemeinsam nutzen, werden sie in verschiedenen Formaten kompiliert, an verschiedenen Orten im System installiert und von den Firmwares unterschiedlich gestartet.

Warum konnte GRUB Windows im Legacy-Modus nicht erkennen? Ich hätte gedacht, da das BIOS seine Aufgabe beim Laden von GRUB bereits erfüllt hatte, hätte es keine Probleme, da ich weiß, dass GRUB keine Probleme hat, Windows zu erkennen, wenn es im UEFI-Modus installiert ist.

Das Windows-System ist so konfiguriert, dass es im UEFI-Modus gestartet wird. Dies bedeutet, dass nur ein UEFI-kompatibler Bootloader installiert ist.

Wenn sich das System jedoch im BIOS-Modus befindet, können UEFI-Programme nicht gestartet werden, da sie davon abhängig sind, dass der UEFI-Kernel vorhanden ist und bestimmte Dienste bereitstellt. (Genau wie MS-DOS keine Möglichkeit hat, Windows-Programme zu starten ...)

Im Legacy-Modus wird das Betriebssystem die Firmware nur so sehen, als wäre es ein herkömmliches PC-BIOS. Alle UEFI-Dienste sind unsichtbar.

(Ebenso bin ich nicht sicher, ob es für eine UEFI-Anwendung möglich ist, das System auf den 16-Bit-Modus herunterzustufen, um den BIOS-kompatiblen Startcode zu verketten.)

Vielen Dank! Ich hatte den Verdacht, dass für UEFI und Legacy anderer Code verwendet wurde, aber ich wollte die Annahme in meinem Beitrag nicht machen. Für mich ist der Schlüssel zum Erfolg, dass GRUB UEFI zur Unterstützung des Startvorgangs verwendet. Ich wusste dies nicht und ging davon aus, dass der Code unabhängig von der Quelle ist, die zum Booten verwendet wurde, und würde funktionieren, ob es sich um eine UEFI oder um eine UEFI handelt Legacy-Stiefel Für weitere Informationen zur GRUB-Problematik glaube ich, dass es "unbekanntes Dateisystem" gab, und jeder Versuch, es mit online beschriebenen Methoden zu reparieren, schlug bei "insmod normal" fehl, wo es die Nachricht wiederholen würde. VortixDev vor 5 Jahren 0
2
LPChip

Sie schrieben:

Ich habe das ISO heruntergeladen und auf meinen Easy2Boot USB-Stick gelegt. Um meinen Laptop vom Easy2Boot-Stick booten zu können, musste ich zu meinem BIOS gehen und:

PTT deaktivieren Legacy-Options-ROM aktivieren Wechseln Sie in den Legacy-Modus. Dies liegt daran, dass Easy2Boot keine UEFI unterstützt. Daher wird der Stick nur angezeigt, wenn ich dies tue.

Easy2Boot unterstützt UEFI möglicherweise nicht, Rufus jedoch. Wenn Sie Rufus verwenden, um einen bootfähigen USB-Stick zu erstellen, können Sie UEFI unterstützen.

Beachten Sie, dass Sie tatsächlich die richtigen Einstellungen auswählen müssen, damit dies funktioniert. Sie müssen das Partitionsschema auf GPT setzen und dann UEFI (Non CSM) als Zielsystem auswählen. Beachten Sie, dass die neueste Version von Rufus die meisten Einstellungen automatisch vornimmt, weil sie in der Vergangenheit verwirrt hat, warum sie nicht funktioniert hat.

Dies ist, was ich verwende, um benutzerdefinierte Windows 10-Installationsprogramme mit Unterstützung für UEFI zu erstellen.

Da die andere Antwort erklärte, warum es nicht funktioniert hat, aber nicht wirklich ins Detail gegangen ist, wie das Problem auf die richtige Art und Weise gelöst werden soll, habe ich mich entschlossen, diese Antwort zu posten, da die andere Antwort zwar technisch korrekt ist, aber ich denke, dass dies antworten wird Ihre eigentliche Frage: Was ist der beste Weg, um Linux auf meinem Computer zu installieren?

Bitte haben Sie Verständnis, dies ist kein Beitrag zur Bewerbung von Rufus. Es gibt auch andere Tools, die funktionieren. Ich habe gerade Erfahrung mit Rufus, so dass ich garantieren kann, dass es funktioniert. Wenn Sie ein anderes günstigeres Programm finden, das auch UEFI unterstützt, können Sie es gerne verwenden.

Das heißt, ich sehe auf der Website von Easy2Boot, dass sie den UEFI-Modus unterstützen sollten, indem sie einige Konvertierungs- und andere Schritte ausführen. Rufus ist meiner Meinung nach immer noch viel einfacher, aber Easy2Boot, eine Software, die Sie bereits haben, sollte ebenfalls möglich sein.

Ich empfehle, die genaue Option hinzuzufügen, die in Rufus - GPT / UEFI - ausgewählt werden muss, bevor das ISO gebrannt wird. Dies liegt daran, dass ich denke, der Standard ist der andere, "MBR für BIOS und UEFI", der an sich irreführend ist, und ich habe viele Benutzer gefunden, die nur brennen, ohne sie zu ändern, und das Ergebnis ist ein USB, der nur für BIOS / Legacy funktioniert. Die "DD" -Methode funktioniert auch und erstellt eine 1: 1-Kopie der ISO, die bereits Bootloader für beide Situationen enthält, anstatt dass Rufus seine eigenen Bootloader einsetzt. GabrielaGarcia vor 5 Jahren 1
@GabrielaGarcia Guter Punkt. Ich werde dafür eine Bearbeitung machen. :) LPChip vor 5 Jahren 0
Danke für die Anleitung! VortixDev vor 5 Jahren 0