WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Sveiki visi!

Šiame straipsnyje aprašomi veiksmai, kuriuos turite atlikti norėdami pridėti UEFI įkrovos galimybę prie WDS.

Tie. Šiame straipsnyje pateiktose instrukcijose daroma prielaida, kad jau turite šią konfigūraciją:

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

Taip pat čia aprašyti veiksmai, kurie man nedavė tinkamo rezultato.
Aprašiau juos, kad palengvinčiau paiešką ir sutaupyčiau jūsų laiką.

pratarmė

Darbe sukūriau WDS su daugybe gėrybių, tk. pavargo nuolat lakstyti su krūva „flash drives“ ir jas perrašyti.

Šie straipsniai, beje, man padėjo:
Pridedamas WDS universalumas
PXE įkrovos meniu su System Center Configuration Manager


Tai atrodo taip

WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Ir viskas buvo gerai, buvo pridėti nauji vaizdai įkelti, winPE vaizdas įgijo naujų funkcijų ir viskas veikė.

Tačiau toli gražu ne visi įrenginiai palaiko BIOS / Legacy įkrovos režimą arba, jei palaiko, tada jo įtraukimas gali būti labai neaiškioje vietoje.

Taip, o langų diegimas legacy režimu, kai galima įdiegti UEFI, nėra šaunu.

Dėl to nusprendžiau pridėti galimybę paleisti UEFI ir nuėjau į „Google“.

Bet neradau struktūrinės informacijos, kaip gauti veikiantį WDS + UEFI.
Tiesą sakant, todėl nusprendžiau parašyti šį straipsnį.

Prieš pradėdamas aprašysiu problemą, kuri užtruko daugiausiai laiko.

Pridedant UEFI prie WDS, galima tokia, gana neakivaizdi situacija:

Jei prie WDS pridedate įkrovos failą ir bandote paleisti įrenginį
UEFI matote šį tekstą:
The selected boot device failed. Press <Enter> to Continue.
Or Boot Device Not Found
Tačiau įkėlimas į palikimą tinka jums.
Tada vienas iš galimų variantų yra failo nebuvimas wdsmgfw.efi,
tokiu keliu: %WDSpath%Bootx64wdsmgfw.efi

Pasiimti galite čia: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Arba, jei dėl kokių nors priežasčių šio failo jums trūksta, paskelbiau jį "Google".
Už šį sprendimą ačiū vaikinams iš reddit.

Su šia problema aš nužudžiau daugiausiai laiko, nes. Maniau, kad problema yra kažkur WDS arba DHCP konfigūracijoje.

Sukonfigūruota politika, pridedant tiekėjo klases įvairioms architektūroms ir nustatant DHCP parinktis 060, 066, 067. Mokymas DHCP strategijų konfigūravimui.

ASCII architektūros, skirtos konfigūruoti DHCP

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

Be to, išbandžiau įvairias įkrovos failų parinktis. .efi

  • syslinux
  • grub 2

Taip pat bandžiau rasti problemą įvykių žurnale.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Tačiau, kaip sakiau aukščiau, problema slypi faile wdsmgfw.efi.
Arba aš pats netyčia ištryniau, arba nenukopijuotas diegiant
ir konfigūruoti WDS.

Na, pradėkime!

Mokymas

1 etapas – patikrinkite, ar WDS veikia

Paimkite bet kurį įrenginį ar virtualią mašiną, kuri palaiko paleidimą UEFI režimu tinkle, ir pabandykite paleisti.

Turėtumėte turėti tokį paveikslėlį:

WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Jei taip, puiku, galite tęsti.
Jei ne, pažiūrėkite, ką parašiau pratarmėje.

2 etapas – iPXE įkrovos failo kūrimas

Paleidžiame iš anksto paruoštą Ubuntu, atidarome terminalą ir įklijuojame šią eilutę:

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

WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Čia norėčiau padaryti nedidelę pastabą, kad gali tekti į Ubuntu pridėti C ir C ++ kompiliavimui reikalingus paketus.
Aš ką tik juos įdiegiau.

Atsisiųsta? - Puiku!
Dabar reikia sukurti surinkimo konfigūracijos failą.
Terminale rašome:

cd ipxe/src
gedit chain.ipxe

Į šį failą įklijuokite šį kodą ir išsaugokite:

#!ipxe

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

Grįžtame į terminalą ir pradedame kompiliaciją:

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

WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Jei viskas tvarkoje, terminale turėtumėte gauti šią išvestį:

WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Ir failas ipxe.efi, pakeliui: ipxe/src/bin-x86_64-efi/ipxe.efi
Jei dėl kokių nors priežasčių negalite susikompiliuoti patys,
Aš prisegiau savo failą.
Jis sudarytas norint paleisti iš http://192.168.0.100/install.ipxe

Tai viskas Ubuntu.

3 veiksmas – ipxe.efi pridėjimas prie WDS

Paimame failą, kurį gavome antrame etape, ir nukopijuojame jį pakeliui:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Pervadinus jį į BOOTX64.EFI.
Tai nėra būtina, tiesiog patogiau.

Tada paleidžiame Cmd administratoriaus vardu ir parašykite šias komandas:

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

Tai nustatys, kad gautas failas būtų atsiųstas per WDS.

Patikrinkime konfigūraciją:

wdsutil /get-server /Show:Config

WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Taip pat nukopijavau failą ipxe.efi, pervadinau jį BOOTIA32.EFI ir sukonfigūravau jam įkrovą, tik tuo atveju. architecture:x86uefi
Tačiau apskritai tai neturi prasmės, nes. Bootmgfw.efi failas nepalaiko x86

Patikrinkime, kas atsitiko.
WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė
Puiku, WDS siunčia mūsų failą atsisiųsti ir savo ruožtu ieško konfigūracijos kelyje: http://192.168.0.100/install.ipxe

4 veiksmas – meniu konfigūracija

Eikite į savo svetainės šakninį aplanką.
Numatytasis yra: C:inetpubwwwroot

Sukurkite tekstinį failą install.ipxe.

ir sukonfigūruokite jį pagal dokumentacija ir jūsų poreikius.
Yra ir rusų kalba описание komandas.
man patiko tai instrukcijas konfigūruodami WDS.

install.ipxe konfigūracijos pavyzdys

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

Galite perskaityti apie winPE įkėlimo konfigūraciją čia.

5 etapas – MIME tipai

Sukūrę meniu ir įtraukę visus reikiamus failus į IIS šakninį aplanką,
turite suteikti jiems prieigą.

Nes net jei bandysite atsisiųsti failą iš naršyklės, jo adresu gausite klaidą: HTTP 404.3 - Not Found.
WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Norėdami tai padaryti, IIS valdymo skydelyje turite pridėti MIME tipus
su failų plėtiniais, kuriuos atsisiųsite per http.

Neieškojau, kuris MIME tipas geriausiai tinka šiam tikslui, ir paklausiau application/octet-stream, po kurio viskas veikė.

Jei failai neturi plėtinio, naudokite tašką.

Čia taip:

WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

išvada

Galiausiai mes gauname galimybę paleisti per vietinį tinklą per UEFI.

Jei viską padarėme teisingai, bus kažkas panašaus į šį įkrovos pasirinkimo meniu:

WDS funkcijų išplėtimas: pridedama UEFI įkrovos galimybė

Jei paruošėte pagrindinius įrankius ir nesivargsite su konfigūracija, tai šiai funkcijai įdiegti užtrunka apie 10-20 minučių.
Man prireikė 2 darbo dienų, nes. Teko daug paieškoti google.

Sėkmingas įgyvendinimas!

Ačiū už dėmesį ir labai ačiū tiems žmonėms, kurių straipsniai man padėjo!
Ant Habré tai yra: Ingtaras и Deeptown.

Šaltinis: www.habr.com

Добавить комментарий