WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Hei kaikille!

Tässä artikkelissa kuvataan vaiheet, jotka sinun on noudatettava lisätäksesi UEFI-käynnistysominaisuuden WDS-järjestelmääsi.

Nuo. Tämän artikkelin ohjeissa oletetaan, että sinulla on jo seuraavat asetukset:

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

Tässä on myös kuvattu toimia, jotka eivät tuoneet minulle oikeaa tulosta.
Kuvasin ne helpottaakseni hakua ja säästämään aikaasi.

Esipuhe

Tein töissä WDS:n, jossa oli paljon herkkuja, tk. väsynyt jatkuvaan juoksemiseen flash-asemien kanssa ja niiden päällekirjoittamiseen.

Nämä artikkelit auttoivat minua muuten:
WDS- monipuolisuuden lisääminen
PXE-käynnistysvalikko System Center Configuration Managerin kanssa


Se näyttää tältä

WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Ja kaikki oli hyvin, uusia kuvia lisättiin lataukseen, winPE-kuva kasvoi uusilla ominaisuuksilla ja kaikki toimi.

Mutta läheskään kaikki laitteet eivät tue BIOS / Legacy -käynnistystilaa, tai jos ne tukevat, sen sisällyttäminen voi olla hyvin epäselvässä paikassa.

Kyllä, ja ikkunoiden asentaminen vanhaan tilaan, kun se on mahdollista asentaa UEFI:hen, ei ole siistiä.

Tämän seurauksena päätin lisätä mahdollisuuden käynnistää UEFI:n ja menin Googleen.

Mutta en löytänyt jäsenneltyä tietoa toimivan WDS + UEFI:n hankkimisesta.
Itse asiassa, siksi päätin kirjoittaa tämän artikkelin.

Ennen kuin aloitan, kuvailen ongelmaa, joka vei eniten aikaa.

Kun UEFI lisätään WDS:ään, seuraava, melko ei-ilmeinen tilanne on mahdollinen:

Jos lisäät käynnistystiedoston WDS:ään ja yrität käynnistää laitteen
UEFI:ssä näet seuraavan tekstin:
The selected boot device failed. Press <Enter> to Continue.
tai Boot Device Not Found
Mutta perinnön lataaminen toimii sinulle.
Sitten yksi mahdollisista vaihtoehdoista on tiedoston puuttuminen wdsmgfw.efi,
seuraavaa polkua pitkin: %WDSpath%Bootx64wdsmgfw.efi

Voit ottaa sen täältä: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Tai jos tämä tiedosto jostain syystä puuttuu, lähetin sen Google.
Kiitos tästä ratkaisusta reddit.

Tämän ongelman kanssa tappoin eniten aikaa, koska. Luulin, että ongelma on jossain WDS- tai DHCP-kokoonpanossa.

Määritetty käytännöt lisäämällä toimittajaluokkia eri arkkitehtuureille ja asettamalla DHCP-asetukset 060, 066, 067. Opetus DHCP-käytäntöjen määrittämiseen.

ASCII-arkkitehtuurit DHCP:n määrittämistä varten

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

Kokeilin myös erilaisia ​​käynnistystiedostojen vaihtoehtoja. .efi

  • syslinux
  • grub 2

Yritin myös löytää ongelman tapahtumalokista.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Mutta kuten edellä sanoin, ongelma oli tiedostossa wdsmgfw.efi.
Joko poistin sen vahingossa itse tai sitä ei kopioitu asennuksen aikana
ja WDS:n konfigurointi.

No, aloitetaan!

Opetus

Vaihe 1 - Varmista, että WDS toimii

Ota mikä tahansa laite tai virtuaalikone, joka tukee käynnistystä UEFI-tilassa verkon kautta, ja yritä käynnistää.

Sinulla pitäisi olla seuraava kuva:

WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Jos näin on, hienoa, voit jatkaa.
Jos ei, niin katso mitä kirjoitin esipuheessa.

Vaihe 2 - iPXE-käynnistystiedoston luominen

Käynnistämme valmiiksi valmistetun Ubuntun, avaamme terminaalin ja liitämme tämän rivin:

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

WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Tässä haluaisin tehdä pienen huomautuksen, että saatat joutua lisäämään Ubuntuun paketteja, joita tarvitaan C:n ja C++:n kääntämiseen.
Olen juuri asentanut ne.

