Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Mindenkinek szia!

A cikkben le vannak írva a lépések, amelyeket el kell végezni a WDS-hez az UEFI módban való bootolás hozzáadásához.

Tehát a cikk útmutatása feltételezi, hogy már többé-kevésbé ilyen konfigurációd van:

1. Windows Server 2012R2 (vagy újabb)
2. Teljesen beállított DHCP a WDS működéséhez
3. Magának a WDS-nek
4. IIS
5. Virtuális gép vagy számítógép Ubuntu-val

Emellett itt vannak azok a lépések, amelyek nekem nem hozták meg a megfelelő eredményt.
Leírtam ezeket a keresés megkönnyítése és az időd megtakarítása érdekében.

Bevezető

Egyszer a munkahelyen csináltam egy WDS-t sok extra funkcióval, mert elegem lett, hogy folyamatosan egy halom pendrive-val rohangáljak és azokat írjam föl újra.

Az alábbi cikkek segítettek akkor:
WDS univerzalitás hozzáadása
PXE rendszerindító menü a System Center Configuration Manager segítségével


Így néz ki

Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Minden jól ment, új rendszerek kerültek a bootolási listára, a winPE kép új funkciókkal bővült, és minden működött.

De már messze nem minden eszköz támogatja a BIOS/Legacy boot módot, vagy ha igen, akkor annak engedélyezése nagyon nem nyilvánvaló helyen található.

Ráadásul a Windows installálása legacy módban, amikor van lehetőség UEFI beszerelésére – nem túl menő.

Végül úgy döntöttem, hogy hozzáadom az UEFI bootolás lehetőségét, és elkezdtem keresni a Google-ben.

De strukturált információt arról, hogyan lehet működő WDS-t + UEFI-t kapni, nem találtam.
Ezért döntöttem úgy, hogy megírom ezt a cikket.

Mielőtt elkezdeném, leírom a problémát, amely a legtöbb időmet elvette.

Amikor UEFI-t adsz a WDS-hez, a következő, meglehetősen nem nyilvánvaló helyzet fordulhat elő:

Ha boot fájlt adsz a WDS-hez, és megpróbálsz bootolni egy eszközön,
az UEFI-ban a következő szöveget látod:
A kiválasztott boot eszköz nem működött. Nyomj meg -t a folytatáshoz.
Vagy Boot eszköz nem található
De a legacy boot működik.
Ekkor az egyik lehetséges ok – a fájl hiánya wdsmgfw.efi,
a következő elérési úton: %WDSpath%Bootx64wdsmgfw.efi

Ezt itt lehet beszerezni: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Vagy, ha valamiért hiányzik ez a fájl, feltöltöttem a google.
Ezért a megoldásért köszönet a srácoknak a redditről.

Ezzel a problémával töltöttem a legtöbb időt, mert azt hittem, hogy a probléma a WDS vagy DHCP konfigurációjában rejlik.

Politikákat állítottam be, a Vendor Classes (Szállítói osztályok) különböző architektúrákhoz való hozzáadásával, és a DHCP 060, 066, 067 opciók beállításával. Az útmutató a DHCP politikák beállításáról.

Architektúrák ASCII formátumba a DHCP beállításához

PXEClient:Arch:00000 – BIOS/Legacy
PXEClient:Arch:00006 – UEFI x86
PXEClient:Arch:00007 – UEFI x64

Ezenkívül különféle indítófájlokat próbáltam ki. .efi

  • syslinux
  • grub 2

Szintén próbáltam megtalálni a problémát az Eseménynaplóban.
win + r -> eventvwr -> Alkalmazási és szolgáltatási naplók -> Microsoft -> Windows -> Deployment-Services-Diagnostics

De, ahogy már mondtam, a probléma a fájlban rejlett. wdsmgfw.efi.
Vagy véletlenül töröltem, vagy a telepítés során nem másolták át.
és a WDS beállítása.

Nos, lássunk neki!

Az útmutató

1. lépés — WDS működésének ellenőrzése

Vegyél bármilyen UEFI indításra képes eszközt vagy virtuális gépet, és próbálj meg elindulni.

Ennek a következőképpen kell kinéznie:

Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Ha igen, akkor remek, lehet folytatni.
Ha nem, nézd meg, amit az előszóban írtam.

2. lépés — Indítófájl iPXE elkészítése

Indítsd el a korábban előkészített Ubuntut, nyisd meg a terminált, és illeszd be ezt a sort:

git clone https://git.ipxe.org/ipxe.git ipxe

Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Itt szeretnék egy megjegyzést tenni, hogy lehet, hogy az Ubuntuban telepítened kell a C és C++ fordításhoz szükséges csomagokat.
Csak nekem már telepítve voltak.

Letöltődött? — Remek!
Most el kell készítenünk a fordításhoz szükséges konfigurációs fájlt.
A terminálban írd be:

cd ipxe/src
gedit chain.ipxe

És másold be a következő kódot ebbe a fájlba, majd mentsd el:

#!ipxe

dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe

