HP Probook 450 G9, Linbo schreibt Grub nicht

Hallo zusammen,
wir haben Räume neu ausgestattet und hierzu HP 450 G9 Notebooks gekauft.
Diese habe ich mit einer bestehenden Linbo-Gruppe für UEFI Geräte und mit unserem bestehenden (bzw. mit Treibern aktualisierten) Windows-10 Image bespielt.

Leider schlägt beim Imagen das installieren von Grub auf dem lokalen Datenträger fehl:

[StdOut] Installing GRUB in MBR/EFI of /dev/nvme0n1 …
Installing for x86_64-efi platform.
grub-install: warning: cannot open directory `/usr/share/locale’: No such file or directory.
Could not prepare Boot variable: No such file or directory
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.
[StdOut] failed!

Die Konsequenz: Erfolgreich kann nur via PXE gebootet werden. Unsere Laptops sind aber i.d.R. nicht am LAN-Kabel angebunden.

Die selbe Konfiguration funktioniert auf allen unseren anderen Windows 10 Uefi-Geräten problemlos.

Ich habe bereits verschiedenes probiert:

  • Bios-Einstellungen unterschiedlich gesetzt → kein Erfolg.
  • Geräte aus der Device-Liste gelöscht → import devices → Geräte wieder hinzugefügt → import devices

Nichts scheint zu helfen.

Folgender älterer Beitrag beschreibt eine ähnliche Situation, allerdings ohne Lösung: Booten mit UEFI PXE - #5 von Youzersef

Hat jemand etwas Ähnliches erlebt und kennt evtl. sogar eine Lösung.

LG,
Simon

Hallo Simon,

mach mal an einem solchen Gerät die Windows Startdateienreparatur und
erstell danach, wenn Windows wieder bootet, ein neues Image mit linbo.

LG

Holger

Hallo Holger,

meinst du in etwa sowas: Windows 10 Image mit UEFI: Mounten nach Cache fehlgeschlagen - #9 von Blair
oder Windows 10: Bootmanager reparieren - so geht's ?

Unser Image ist so angelegt, dass es sowohl auf UEFI als auch auf Bios Maschinen, auf Sata und nvme funktioniert. Könnte die Reperatur der Startdateien dann zu Fehlern auf anderen Geräteklassen führen?

Ich probiere deinen Vorschlag auf jeden Fall morgen früh gleich mal aus.

LG,
Simon

So ich habe, wenn ich @baumhof richtig verstanden habe auf einem der betroffenen Geräte Windows im abgesicherten Modus gestartet, mit bcdboot den Windows Bootloader neu in die EFI-Partition geschrieben. Danach lies sich der PC auch ohne PXE direkt von der Festplatte (nicht über Linbo) starten.

Image neu erstellt, dann noch den Server neu gestartet, da sich da was aufgehangen hatte und schließlich das Image auf einen anderen PC via Linbo gesynct.

Das Problem bleibt aber: Nach erfolgreichem runterladen des Images in den Cache und der Synchronisation, gibt es den besagten Fehler, wenn grub (bzw. Linbo) geschrieben werden soll.

Auf dem PC gibt es anschließend kein lokal installiertes Linbo. UEFI versucht von der Festplatte zu booten und bleibt in der grub-rescue Konsole hängen.

Was kann ich als nächstes probieren?

Der Vollständigkeit halber:
Wir haben eine Multi-School Installation.
Folgende start.conf wird auf den Geräten genutzt.

[LINBO]
Server = 172.22.0.1
Group = kgw_win21h2_pro_uefi_nvme
Cache = /dev/nvme0n1p4
RootTimeout = 600
AutoPartition = no
AutoFormat = no
AutoInitCache = no
DownloadType = torrent
GuiDisabled = no
UseMinimalLayout = no
Locale = de-DE
BackgroundColor = 394f5e
BackgroundFontColor = white
ConsoleFontColorStdout = lightgreen
ConsoleFontColorStderr = orange
SystemType = efi64
KernelOptions = quiet splash dhcpretry=9 forcegrub grubbythecat
clientDetailsVisibleByDefault = yes

[Partition]
Dev = /dev/nvme0n1p1
Label = efi
Size = 200M
Id = ef
FSType = vfat
Bootable = yes

[Partition]
Dev = /dev/nvme0n1p2
Label = msr
Size = 128M
Id = 0c01
FSType = 
Bootable = no

[Partition]
Dev = /dev/nvme0n1p3
Label = windows
Size = 70G
Id = 7
FSType = ntfs
Bootable = no

[Partition]
Dev = /dev/nvme0n1p4
Label = cache
Size = 
Id = 83
FSType = ext4
Bootable = no

[OS]
Name = Windows 10
Version = 
Description = Windows 10 21h2
IconName = win10.svg
Image = 
BaseImage = kgw-win10-21h2-pro-ni-generic.qcow2
Boot = /dev/nvme0n1p3
Root = /dev/nvme0n1p3
Kernel = auto
Initrd = 
Append = 
StartEnabled = yes
SyncEnabled = no
NewEnabled = yes
Autostart = yes
AutostartTimeout = 2
DefaultAction = start
RestoreOpsiState = no
ForceOpsiSetup = 
Hidden = yes

Hallo Simon

Ich meinte wir hatten das auch schon mal bei unseren Geräten. Wir haben zwar nicht den G9 im Einsatz, sondern eine ältere Version, aber vielleicht hilft dir es.

a.) sollte man nicht nach der Win-Partition noch eine kleine Daten-Partition in der Konfig haben.
Das war früher zumindest mal ein Problem. Wir hängen da einfach 1-2 GB nach dem cache als „data“ dau.
b.) Ich meine im Bios des Gerätes (bin mir aber nicht ganz sicher) gibt es eine Option die das schreiben/ändern der Einstellung verhindert. Ich kann dir auf die schnelle aber nicht sagen wo im Bios zu finden ist.
Vielleicht hilfts dir ja weiter.
Gruss vom Bodensee
Gerhard

Hallo Gerhard,

zu a) Das wurde von unserem Dienstleister so eingerichtet und funktioniert ja auch auf allen unseren Geräten (verschiedene HP Geräte, aber <G9). Vielleicht ist seit G9 das deutlich UEFI anders?

zu b) Habe schon einige Optionen ausprobiert. Aber dann werde ich da mal weiter probieren.

LG,
Simon

Hallo,

Auf dem PC gibt es anschließend kein lokal installiertes Linbo. UEFI
versucht von der Festplatte zu booten und bleibt in der grub-rescue
Konsole hängen.

interessant.
Du meinst „kein lokal installierten grub“, oder? Oder meinst du linbo
ist nicht drauf?
Woran machst du das fest?

Bitte mach mal folgendes:

  1. boote den Rechner mit einem Betriebsystem (ubuntu oder linbo)

  2. schick uns die Ausgabe von
    fdisk -l /dev/nvme0n1

  3. mounte die Cachpartition:
    mount /dev/nvme0n1p4 /mnt

  4. schick uns die Ausgabe von
    ls -al /mnt

Schick uns außerdem die Version von linbo
auf dem Server:
dpkg -i | grep linbo

Zur start.conf:

KernelOptions = quiet splash dhcpretry=9 forcegrub grubbythecat

… was ist den grubbythecat
?
Gehört das da hin?
Müssen forcegrub und grubythecat sein?
Kannst du es mal ohne probieren?
(denk dran, dass die Änderungen in der Append Zeile nur bei linbo
ankommen, wenn linuxmuster die Datei /srv/linbo/boot/grub/GRUPPE.cfg
schreibt).

[Partition]
Dev = /dev/nvme0n1p4
Label = cache
Size =
Id = 83
FSType = ext4
Bootable = no

Gerhard hat da einen Punkt: ich hatte auch mal Probleme mit
cachpartition am Ende und ohne Größe.
Deswegen meine Frage oben nach der Partitionsstrucktur.

Versuch mal wenigstens der cachpartition eine Größe zu geben und dann
den Client partitionieren und syncen.

Und noch was:
Group = kgw_win21h2_pro_uefi_nvme

… ich kann falsch liegen: aber hatten wir nicht mal Probleme mit
„zuvielen“ Unterstrichen im Gruppennamen?
Generell verwende ich nie Unterstriche.
Kannst du mal die Gruppe umbenennen zu
kgw-nvmeu

(ein Abschließendes u für UEFI).

wir dürfen nicht vergessen: der Gruppenname taucht in der
/srv/linbo/boot/grub/GRUPPE.cfg auf: ich weiß nciht was grub mit so
einem Monster an Namen mit Sonderzeichen macht. grub ist minimalistisch
(naturgemäßt) . So einem Programm würde ich ungern komplizierte Namen
aufbürden.

LG

Holger

Hallo,

mit kein installiertem Linbo meine ich, dass Linbo nicht gestartet wird, wenn von der Festplatte (also ohne PXE) gebootet wird, denn dann erscheint nur ein unvollständiges grub, welches aber Linbo nicht findet.

error: file ‚/boot/grub/x86_64-efi/normal.mod‘ not found.
Entering resuce mode…
grub rescue> _

Ausgabe von fdisk -l /dev/nvme0n1 (via linbo-ssh, ist direkt auf linbo aber gleich)

Found valid GPT with protective MBR; using GPT

Disk /dev/nvme0n1: 500118192 sectors, 2534M
Logical sector size: 512
Disk identifier (GUID): 37ff0a56-ee47-49c4-bab8-cc279fd74f9a
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 500118158

Number Start (sector) End (sector) Size Name
1 2048 411647 200M EFI system partition
2 411648 673791 128M Microsoft reserved partition
3 673792 147474431 70.0G Basic data partition
4 147474432 500117503 168G cache

Mounten der Cachepartition aus der Linbo console (oder via linbo-ssh) schlägt fehl:

mount: mounting /dev/nvme0n1p4 on /mnt failed: Device or resource busy

Linbo Version via dpkg -l | grep linbo: linuxmuster-linbo7 14.0.38-1 bzw. linuxmuster-linbo-common7 9.4.8-0

Zur start.conf:
Keine Ahnung was grubbythecat ist, das hat unser hier wohlbekannter Dienstleister da rein geschrieben, sollte daher eigentlich wie alle anderen Einträge in der start.conf korrekt sein. Zumindest wüsste ich nicht
wer es besser wissen sollte als die Entwickler?

Habs aber bereits ohne die beiden Einträge probiert. Hat nichts geändert.

Zu den Gruppennamen: Bei allen anderen Rechnern hatten wir mit dem _ bisher keine Probleme. Teils sind die Namen sogar noch länger. Und auch diese Namen wurden vom Dienstleister festgelegt.

LG,
Simon

Hallo Simon,

mount: mounting /dev/nvme0n1p4 on /mnt failed: Device or resource busy

was gibt den ein
df -h
auf der linbo console am Client aus.
Ist /cache vielleicht schon gemountet?

Deine Cachpartition ist riesig.
Versuch doch mal sie auf 60GB fest zu legen: dann nochmal partitionieren
und syncen: kann der cache dann gemountet werden?

LG

Holger

Nach einigem Ausprobieren und radikalem Alle-Sondereinstellungen-im-Bios-abschalten, hat es dann geklappt. Liegt wohl also ein einer Einstellung im Bios.

Sobald ich rausfinde, welche Einstellung es konkret ist, die deaktiviert werden muss, poste ich hier.

LG, und danke für die schnelle Reaktion,
Simon