Allgemeines Windows Image für UEFI und BIOS

Hallo Mathias,

ich habe meine Systeme schon alle auf UEFI umgestellt und habe dazu leider keine aktuelle Info.
Jedoch kann es sein, daß bei der nicht funktionierenden Installation das UEFI keine passenden Einträge hat. Du könntest ja mal mit efibootmgr -v in der Linbo Konsole eine funktionierende mit einer nicht funktionierenden Installation vergleichen.

Viele Grüße
Klaus

Hallo zusammen,
ich glaube, weiter gekommen zu sein.
Auf dem BIOS-Client gibt es ja keine MSR-Partition. In der MSR-Partition ist aber der Windows-Bootloader. Zumindest habe ich das so im Internet gelesen…
Ich habe, nachdem ich das Verzeichnis C:\EFI auf den BIOS-Client kopiert habe, vom BIOS-Client ein Image gemacht. In dem Image kann nichts von der Partition MSR enthalten sein. Die gibt’s ja beim BIOS-Client nicht.

Wenn ich diese Partition auf einen frischen UEFI-Client ausrolle, wird in die MSR-Partition nichts reingeschrieben. → System fährt nicht hoch.

Ich habe jetzt von einem lauffähigen UEFI-Client ein Image gezogen. Und wenn ich jetzt das Image auf einen frischen Client installiere läuft alles.
Es scheint so, als ob bei einem Image von einem UEFI-Client teile der MSR-Partition mit gesichert würden.

Hallo Klaus

das schau’ ich mir auch noch an. Vielen Dank.
Gruß,
Mathias

Hallo Mathias,

beschreibe bitte genau an, was du gemacht hast.
Gib bitte auch die Fehlermeldung von Windows an und die Ausgabe von bcdedit.

Das ist falsch.
Im Bios Modus erstellt Linbo nur eine Partition für Windows.

Im UEFI Modus erstellt Linbo eine FAT32 Partiton für den Bootloader, eine MSR Partition als Markierung, dass UEFI verwendet wird und eine NTFS Partiton für die Daten.
Der Windows-Bootloader ist in der FAT32 Partiton.

Auf dem BIOS-Client müssen die entsprehenden Befehle auch ausgeführt werden.

Viele Güße
Christian

Hallo Christian,
ich bin genau so vorgegangen, wie hier im wiki beschrieben.

Es gibt einen BIOS-Client.

Wie in Schritt 1 beschrieben, habe ich Windows 10 auf einem UEFI-Client installieret (mit win10.global.reg).
Dann mit Linbo ein Image erstellt und win10.image.reg als Registry Patch für das Image eingetragen.

Wie in Schritt 2 beschrieben habe ich das Image wieder auf einen Client ausgerollt und die Befehle von Schritt 2 auf einer Konsole mit adminrechte ausgeführt. Alles ohne Fehlermeldungen.
Das Verzeichnis C:\EFI auf einen Stick kopiert.

Das Verzeichnis C:\EFI vom Stick in C:\EFI auf dem BIOS-Client kopiert und die Befehle der Beschreibung auf dem BIOS-Client in einer Konsole mit Admin-Rechten ausgeführt. Alles ohne Fehler.

Dann mit Linbo ein Image (win10.qcow2) erzeugt.

In der Gruppe win10efi habe ich win10efi.qcow2 durch win10.qcow2 ersetzt und syncronisiert. Und siehe da Windows hat gestartet. Alles war toll.

Wenn ich allerdings das Image auf einen neuen Rechner ausrolle, erhalte ich das:

Wenn ich dann wieder mit win10efi.qcow2 syncronisiere läuft Windows wieder. Natürlich ohne Domänenanmeldung oder Software. War ja alles nicht im Image.

Und wenn ich jetzt wieder mit win10.qcow2 syncronisiere. Läuft Windows wieder. Mit Domänenanmeldung und Software vom BIOS-Client. So, wie’s sein sollte.

Jetzt habe ich ein Image vom UEFI-Client gemacht. Und dieses Image läuft tatsächlich auf allen Clients. Auch wenn ich die Platte vorher partitionier und formatiere.

Hoffentlich hilft meine Beschreibung ein bisschen das Phänomen zu verstehen.

Mir hat deine Antwort neue Erkenntnisse gebracht. Vielen Dank schonmal dafür.

Gruß,
Mathias

Hallo Mathias,

ich konnte des Fehler nachvollziehen.
Es liegt an einem bei Linbo 4 veränderten Verhalten.
Bei der Erstellung eines UEFI- Images wird in C:\EFI\Microsoft\Boot\ nicht nur die Datei BCD erstellt, sondern auch eine BCD.uefi.sda3 gespeichert.
Bei PCs mit NVME kann die Bezeichnung anders sein, aber das kann ich nicht überprüfen.

Der Fehler kommt daher, dass Linbo bei jedem Start die Datei BCD mit dem Inhalt von BCD.uefi.sda3 überschreibt und damit die Generalisierung des Images rückgängig macht.

Als Lösung bietet sich folgendes Vorgehen an:
Im Schritt 2 (UEFI) am Ende der Befehlsfolge eine weitere Zeile als Ziel für den geänderten Bootloader angeben.

bcdedit /export C:\EFI\Microsoft\Boot\BCD
bcdedit /export C:\EFI\Microsoft\Boot\BCD.uefi.sda3

Damit sollte es in LMN 7.0 und LMN 7.1 funktionieren.
Eventuell ist für NVME Systeme noch ein weiterer Eintrag nötig.
Das sollte im Wiki und im obigen Beitrag geändert werden, allerdings fehlen mir dazu die Rechte.
Wäre schön, wenn das jemand machen könnte.

Viele Grüße
Christian

1 „Gefällt mir“

Hallo Christian,

klasse, herzlichen Dank für die Fehlersuche und Lösung!

sda3 ist dabei die UEFI Partition? Ich würde dann den Eintrag im Wiki ergänzen.

Viele Grüße
Klaus

1 „Gefällt mir“

Hallo Klaus,

ja, das ist die UEFI Partition, in der Windows installiert ist.

Das sda3 ist scheinbar abhängig vom entsprechenden Eintrag der Windows Partition in der jeweiligen start.conf der Gruppe.
In diesem Beispiel ist das sda3.

[Partition]          # partition section (operating system)
Dev = /dev/sda3      # device name of the partition
Label = windows      # partition label
Size = 50G           # partition size 50G
Id = 7               # partition id (7 = ntfs)
FSType = ntfs        # filesystem ntfs
Bootable = no        # set bootable flag no

Wenn man das auf NVME umstellt, dann ist es wahrscheinlich nvme0n1p3.
Also müsste man noch bcdedit /export C:\EFI\Microsoft\Boot\BCD.uefi.nvme0n1p3 hinzufügen.
Das mit NVME kann ich aber nicht überprüfen.

Viele Grüße
Christian

Hallo Christian,

danke für die Erklärung. Ok, dann ist sda3 hier die Windows Partition.

Ich habe das im Wiki nun so ergänzt.

Viele Grüße
Klaus

Hallo zusammen,
vielen Dank für eure Hilfe!!!
Ich hab’s heute nochmal in der Schule getestet. Es läuft :slight_smile:
Gruß,
Mathias