Most ismét a terminálba megyünk, és elindítjuk a fordítást:

make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe

Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Ha minden rendben van, akkor a következő kimenetet kell látnod a terminálban:

Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

És a fájl ipxe.efi, az alábbi helyen: ipxe/src/bin-x86_64-efi/ipxe.efi
Ha valami okból nem sikerült önállóan lefordítanod,
mellékeltem a sajátomat. fájl.
Ez a következőre van fordítva: http://192.168.0.100/install.ipxe

Ezzel végeztünk Ubuntuban.

3. lépés — ipxe.efi hozzáadása a WDS-hez

Fogjuk a második lépésben kapott fájlt, és másoljuk a következő útra:
%WDSpath%Bootx64%your-boot-folderIBOOT
Ezután nevezzük át BOOTX64.EFI-re.
Ez nem kötelező, csak kényelmesebb így.

Aztán indítsuk el cmd rendszergazdaként, és írjuk be a következő parancsokat:

wdsutil /set-server /bootprogram:Bootx64%your-boot-folderIBOOTBOOTX
64.EFI /architecture:x64uefi
és
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folderIBOOTBOOTX
64.EFI /architecture:x64uefi

Ezzel állítjuk be a kapott fájlt a WDS-en keresztüli indításhoz.

Ellenőrizzük a konfigurációt:

wdsutil /get-server /Show:Config

Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Én is lemásoltam a fájlt ipxe.efi néven, átneveztem BOOTIA32.EFI-re és beállítottam a betöltést, csak a biztonság kedvéért. architecture:x86uefi
De igazából nincs értelme, mivel a Bootmgfw.efi nem támogat x86-ot.

Nézzük meg, hogy mi sikerült.
Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása
Kiváló, a WDS betölti a fájlunkat, amely a következő úton keresi a konfigurációt: http://192.168.0.100/install.ipxe

4. lépés — Menü konfigurálása

Lépjünk a weboldalad gyökérmappájába.
Alapértelmezés szerint ez: C:inetpubwwwroot

Hozzunk létre egy szövegfájlt install.ipxe.

és konfiguráljuk az alábbiak szerint Microsoft dokumentációjával összhangban konfiguráljuk. Az egyetlen megjegyzés az, hogy az Ubuntu disztribúciót már letöltöttük, és a következő lépésben fogjuk telepíteni. A fő konfigurálás az "Windows alrendszer Linuxhoz" és a "Virtuális gép platform" kiegészítő komponenseinek aktiválására, valamint a beállítások alkalmazásához szükséges újraindításra korlátozódik: és az igényeidnek megfelelően.
Van orosz nyelvű leírás utasítás is.
Én használtam a ebben utasítást a WDS konfigurálása során.

Példa a install.ipxe konfigurációjára

#!ipxe

:start
menu Please choose an operating system to start/install
item --gap Start Win PE
item WinPE-x64 WinPE x64
item --gap ipxe shell
item shell       Drop to iPXE shell

choose target && goto ${target}

:failed
echo Booting failed, dropping to shell
goto shell

:shell
echo Type 'exit' to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start

:WinPE-x64
kernel http://192.168.0.100/wimboot
initrd http://192.168.0.100/peSE/Boot/bcd
initrd http://192.168.0.100/peSE/Boot/boot.sdi
initrd http://192.168.0.100/peSE/Boot/peSE64.wim
boot || goto failed

A winPE betöltéséhez szükséges konfigurációról itt olvashatsz itt.

5. lépés — MIME típusok

Miután létrehoztuk a menüt és hozzáadtuk az összes szükséges fájlt az IIS gyökérmappájába,
hozzá kell férnünk.

Mivel ha megpróbálod a fájlt letölteni a böngészőből az adott címen, akkor hibát kapsz: HTTP 404.3 - Nem található.
Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Ehhez az IIS vezérlőpulton hozzá kell adni a MIME típusokat az
általad http-n keresztül betöltendő fájlok kiterjesztései szerint.

Én nem kerestem, hogy melyik MIME típus felel meg a legjobban ezeknek a céloknak, és beállítottam application/octet-stream, ezután minden működött.

A fájlokhoz, amelyeknek nincs kiterjesztése, használd a pontot.

Így:

Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Zárás

Végül lehetőségünk lesz a helyi hálózaton keresztül UEFI-n keresztüli bootolásra.

Ha mindent helyesen csináltunk, akkor körülbelül így néz majd ki a bootolási menü:

Bővítjük a WDS funkcionális lehetőségeit: UEFI indítási lehetőség hozzáadása

Ha előkészítetted a fő eszközöket és nem akarsz túlságosan bonyolítani a konfigurálást, akkor ennek a lehetőségnek a megvalósításához körülbelül 10-20 perc szükséges.
Nekem viszont 2 munkanapomba telt, mivel sokat kellett keresgélnem.

Sikeres megvalósítást!

Köszönöm a figyelmet, és hatalmas köszönet azoknak az embereknek, akiknek a cikkei segítettek!
A Habr-on ez: Ingtar és Deeptown.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster