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:
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į
Už šį sprendimą ačiū vaikinams iš
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.
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į:
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
Č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
Jei viskas tvarkoje, terminale turėtumėte gauti šią išvestį:
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
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
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.
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
Yra ir rusų kalba
man patiko
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ą
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
.
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:
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:
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:
Šaltinis: www.habr.com