Ubuntu Eintrag fehlt in efibootmgr

Nachdem ich meine Ubuntu-Clients auf „Durchstarten“ direkt in die Ubuntu-Anmeldung umstellen wollte, habe ich nun zwei Dinge feststellen müssen:

  1. Im BIOS/UEFI (HP Elitedesk) konnte ich unter „Boot Optionen“ bei der UEFI Boot-Reihenfolge keine ubuntu-Boot Option finden (auch nicht bei F9->Boot Menü). Es gibt dort nur die Einträge LINBO und PXE IPv4.

  2. Mit efibootmgr sehe ich zwar mehr Boot Einträge, aber keinen „ubuntu“-Eintrag.

Zusatz-Infos: Ein Bios-Update habe ich bereits durchgeführt, die Systeme laufen an sich, starten aber immer über grub. Der Startvorgang benötigt aber sehr lange, nachdem der Schulträger auf Linuxmuster 7.3 upgedatet hat (ohne mich davon in Kenntnis zu setzen).

Hat jemand ein ähnliches Problem gehabt? Hier in der Suche bin in nicht fündig geworden, da es meistens bei ähnlichen Problemen um ein Dual Boot System ging/geht, wo der Windows Boot Loader sich immer nach oben geschrieben hat. Unsere Clients sind aber nun Single Boot.

Hallo mg_1972,

die Booteinträge sind nicht alle „im“ UEFI, sondern vornehmlich (also alles was von Festplatte bootet) in der Partition EFI (meist die erste) im Unterordner EFI.

Dort gelangen sie rein, wenn das Betriebsystem installiert wird (es schreibt sich rein).

Du kannst das wahrscheinlich vom efibootmgr unter ubuntu nachträglich eintragen lassen.

Ich sehe das aber garnicht als Notwendig an: ich lasse immer linbo den Boot machen: auch ohne dass linbo bootet.

Das geht so:

Booten am Client per linbo funktioniert so:

  1. der Rechner bootet, das UEFI wird geladen.

  2. das UEFI stellt die Bootfähigen Dinge zusammen. Das sind die Bootvces verschiedener Betriebsystem aus der EFI Partition zuzüglich den „internen“ Möglichkeiten (USB Stick/Festplatten, CD/DVD, PXE, Cloud …)

  3. das UEFI nimmt das, was als „primär“ markiert ist (das wird entweder im UEFI so eingestellt, oder von einem laufenden Betriebsystem: dieses kann diese UEFI Einstellung manipulieren: siehe efibootmgr).

  4. ich stelle PXE ein: der PXE Code wird geladen und dann ausgeführt: also das Netzwerk nach dem DHCP untersucht, dann per TFTP ein PXEgrub vom Server geladen und gestartet (so er nicht lokal vorhanden ist).

  5. dieser PXEgrub läd nun linbo vom Server herunter, so es nciht lokale vorhanden ist, entpackt es und satrtet linbo.

Und an dieser Stelle kann man eingreifen, und zwar am Server. Man kann diesen PXEgrub im Verhalten ändern.

Das geht über die Datei

/srv/linbo/boot/grub/GRUPPE.cfg

Dort stelle ich ein:

[code]

### NOT managed by linuxmuster.net edit to your needs

set default=4
set timeout=3
set fallback=1

[/code]

Das wichtigste ist erstmal das groß geschriebene NOT im Kommentar.

Das bewirkt, dass ein linuxmuster-import-devices die Datei nicht neu schreibt (sieht man am Ende der Ausgabe von linuxmuster-import-devices auch: dort steht entweder „replaced“ oder „present“ in der Spalte der grub cfg

Wenn man das nciht macht, dann werden die Änderungen überschrieben.

set Default steht bei mir auf 4, das bedeutet, dass das erste Betriebsystem mit „neu und start“ gesynct und gestartet wird. Die Zahlen bedeuten:

0 = linbo

1 = 1BS direkt starten (was du willst, also ohne linbo)

2 = 1 BS über linbo ungesynct starten (linbo wird also gebootet)

3 = 1 BS gesynct starten

4 = 1 BS neu + start starten

5 = 2 BS direkt starten

usw.

Bei mir steht der Timeout: also die Zeit, die man den grub Bildschirm sihet und die Bootreihenfolge manipulieren könnte, auf 3 Sekunden. Zu kurz für die allermeisten meiner Schüler*innen, lang genug für mich alten Mann :slight_smile:

Warum der Aufwand?

Wenn du mal deine Clients syncen willst, dann mußt du an jedem Client ins BIOS un ddie Bootreihenfolge umstellen.

Ich muss das nicht: ich ändere eine Zahl in einer Datei auf dem Server und schalte den Client an.

Generell empfehle ich aber, linbos Fähigkeiten wirklich aus zu nutzen: also sync bei Jedem start.

Damit dabei keine Wartezeiten entstehen, wecke ich meine Clients Morgens um 7:30 Uhr per Wake on LAN auf und sie booten udn syncen bevor Jemand ins Zimmer kommt.

LG
Holger

Hallo Holger,

vielen lieben Dank für die ausführlichen Infos und Tipps. Das werde ich dann am Ende der Ferien mal testen.

LG

Matthias

Hallo Holger,

mit diesen Informationen und Erklärungen konnte ich nun eine für mich zufriedenstellende und halbwegs praktikable Lösung umsetzen, nochmals vielen Dank.

LG

Matthias

Hallo Holger,

letzte Frage: Habe ich einen Denkfehler, wenn ich in der grub .cfg den default=0 (LINBO starten) setze und aber den PXE-Boot mit F12 beim Starten auslöse (im efibootmgr ist weiterhin Ubuntu “vorne” bzw. “oben”), wenn ich ins LINBO möchte, um mit Neu+Start einen Rechner neu aufzusetzen?

Oder geht das nur über Deine Lösung (PXE nach “vorne”/“oben”, in der grub .cfg den default=1 (Ubuntu direkt starten))? Dann müsste ich somit, falls ich ins LINBO kommen will, auf dem Server den default=0 setzen.

LG

Matthias

Hallo Matthias,

.. war im Urlaub, deswegen dauerte es so lang :slight_smile:

Wenn du den Client im UEFI auf „Boote Ubuntu“ stellst, vor dem PXE boot, dann macht er natürlich das und linbo ist raus, bis du auf PXE im UEFI umstellst (oder mittels F12 einmal PXE wählst).

Also: von meiner Warte aus machst du hier keinen Denkfehler.

Die Änderungen der GRUPPE.cfg brauchst du dann auch nciht mehr.

Dass das nicht viele so machen (also von Hand am Cleint erst linbo bei Bedarf einbinden) liegt, denke ich an zwei Gründen:

  1. sie syncen eh bei jedem Boot (was ich auch mache)

  2. wenn sie mal den Cleint syncen wollen, dann müssen sie jeden Client anfassen: manche haben da schon etliche, weswegen sie das lieber über eine config auf dem Server Zentral machen.

LG
Holger

Vielen Dank, Holger. Es läuft nun so, wie es für mich tatsächlich am Besten passt.:+1:t2: