Dies ist eine alte Version des Dokuments!
das Ergebnis dieser Anleitung sollte ein generisches Image für Windows 10 sein. Zumindest war das bei den virtuellen Clients auf einem ESXI-Host der Fall. Da ich Linuxmuster nicht produktiv einsetzte, können in der Praxis Probleme z.B. beim Wechsel von AMD zu Intel auftreten. Daher keine Garantie oder Gewähr.
Es gibt verschieden Varianten, ein generisches UEFI/BIOS Image für Windows herzustellen. Da viele hier im Forum wahrscheinlich eher BIOS/Legacy/CSM Images verwenden, habe ich eine Version gewählt, bei der diese bestehenden Images weiterverwendet werden können. Idealerweise sollte in der ganzen Schule nur noch die Pflege eines einzigen Images notwendig sein.
Zuerst benötigt man ein universelles UEFI-Image von Windows als Dateispender.
Wer bereits ein beliebiges UEFI-Image von Windows hat, macht bei Schritt 2 weiter.
Schritt 1:
Falls noch kein einziges UEFI-Image in Linbo vorhanden, muss eines erstellt werden.
Dies sollte gemäß der Anleitung Windows 10 Clients — linuxmuster.net 7.0 Dokumentation 1 erfolgen, jedoch als Vorlage sollte start.conf.win10-efi ausgewählt werden.
Also in Linbo eine neue Gruppe anlegen, die Vorlage start.conf.win10-efi auswählen, den Client partitionieren, Windows installieren und den Registry-Patch einspielen. Eine Aufnahme in die Domain ist nicht notwendig/sinnvoll. Dann Windows mit shutdown /s in einer Eingabeaufforderung herunterfahren und ein neues Image erstellen.
Schritt 2:
Das UEFI-Image auf einen Client ausrollten. Linbo müsste bei der Erstellung des Images alle benötigten Dateien in den Ordner C:\EFI\Microsoft\Boot gesammelt haben.
Nun eine Eingabeaufforderung mit administrativen Rechten starten.
Da folgende Befehle eingeben:
Zuerst:
echo %firmware_type%
Da sollte als Antwort UEFI kommen. Ansonsten wurde Windows im BIOS/Legacy Modus installiert.
Dann:
bcdedit /delete {bootmgr} /F bcdedit /create {bootmgr} bcdedit /set {bootmgr} device Boot bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi bcdedit /set {bootmgr} description "Windows Boot Manager" bcdedit /set {bootmgr} locale de-DE bcdedit /set {bootmgr} inherit {globalsettings} bcdedit /set {bootmgr} default {current} bcdedit /set {bootmgr} displayorder {current} bcdedit /set {bootmgr} toolsdisplayorder {memdiag} bcdedit /set {bootmgr} timeout 30 bcdedit /set {current} device locate=custom:12000002 bcdedit /set {current} osdevice locate=custom:22000002 sc config stornvme start=boot bcdedit /export C:\EFI\Microsoft\Boot\BCD
Mit Linbo Version 4.x ist zusätzlich zu obigem Block folgendes notwendig. Wobei <Windows Partition> mit der jeweiligen Windows Partition z.B. sda3 zu ersetzen ist. Bei NVME dann z.B. nvme0n1p3(Ungetestet mit NVME). Siehe Ergänzung im Forum.
bcdedit /export C:\EFI\Microsoft\Boot\BCD.uefi.<Windows Partition>
Nun den kompletten Inhalt des Ordners C:\EFI auf einen USB-Stick oder Netzwerkordner sichern. Dieser Ordner wird für das generische UEFI/BIOS Image von Windows benötigt.
(Das UEFI-Image kann mit Linbo hochgeladen und auf allen UEFI-Clients in allen Gruppen ausgerollt werden.)
Das gewünschte BIOS-Image starten oder erstellen.
Nun den im Bereich „Universelles UEFI-Image von Windows“ erstellten und gesicherten Ordner EFI von USB-Stick oder Netzwerkordner nach C:\EFI kopieren. Die Ordnerstruktur sollte C:\EFI\Microsoft\Boot… (ca. 65 Elemente) sein.
Dann eine Eingabeaufforderung mit administrativen Rechten starten.
Da folgende Befehle eingeben:
Zuerst:
echo %firmware_type% bcdedit /export C:\Boot\BCD.old
Da sollte als Antwort Legacy oder Bios kommen und der bisherige BCD-Bootloader wird gesichert.
Dann:
bcdedit /delete {bootmgr} /F bcdedit /create {bootmgr} bcdedit /set {bootmgr} device Boot bcdedit /set {bootmgr} description "Windows Boot Manager" bcdedit /set {bootmgr} locale de-DE bcdedit /set {bootmgr} inherit {globalsettings} bcdedit /set {bootmgr} default {current} bcdedit /set {bootmgr} displayorder {current} bcdedit /set {bootmgr} toolsdisplayorder {memdiag} bcdedit /set {bootmgr} timeout 30 bcdedit /set {current} device locate=custom:12000002 bcdedit /set {current} osdevice locate=custom:22000002 sc config stornvme start=boot
Fertig. Nun mit Linbo das Image erstellen. Es sollte auf allen Rechnern starten.
Wenn man den umgekehrten Weg gehen möchte und ein bestehendes UEFI Image auf einen BIOS/Legacy Client klonen möchte, dann führt man auf dem BIOS Client aus:
bcdedit /delete {bootmgr} /F bcdedit /create {bootmgr} bcdedit /set {bootmgr} device Boot bcdedit /set {bootmgr} description "Windows Boot Manager" bcdedit /set {bootmgr} locale de-DE bcdedit /set {bootmgr} inherit {globalsettings} bcdedit /set {bootmgr} default {current} bcdedit /set {bootmgr} displayorder {current} bcdedit /set {bootmgr} toolsdisplayorder {memdiag} bcdedit /set {bootmgr} timeout 30 bcdedit /set {current} device locate=custom:12000002 bcdedit /set {current} osdevice locate=custom:22000002 bcdedit /export C:\Boot\BCD
Nun den gesamten Ordner C:\Boot vom BIOS Client auf den UEFI Client kopieren und mit Linbo ein Image erstellen.
Originalbeitrag im Forum: https://ask.linuxmuster.net/t/allgemeines-windows-image-fuer-uefi-und-bios/8194