Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

Hola a tots!

Aquest article descriu els passos que heu de seguir per afegir la possibilitat d'arrencar en mode UEFI al vostre WDS.

Aquells. Les instruccions d'aquest article suposen que ja teniu aproximadament la configuració següent:

1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu

A més, aquí es descriuen accions que no em van donar el resultat desitjat.
Els vaig descriure per facilitar la cerca i estalviar-vos temps.

Prefaci

Una vegada vaig fer WDS a la feina amb moltes llaminadures, perquè... Estic cansat de córrer constantment amb un munt de unitats flash i sobreescriure-les.

Per cert, aquests articles em van ajudar llavors:
Afegeix versatilitat WDS
Menú d'arrencada PXE amb System Center Configuration Manager


Sembla això

Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

I tot va anar bé, es van afegir noves imatges per descarregar, la imatge de winPE es va omplir de noves funcions i tot va funcionar.

Però no tots els dispositius admeten el mode d'arrencada BIOS/Legacy, o si ho fan, la seva activació pot ser en un lloc molt poc evident.

I instal·lar Windows en mode heretat, quan és possible instal·lar-lo a UEFI, no és genial.

Al final, vaig decidir afegir la possibilitat d'arrencar a UEFI i vaig anar a Google.

Però encara no he trobat cap informació estructurada sobre com obtenir un WDS + UEFI que funcioni.
De fet, per això vaig decidir escriure aquest article.

Abans de començar, descriuré el problema que va trigar més temps.

Quan s'afegeix UEFI a WDS, la situació següent, més aviat no òbvia, és possible:

Si afegiu un fitxer d'arrencada a WDS i quan intenteu arrencar al dispositiu
a UEFI veus el text següent:
The selected boot device failed. Press <Enter> to Continue.
O Boot Device Not Found
Però la càrrega a l'herència funciona per a tu.
Aleshores, una de les opcions possibles és l'absència del fitxer wdsmgfw.efi,
pel següent camí: %WDSpath%Bootx64wdsmgfw.efi

El pots aconseguir aquí: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
O, si per algun motiu no teniu aquest fitxer, el vaig publicar a Google.
Per aquesta decisió, gràcies als nois amb reddit.

Vaig passar més temps amb aquest problema, perquè... Vaig pensar que el problema era en algun lloc de la configuració WDS o DHCP.

Polítiques configurades afegint classes de proveïdors per a diverses arquitectures i configurant les opcions DHCP 060, 066, 067. Instrucció sobre la configuració de polítiques DHCP.

Arquitectures ASCII per a la configuració de DHCP

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

A més, vaig provar diferents opcions per als fitxers d'arrencada .efi

  • syslinux
  • gruix 2

També he intentat trobar el problema al registre d'esdeveniments.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Però, com he dit més amunt, el problema rau en l'arxiu wdsmgfw.efi.
O l'he esborrat per error o no es va copiar durant la instal·lació
i configurar WDS.

Bé, comencem!

Instrucció

Etapa 1 - Comprovació de la funcionalitat de WDS

Agafeu qualsevol dispositiu o màquina virtual que admeti l'arrencada en mode UEFI a la xarxa i proveu d'arrencar.

Hauríeu de tenir la següent imatge:

Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

Si és així, genial, podem continuar.
Si no, mira el que he escrit al prefaci.

Pas 2: creeu el fitxer d'arrencada iPXE

Inicieu l'Ubuntu preparat prèviament, obriu un terminal i enganxeu aquesta línia:

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

Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

Aquí m'agradaria fer una petita nota que potser haureu d'afegir paquets a Ubuntu necessaris per compilar C i C++.
Acabo de tenir-les instal·lades.

S'ha descarregat? - Genial!
Ara heu de crear un fitxer de configuració per a la construcció.
Al terminal, escriu:

cd ipxe/src
gedit chain.ipxe

I enganxeu el codi següent en aquest fitxer i després deseu-lo:

#!ipxe

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

Anem de nou al terminal i comencem la compilació:

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

Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

Si tot està bé, hauríeu d'obtenir la següent sortida al terminal:

Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

I el fitxer ipxe.efi, pel camí: ipxe/src/bin-x86_64-efi/ipxe.efi
Si per algun motiu no heu pogut compilar-lo vosaltres mateixos,
He adjuntat el meu arxiu.
Està compilat per arrencar des http://192.168.0.100/install.ipxe

Això és tot per a Ubuntu.

Etapa 3: afegint ipxe.efi a WDS

Agafem el fitxer que hem rebut a la segona etapa i el copiem al llarg del camí:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
A continuació, canvieu el nom a BOOTX64.EFI.
Això no és necessari, només és més convenient.

Després ens posem en marxa cmd com a administrador i escriviu les ordres següents:

wdsutil /set-server /bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi
и
wdsutil /set-server /N12bootprogram:Bootx64%your-boot-folder%EFIBOOTBOOTX
64.EFI /architecture:x64uefi

Això instal·larà el fitxer resultant per descarregar-lo mitjançant WDS.

Comprovem la configuració:

wdsutil /get-server /Show:Config

Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

També vaig copiar el fitxer ipxe.efi, el vaig canviar el nom a BOOTIA32.EFI i li vaig configurar l'arrencada, per si de cas. architecture:x86uefi
Però en general això no té sentit, perquè... El fitxer Bootmgfw.efi no és compatible amb x86

Comprovem què ha passat.
Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI
Genial, WDS envia el nostre fitxer per descarregar-lo i, al seu torn, busca la configuració al llarg del camí: http://192.168.0.100/install.ipxe

Pas 4 - Configuració del menú

Anem a la carpeta arrel del vostre lloc.
El valor predeterminat és: C:inetpubwwwroot

Creeu un fitxer de text install.ipxe.

I configurar-lo segons documentació i les teves necessitats.
També hi ha una llengua russa описание ordres
em va agradar molt això instruccions quan configureu el vostre WDS.

Exemple de configuració Install.ipxe

#!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

Podeu llegir sobre la configuració per carregar winPE aquí.

Etapa 5: tipus MIME

Després de crear el menú i afegir tots els fitxers necessaris a la carpeta arrel IIS,
cal donar-hi accés.

Perquè Fins i tot si intenteu descarregar un fitxer des d'un navegador, rebreu un error a la seva adreça: HTTP 404.3 - Not Found.
Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

Per fer-ho, cal afegir tipus MIME al tauler de control d'IIS, segons
amb extensions de fitxer que baixaràs mitjançant http.

No estava buscant quin tipus MIME és més adequat per a aquests propòsits, així que li vaig preguntar application/octet-stream, després del qual tot va funcionar.

Per als fitxers que no tenen extensió, utilitzeu un punt.

Aquí així:

Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

Conclusió

En última instància, tenim la possibilitat d'arrencar a través d'una xarxa local mitjançant UEFI.

Si ho hem fet tot correctament, el menú de selecció d'arrencada es veurà com aquest:

Ampliació de la funcionalitat WDS: afegeix la capacitat d'arrencada UEFI

Si teniu les eines bàsiques preparades i no us molesteu amb la configuració, la implementació d'aquesta funció trigarà entre 10 i 20 minuts.
Vaig trigar 2 dies laborables perquè... Vaig haver de fer molt de google.

Bona implementació!

Gràcies per la vostra atenció i moltes gràcies a aquelles persones els articles que m'han ajudat!
A Habré això és: Ingtar и Deeptown.

Font: www.habr.com

Afegeix comentari