Bootreihenfolge zentral auswählen

Hallo zusammen,

ich habe eine kleine Verständnisfrage und konnte dazu nichts in der Dokumentation finden. Ich bin neu bei Linuxmuster. Wie steuere ich, von welcher Partition Linbo bzw. Windows startet? Ein Beispiel:

In meinem Raum habe ich bei allen PCs als erstes in der Bootreihenfolge die M.2 SSD eingestellt. Es startet also sofort Windows 11. Gestern habe ich ein aktualisiertes Basisimage erstellt. In der Schulkonsole kann ich unter „Linbo-Synchronisierung“ zentral alle Rechner mit z. B. format, sync, wakeonlan direkt per PXE in Linbo starten. Jetzt bleiben die PCs aber so, das heißt, sie booten bei jedem Neustart erst lange in Linbo. Wie stelle ich zentral wieder ein, dass sie direkt Windows starten?

Wenn ich beim PC-Start mit F12 die Bootpartition auswähle, sehe ich auf der M.2 SSD die Partitionen „Linbo“ und „Windows Boot Manager“. Wenn ich sie manuell auswähle, startet entsprechend entweder Linbo oder Windows. Wie kann ich das aber zentral festlegen?

Danke und Gruß
Roman

Hallo Roman,

Verständnis ist immer das wichtigste.

Ich versuche mal zu erklären, wie das alles vor sich geht: je nach dem ob es EFI Boot oder MBR Boot ist, unterscheiden sich die Mechanismen ein wenig.
Ich erkläre mal am UEFI Boot.

Grundsätzlich betachte ich hier das Booten eines LMN Clients: also eines Rechners, auf dem schon linbo installiert ist.
Dann bootet immer zuerst der grub von linbo.
Steht in der Bootreihenfolge des Rechners zuerst das Netzwerk, wird der grub über das netzwerk geladen (per PXE) und ausgeführt, steht dort der lokale Massenspeicher an erster Stelle, dann wird der lokal vorhandene grub von linbo gestartet.
So muss es sein. Wenn es nicht so ist, liegt ein Fehler vor.

Nun startet also der grub von linbo, und der startet, wenn du nichts anderes eingestellt hast, immer erstmal linbo selbst (von der lokalen Platte, wenn es der lokale grub war, oder übers Netz, wenn es der vom Netz war). So sollte es sein.

Du kannst in linbo einstellen, dass nach einem Timeout, der aber an der GUI abbrechbar ist, eine gewünschte Aktion ausgeführt wird: z.B. das Booten von Windows (gesynct). Dann wird linbo das Windows syncen und danach die Bootreihenfolge im UEFI Boot auf „nextboot → Windows boot“ stellen und neustarten: es wird, durch UEFI, windows gebootet.
Aber eben nur einmal: die Bootreihenfolge steht noch immer auf „grub booten“. Wenn also nichts passiert, dann wird nach dem Windows boot beim nächsten mal wieder linbo booten: das soll so sein.

Nun gibt es da aber leider immer mal Fehler. Manchmal blickt das UEFI das mit dem „next boot“ nicht so richtig und stellt die Bootreihenfolge um, statt nur den nächsten Boot um zu stellen, oder Windows meint mal wieder es sei wichtiger und schlauer als alle anderen und stellt selber die Bootreihenfolge um auf „immer Windows“ (alles schon beobachtet). Dann liegt ein Fehler vor und sollte behandelt werden.

Wir halten fest: du stelltst immer beim Booten im BIOS auf
entweder „Netzwerk“ oder „grub“ (also linbo).
Wenn du das nicht machst, sondern windows einstellst, dann ist beim lokalen boot linbo aus der bootreihenfolge raus und es wird sich nicht aktualisieren udn du wirst die Clients nicht fernsteuern können (mit linbo-remote).

Nun haben wir aber linux auf dem Client und können deswegen sehr tief eingreifen um um zu setzen, was wir gerne haben wollen. Bei dir las ich raus, dass du gerne windows direkt booten wollen würdest (ungesynct).
Ich halte das für die aller meisten Fälle für eine schlechte Idee, da man viele Vorteile von linbo im Netz dadurch aufgibt nur damit die Clients 30 Sekunden schneller starten.
Aber gut. Ich beschreibe die Experteneinstellungen die du machen kannst, um das Verhalten zu erreichen.
Dazu manipulierst du den grub, der ja immer zuerst bootet. Das geht nicht über die WebUI sondern muss auf der console des Servers in einer Textdatei (der grub.cfg) passieren.
Wenn du in die Datei
/srv/linbo/boot/grub/GRUPPE.cfg
rein schaust, dann steht da im Kopf:

# global part of group specific grub.cfg template for linbo net boot
# thomas@linuxmuster.net
# 20231119
#

# if you don't want this file being overwritten by import_workstations remove the following line:
# ### managed by linuxmuster.net ###

# edit to your needs
set default=0
set timeout=0
set fallback=1

Da diese Datei durch einen lauf von linuxmuster-import-devices aktualisiert wird, werden Änderungen nicht persistent sein.
Um Persistenz zu erreichen mußt du die „managed by linuxmuster.net“ Zeile manipulieren, z.B. so:


# ### NOT managed by linuxmuster.net ###

Dann kannst du unten drunter eintragen was du willst.
Bei set default kannst du folgende Zahlen eintragen:
0= linbo
1 = erstes BS ungesync direkt starten
2 = erstes BS ungesynct durch linbo starten
3 = erstes BS durch linbo gesynct starten
4 = erstes BS durch linbo neu+start starten

Der Timeout gibt sekunden an, wie lange das Grubmenü angezeigt werden soll: ich hab da normalerweise 3 Sekunden: genug für mich, zu wenig für alle anderen :slight_smile:

Ich hoffe, dass dir das hilft :slight_smile:

LG
Holger

Hallo Holger,
das ist die ausführlichste Antwort die ich je in einem Forum erhalten habe :slight_smile: Danke für deine Mühe. Dass es eine zentrale grub-Konfig gibt, die für alle Clients gilt, ist genau das wonach ich gesucht habe. Ich kann das erst am Montag ausprobieren, gebe dann aber gerne noch eine Rückmeldung, ob es geklappt hat.
Danke und Grüße
Roman

Hallo Roman,

die gilt nicht für alle Cleints, sondern nur für die ind er Hardwareklasse GRUPPE.
Schau also vorher in deine devices.csv wie die linboGruppe deines Clients heißt, auf die das wirken soll.

Ich habe zum Beispiel Hardwareklassen, die alles gleich haben und nur deswegenunterschiedlich heißen, weil sie ein unterschiedliches Bootverhalten haben sollen.

LG
Holger

Hallo Holger,

ja, set default=x ist genau die Zeile, die ich gesucht habe. Es funktioniert genau so, dass Windows dann direkt ohne Linbo startet. Ich nutze Linbo übrigens nicht, weil bei mir ausschließlich Synchronisierung nach Formatieren/Partitionieren funktioniert. Dazu erstelle ich allerdings am besten neuen Thread, um das Thema nicht zu wechseln. Vielleicht weiß ja jemand, warum die Linbo Synchronisierung Fehlermeldungen wirft.

Danke und Gruß
Roman