rEFInd Frage: Mehrere Boot-Elemente entfernen?


11

Ich habe Ubuntu gerade auf einem separaten Laufwerk (das nicht mit einem anderen Betriebssystem partitioniert ist) sowie auf meinem Mac Pro installiert. Ich habe es geschafft, alles richtig zu starten und kann problemlos von rEFInd an einen der Speicherorte booten. Das Problem ist, ich habe 3 zusätzliche Elemente auf dem Boot-Manager geladen, die ich irgendwie loswerden möchte. Ich habe nach Antworten gesucht und immer noch scheint nichts zu funktionieren. Abgesehen von OS X, Windows 7 und Ubuntu Grubx64 (was auch immer das bedeutet) habe ich die folgenden Elemente:

boot \ vmlinuz-3.11.0-18-generic.efi.signed
boot \ vmlinuz-3.11.0-15-generic.efi.signed
Boot Legacy-Betriebssystem vom gesamten Datenträger

Ich sehe immer wieder Leute, die sagen "Versuch das gut" und sie geben einfach die Methode an, ohne die Anweisungen zu geben, wie man es tatsächlich macht. Kann mir jemand eine einfache Anleitung geben, wie ich diese verstecken kann?

Antworten:


7

Es gibt verschiedene Möglichkeiten, um das zu tun, was Sie wollen, aber verstehen Sie zunächst, dass Sie drei (oder vielleicht vier) Einträge haben, mit denen Ubuntu auf unterschiedliche Weise gestartet wird:

  • Der grubx64.efiEintrag startet GRUB, das wiederum den Linux-Kernel startet (und je nach Konfiguration auch ein eigenes Menü zum Booten anderer Dinge anbieten kann).
  • Der boot\vmlinuz-3.11.0-18-generic.efi.signedEintrag startet den generischen Kernel 3.11.0-18 ohne Verwendung von GRUB. (Der Startvorgang erfolgt über den EFI-Stub-Loader , der im Kernel selbst integriert ist.)
  • Der boot\vmlinuz-3.11.0-15-generic.efi.signedEintrag startet den generischen Kernel 3.11.0-15 - einen etwas älteren Kernel als den vorhergehenden.
  • Mit der Option "Boot Legacy OS ..." wird möglicherweise eine BIOS-Version von GRUB gestartet. Sie beschreiben nicht, was passiert, wenn Sie diese Option auswählen. Daher ist nicht klar, ob dies der Fall ist oder überhaupt nützlich ist.

In jedem Fall besteht hier der große Unterschied zwischen GRUB und dem EFI-Stublader. In den meisten Fällen funktionieren beide Ansätze zum Booten von Linux gleich gut, aber manchmal funktioniert einer besser als der andere. Persönlich mag ich GRUB nicht; IMHO ist es aufgebläht und unnötig komplex. Dies ist auch ein zusätzlicher Schritt in Ihrem Startpfad, da Sie wahrscheinlich rEFInd benötigen, um Ihren Triple-Boot auf einem Mac zu verwalten. OTOH, GRUB ist die Standardmethode zum Booten von Ubuntu. Beachten Sie, dass GRUB zwar nur einen Eintrag in rEFInd hat, Sie jedoch über ein eigenes Menü (sofern Sie es so einstellen, dass es angezeigt wird) wahrscheinlich einen der beiden Linux-Kernel starten können, mit denen Sie mit rEFInd direkt booten können.

Persönlich würde ich alle diese drei Einträge (GRUB und die beiden Kernel) behalten, zumindest wenn sie alle funktionieren. Der Grund dafür ist, dass Sie mehrere Optionen zum Starten Ihres Computers haben. Wenn einer ausfällt, haben Sie die anderen als Fallbacks. Beachten Sie, dass Ihre Kernelauswahl wahrscheinlich zunimmt, wenn Sie Ihr System aktualisieren und neue Kernel veröffentlicht werden. Sie können die Liste auf zwei oder drei beschränken, indem Sie verwenden, sudo apt-get autoremovesobald die Liste diese Grenze überschreitet.

Wenn Sie Einträge entfernen möchten, haben Sie mehrere Optionen, von denen die meisten die Bearbeitung beinhalten refind.conf(was wahrscheinlich /boot/efi/EFI/refindunter Linux der Fall ist ):

  • Fügen Sie die Dateinamen hinzu, in die Sie das Scannen vermeiden möchten dont_scan_files. Beachten Sie, dass das Ausblenden einzelner Kernel auf diese Weise ineffizient ist, da Sie die Liste aktualisieren müssen, wenn neue Kernel installiert werden. Dies könnte jedoch ein guter Weg sein, um GRUB zu verstecken.
  • Fügen Sie die Verzeichnisse hinzu, in denen unerwünschte Bootloader beschrieben werden dont_scan_dirs. (Zum Beispiel, bootum die Linux-Kernel oder EFI/ubuntuGRUB zu entfernen.)
  • Fügen Sie die Datenträgernamen hinzu, die unerwünschten Bootloadern zugeordnet sind dont_scan_volumes. Beachten Sie, dass dies die einzige dont_scan_*Option ist, die mit BIOS / CSM / Legacy-Startoptionen funktioniert. Fügen Sie eine beliebige Teilmenge des relevanten Namens hinzu, um diesen Eintrag zu blockieren.
  • So deaktivieren Sie alle Disk-basierten BIOS / CSM / Legacy Boot - Optionen Kommentar- scanforund sicherzustellen , dass hdbiosist nicht unter den Optionen. Dies ist in Ihrem Fall jedoch wahrscheinlich unerwünscht, da Sie sagen, dass Sie Windows 7 starten und dies normalerweise im BIOS / CSM / Legacy-Modus startet. Wenn Sie es jedoch geschafft haben, Windows im EFI-Modus zu installieren, ist dies möglicherweise eine gute Option.
  • Um sowohl die Kerneloptionen als auch alle zukünftigen Kerneloptionen zu entfernen, können Sie den EFI-Dateisystemtreiber für Ihr Linux-Dateisystem aus dem Unterverzeichnis drivers( drivers_x64oder drivers_ia32, abhängig von Ihrer Architektur) des EFI/refindVerzeichnisses auf Ihrem ESP entfernen . Dadurch kann rEFInd die Linux-Kernel nicht finden, sodass diese Optionen verschwinden. GRUB ist nicht auf diese Treiber angewiesen und funktioniert daher weiterhin.
  • BIOS / CSM / Legacy-Optionen werden nur angezeigt, wenn rEFInd glaubt, dass der Bootcode auf dem MBR einer Festplatte oder in einer Partition erkannt wurde. In Anbetracht der Beschreibung Ihrer Option "Boot Legacy OS ..." hat rEFInd wahrscheinlich den Bootcode im MBR gefunden. (Fehler in einigen neueren Versionen von rEFInd führen jedoch zu einer falschen Identifizierung des Speicherorts. Wenn Sie also nicht Version 0.8.7 verwenden, ist diese Identifizierung möglicherweise falsch.) Durch Löschen des Startcodes kann daher ein Eintrag aus dem Menü von rEFInd entfernt werden. Dieser Ansatz ist jedoch GEFÄHRLICH . Ich empfehle, es nur zu versuchen, wenn Sie bereits verstehen, wie es geht, weshalb ich absichtlich keine expliziten Anweisungen dazu gebe - ich könnte eine vollständige Antwort darüber schreiben, wie diese Aufgabe zu erledigen ist, und sie wäre wahrscheinlich immer noch unvollständig.

Die refind.confOptionen werden ausführlicher in den Kommentaren auf refind.confund auf der Dokumentationsseite der rEFInd-Konfiguration beschrieben.


So ziemlich aus dem Boot-Verzeichnis konnte ich die unerwünschten Kernel in das neue Verzeichnis verschieben, wodurch sie sicher vom Boot-Manager-Bildschirm entfernt wurden. Wenn ich zukünftige Probleme habe, kann ich meine anderen Betriebssystemlaufwerke ziehen, was zu einer Umgehung des Boot-Managers führt und Ubuntu direkt startet. Jetzt geht es nur noch darum, das "Boot Legacy OS" herauszufinden, das sich herausstellt, dass es nur das Boot Camp startet und mich auch zu Windows 7 bringt. Vielen Dank für Ihre Hilfe in dieser Angelegenheit. Es ist eine ziemlich lustige Lernerfahrung
whitecrow1

1
Sie sollten Ihre Kernel-Dateien NICHT verschieben! GRUB verlässt sich darauf, dass sie auch dort sind, wo sie sind! Sie könnten unter bestimmten Umständen damit durchkommen, aber im besten Fall ist das eine sehr riskante Maßnahme!
Rod Smith

0

Einfache Lösung

Im rEFInd-Bootloader- Menü können Sie die überschüssigen Einträge ausblenden, indem Sie die zusätzlichen Einträge mit den Pfeiltasten auf der Tastatur auswählen und dann die Entf- Taste drücken! Eine Bestätigung wird angezeigt ... Wenn Sie "Ja" auswählen, wird der Eintrag ausgeblendet und Ihr Bootloader kann loslegen!

Prost!


1
Unterhaltsame Tatsache: Die andere Antwort wurde vom Entwickler von rEFind geschrieben.
Bio-Marmor

Fragen Sie ihn, ob ich falsch liege, denn ich habe mein Problem mit dieser Lösung gelöst.
Soujatya Sarkar
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.