WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

Hello everyone!

Dit artikel beskriuwt de stappen dy't jo moatte folgje om UEFI-bootmooglikheid ta te foegjen oan jo WDS.

Dy. De ynstruksjes yn dit artikel geane derfan út dat jo de folgjende konfiguraasje al hawwe:

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

Ek wurde hjir aksjes beskreaun dy't my net it goede resultaat brochten.
Ik beskreau se om it sykjen te fasilitearjen en jo tiid te besparjen.

Foarwurd

Ik makke in WDS op it wurk mei in protte guod, tk. wurch fan hieltyd omrinne mei in bosk flash drives en oerskriuwen se.

Dizze artikels holpen my trouwens:
It tafoegjen fan WDS Veelzijdigheid
PXE-bootmenu mei System Center Configuration Manager


It liket derop

WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

En alles wie goed, nije ôfbyldings waarden tafoege foar it laden, de winPE-ôfbylding waard oergroeid mei nije funksjes en alles wurke.

Mar fier fan alle apparaten stypje de BIOS / Legacy-bootmodus, of as se dogge, dan kin it opnimmen op in heul net foar de hân lizzend plak wêze.

Ja, en it ynstallearjen fan finsters yn legacy modus, as it mooglik is om te ynstallearjen yn UEFI, is net cool.

As gefolch haw ik besletten om de mooglikheid ta te foegjen om te booten yn UEFI, en gie nei Google.

Mar ik fûn gjin strukturearre ynformaasje oer hoe't jo in wurkjende WDS + UEFI krije.
Eins, dêrom haw ik besletten dit artikel te skriuwen.

Foardat ik begjin, sil ik it probleem beskriuwe dat de measte tiid hat.

By it tafoegjen fan UEFI oan WDS is de folgjende, nochal net foar de hân lizzende situaasje mooglik:

As jo ​​in bootbestân tafoegje oan WDS en as jo besykje op it apparaat te booten
yn UEFI sjogge jo de folgjende tekst:
The selected boot device failed. Press <Enter> to Continue.
Or Boot Device Not Found
Mar laden yn legacy wurket foar jo.
Dan is ien fan 'e mooglike opsjes it ûntbrekken fan in bestân wdsmgfw.efi,
lâns it folgjende paad: %WDSpath%Bootx64wdsmgfw.efi

Jo kinne it hjir nimme: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Of, as om ien of oare reden dit bestân foar jo ûntbrekt, haw ik it pleatst google.
Foar dizze oplossing, tank guys út reddit.

Mei dit probleem, ik fermoarde de measte tiid, omdat. Ik tocht dat it probleem earne yn 'e WDS- of DHCP-konfiguraasje wie.

Konfigurearre belied troch it tafoegjen fan Vendor Classes foar ferskate arsjitektuer, en it ynstellen fan DHCP-opsjes 060, 066, 067. Ynstruksjes foar it konfigurearjen fan DHCP-belied.

Arsjitektuer yn ASCII foar it konfigurearjen fan DHCP

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

Ek besocht ik ferskate opsjes foar bootbestannen. .efi

  • syslinux
  • gryk 2

Ik haw ek besocht it probleem te finen yn it Event Log.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Mar, lykas ik hjirboppe sei, lei it probleem yn it bestân wdsmgfw.efi.
Of ik haw it per ongelok sels wiske, of it waard net kopiearre tidens de ynstallaasje
en it konfigurearjen fan WDS.

No, lit ús begjinne!

Ynstruksjes

Fase 1 - Kontrolearje dat WDS wurket

Nim elk apparaat of firtuele masine mei stipe foar booten yn UEFI-modus oer it netwurk en besykje te booten.

Jo moatte de folgjende foto hawwe:

WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

As dat sa is, geweldich, kinne jo trochgean.
Sa net, dan sjoch wat ik skreau yn it foarwurd.

Fase 2 - It bouwen fan it iPXE-bootbestân

Wy lansearje foarôf taret Ubuntu, iepenje in terminal en plak dizze line:

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

WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