Ladattu? - Loistava!
Nyt sinun on tehtävä kokoonpanotiedosto.
Terminaaliin kirjoitamme:

cd ipxe/src
gedit chain.ipxe

Liitä seuraava koodi tähän tiedostoon ja tallenna sitten:

#!ipxe

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

Palaamme terminaaliin ja aloitamme kokoamisen:

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

WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Jos kaikki on kunnossa, sinun pitäisi saada seuraava tulos terminaaliin:

WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Ja tiedosto ipxe.efi, matkan varrella: ipxe/src/bin-x86_64-efi/ipxe.efi
Jos et jostain syystä pysty kääntämään itse,
Olen liittänyt omani файл.
Se on käännetty käynnistymään http://192.168.0.100/install.ipxe

Siinä kaikki Ubuntulle.

Vaihe 3 - ipxe.efi:n lisääminen WDS:ään

Otamme toisessa vaiheessa saamamme tiedoston ja kopioimme sen matkan varrella:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Kun olemme nimenneet sen uudelleen muotoon BOOTX64.EFI.
Se ei ole välttämätöntä, se on vain kätevämpää.

Sitten käynnistetään cmd järjestelmänvalvojan puolesta ja kirjoita seuraavat komennot:

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

Tämä määrittää tuloksena olevan tiedoston ladattavaksi WDS:n kautta.

Tarkastetaan kokoonpano:

wdsutil /get-server /Show:Config

WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Kopioin myös ipxe.efi-tiedoston, nimesin sen uudelleen BOOTIA32.EFI:ksi ja konfiguroin sille käynnistyksen varmuuden vuoksi. architecture:x86uefi
Mutta yleisesti ottaen tässä ei ole mitään järkeä, koska. Bootmgfw.efi-tiedosto ei tue x86:ta

Katsotaan mitä tapahtui.
WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen
Hienoa, WDS lähettää tiedostomme ladattavaksi ja se puolestaan ​​etsii kokoonpanoa polun varrelta: http://192.168.0.100/install.ipxe

Vaihe 4 - Valikon asetukset

Siirry sivustosi juurikansioon.
Oletus on: C:inetpubwwwroot

Luo tekstitiedosto install.ipxe.

ja määritä se sen mukaan dokumentointi ja tarpeitasi.
Siellä on myös venäjän kieli описание komentoja.
Nautin tämä ohjeita, kun määrität WDS:n.

install.ipxe kokoonpanoesimerkki

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

Voit lukea winPE:n lataamisen asetuksista täällä.

Vaihe 5 - MIME-tyypit

Kun olet luonut valikon ja lisännyt kaikki tarvittavat tiedostot IIS-juurikansioon,
sinun on annettava heille pääsy.

Koska vaikka yrität ladata tiedoston selaimesta, saat virheilmoituksen sen osoitteeseen: HTTP 404.3 - Not Found.
WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Tätä varten sinun on lisättävä MIME-tyypit IIS-ohjauspaneeliin tämän mukaisesti
tiedostotunnisteilla, jotka lataat http:n kautta.

En etsinyt mikä MIME-tyyppi on paras tähän tarkoitukseen, ja kysyin application/octet-stream, jonka jälkeen kaikki toimi.

Jos tiedostossa ei ole tunnistetta, käytä pistettä.

Täällä niin:

WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Johtopäätös

Viime kädessä saamme mahdollisuuden käynnistää paikallisverkon kautta UEFI:n kautta.

Jos teimme kaiken oikein, siellä on jotain tämän kaltaista käynnistysvalintavalikkoa:

WDS-toimintojen laajentaminen: UEFI-käynnistyskyvyn lisääminen

Jos olet valmistellut perustyökalut etkä vaivaudu konfigurointiin, tämän ominaisuuden käyttöönotto kestää noin 10-20 minuuttia.
Minulla kesti 2 työpäivää, koska. Jouduin googlettamaan paljon.

Onnistunut toteutus!

Kiitos huomiostasi ja paljon kiitoksia niille ihmisille, joiden artikkelit auttoivat minua!
Habressa se on: Ingtar и Syväkaupunki.

Lähde: will.com

Lisää kommentti