Hjir wol ik in lytse opmerking meitsje dat jo miskien pakketten moatte tafoegje oan Ubuntu dy't nedich binne foar it kompilearjen fan C en C ++.
Ik haw se gewoan ynstalleare.

Ynladen? - Grut!
No moatte jo in konfiguraasjetriem meitsje foar de gearstalling.
Yn 'e terminal skriuwe wy:

cd ipxe/src
gedit chain.ipxe

En plak de folgjende koade yn dit bestân, en bewarje dan:

#!ipxe

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

Wy geane werom nei it terminal en begjinne de kompilaasje:

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

WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

As alles yn oarder is, dan moatte jo de folgjende útfier krije yn 'e terminal:

WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

En file ipxe.efi, geandewei: ipxe/src/bin-x86_64-efi/ipxe.efi
As jo ​​om ien of oare reden net op jo eigen kompilearje kinne,
Ik haw myn taheakke file.
It is kompilearre om te booten fan http://192.168.0.100/install.ipxe

Dat is alles foar Ubuntu.

Stap 3 - It tafoegjen fan ipxe.efi oan WDS

Wy nimme it bestân dat wy yn 'e twadde etappe krigen hawwe en kopiearje it ûnderweis:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Na we omneame it nei BOOTX64.EFI.
It is net nedich, it is gewoan handiger.

Dan begjinne wy cmd út namme fan de behearder, en skriuw de folgjende kommando's:

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

Dit sil de resultearjende triem ynstelle om te downloaden fia WDS.

Litte wy de konfiguraasje kontrolearje:

wdsutil /get-server /Show:Config

WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

Ik haw ek de ipxe.efi-bestân kopieare, it omneamd ta BOOTIA32.EFI en konfigureare boot foar it, foar it gefal. architecture:x86uefi
Mar troch en grut, dit hat gjin sin, want. Bootmgfw.efi triem stipet gjin x86

Litte wy kontrolearje wat der bard is.
WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje
Geweldich, WDS stjoert ús bestân foar download en it, op syn beurt, siket nei de konfiguraasje lâns it paad: http://192.168.0.100/install.ipxe

Stap 4 - Menu konfiguraasje

Gean nei de rootmap fan jo side.
De standert is: C:inetpubwwwroot

Meitsje in teksttriem install.ipxe.

en konfigurearje it neffens dokumintaasje en jo behoeften.
Der is ek in Russyske taal описание kommando's.
Ik genoat dit ynstruksjes by it konfigurearjen fan jo WDS.

install.ipxe konfiguraasje foarbyld

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

Jo kinne lêze oer de konfiguraasje foar it laden fan winPE hjir.

Fase 5 - MIME-typen

Nei it oanmeitsjen fan it menu en it tafoegjen fan alle nedige bestannen oan 'e IIS-rootmap,
jo moatte jaan harren tagong.

Omdat sels as jo besykje in bestân fan 'e browser te downloaden, krije jo in flater op it adres: HTTP 404.3 - Not Found.
WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

Om dit te dwaan, moatte jo MIME-typen tafoegje yn it IIS-kontrôlepaniel, yn oerienstimming
mei triem taheaksels dy't jo sille downloade fia http.

Ik haw net socht hokker MIME-type foar dit doel it bêste is, en frege application/octet-stream, wêrnei't alles wurke.

Foar bestannen dy't gjin tafoeging hawwe, brûk in punt.

Hjir sa:

WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

konklúzje

Uteinlik krije wy de mooglikheid om te booten oer in lokaal netwurk fia UEFI.

As wy alles goed dien hawwe, dan sil d'r wat wêze as dit bootseleksjemenu:

WDS-funksjonaliteit útwreidzje: UEFI-bootmooglikheid tafoegje

As jo ​​de basis ark hawwe taret en jo sille net lestich falle mei de konfiguraasje, dan duorret it sawat 10-20 minuten om dizze funksje út te fieren.
It duorre my 2 wurkdagen, omdat. Ik moast in protte googleje.

Súksesfolle ymplemintaasje!

Tankewol foar jo oandacht en in protte tank oan dy minsken waans artikels my holpen!
Op Habré is it: Ingtar и Deeptown.

Boarne: www.habr.com

Add a comment