Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

Kumusta sa lahat!

Inilalarawan ng artikulong ito ang mga hakbang na kailangan mong sundin upang magdagdag ng UEFI boot capability sa iyong WDS.

Yung. Ipinapalagay ng mga tagubilin sa artikulong ito na mayroon ka nang sumusunod na configuration:

1. Windows Server 2012R2 (ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅)
2. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настроСнный DHCP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с WDS
3. БобствСнно сам WDS
4. IIS
5. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина ΠΈΠ»ΠΈ ПК с Ubuntu

Gayundin, narito ang mga inilarawan na aksyon na hindi nagdala sa akin ng tamang resulta.
Inilarawan ko ang mga ito upang mapadali ang paghahanap at makatipid ng iyong oras.

paunang salita

Gumawa ako ng WDS sa trabaho na may maraming goodies, tk. pagod sa patuloy na pagtakbo gamit ang isang bungkos ng mga flash drive at overwrite ang mga ito.

Ang mga artikulong ito ay nakatulong sa akin:
Pagdaragdag ng WDS Versatility
PXE boot menu na may System Center Configuration Manager


Parang ganito

Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

At maayos ang lahat, idinagdag ang mga bagong larawan para sa paglo-load, ang imahe ng winPE ay napuno ng mga bagong tampok at lahat ay gumana.

Ngunit, malayo sa lahat ng mga aparato ay sumusuporta sa BIOS / Legacy boot mode, o kung gagawin nila, kung gayon ang pagsasama nito ay maaaring nasa isang napaka-hindi-halatang lugar.

Oo, at ang pag-install ng mga bintana sa legacy mode, kapag posible na i-install sa UEFI, ay hindi cool.

Bilang resulta, nagpasya akong magdagdag ng kakayahang mag-boot sa UEFI, at pumunta sa Google.

Ngunit hindi ako nakahanap ng nakabalangkas na impormasyon kung paano makakuha ng gumaganang WDS + UEFI.
Sa totoo lang, kaya ko naisipang isulat ang artikulong ito.

Bago ako magsimula, ilalarawan ko ang problema na tumagal ng pinakamaraming oras.

Kapag nagdaragdag ng UEFI sa WDS, posible ang sumusunod, sa halip na hindi halatang sitwasyon:

Kung nagdagdag ka ng boot file sa WDS at kapag sinubukan mong mag-boot sa device
sa UEFI makikita mo ang sumusunod na teksto:
The selected boot device failed. Press <Enter> to Continue.
O kaya Boot Device Not Found
Ngunit gumagana para sa iyo ang pag-load sa legacy.
Pagkatapos ang isa sa mga posibleng opsyon ay ang kawalan ng file wdsmgfw.efi,
sa sumusunod na paraan: %WDSpath%Bootx64wdsmgfw.efi

Maaari mo itong dalhin dito: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
O, kung sa ilang kadahilanan ay nawawala ang file na ito para sa iyo, nai-post ko ito sa google.
Para sa solusyon na ito, salamat guys mula sa reddit.

Sa problemang ito, pinatay ko ang pinakamaraming oras, dahil. Akala ko ang problema ay nasa isang lugar sa WDS o DHCP configuration.

Na-configure ang mga patakaran sa pamamagitan ng pagdaragdag ng Mga Klase ng Vendor para sa iba't ibang arkitektura, at pag-configure ng mga opsyon sa DHCP 060, 066, 067. Pagtuturo para sa pag-configure ng mga patakaran ng DHCP.

Mga arkitektura sa ASCII para sa pag-configure ng DHCP

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

Gayundin, sinubukan ko ang iba't ibang mga opsyon para sa mga boot file. .efi

  • syslinux
  • grub 2

Sinubukan ko ring hanapin ang problema sa Log ng Kaganapan.
win + r -> eventvwr -> Π–ΡƒΡ€Π½Π°Π»Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ слуТб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Ngunit, tulad ng sinabi ko sa itaas, ang problema ay nasa file wdsmgfw.efi.
Alinman hindi ko sinasadyang natanggal ito sa aking sarili, o hindi ito nakopya sa panahon ng pag-install
at pag-configure ng WDS.

Well, magsimula tayo!

Pagtuturo

Stage 1 - I-verify na gumagana ang WDS

Kumuha ng anumang device o virtual machine na may suporta para sa pag-boot sa UEFI mode sa network at subukang mag-boot.

Dapat mayroon kang sumusunod na larawan:

Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

Kung gayon, mahusay, maaari kang magpatuloy.
Kung hindi, tingnan kung ano ang isinulat ko sa paunang salita.

Stage 2 - Pagbuo ng iPXE Boot File

Inilunsad namin ang pre-prepared na Ubuntu, magbukas ng terminal at i-paste ang linyang ito:

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

Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

Dito nais kong gumawa ng isang maliit na puna na maaaring kailanganin mong magdagdag ng mga pakete sa Ubuntu na kinakailangan para sa pag-compile ng C at C ++.
Pina-install ko lang sila.

Na-download? - Malaki!
Ngayon ay kailangan mong gumawa ng configuration file para sa pagpupulong.
Sa terminal, isinusulat namin:

cd ipxe/src
gedit chain.ipxe

At i-paste ang sumusunod na code sa file na ito, at pagkatapos ay i-save:

#!ipxe

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

Bumalik kami sa terminal at simulan ang compilation:

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

Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

Kung maayos ang lahat, dapat mong makuha ang sumusunod na output sa terminal:

Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

At mag-file ipxe.efi, sa daan: ipxe/src/bin-x86_64-efi/ipxe.efi
Kung sa ilang kadahilanan ay hindi ka makapag-compile nang mag-isa,
kinabit ko na ang akin file.
Ito ay pinagsama-sama upang mag-boot mula sa http://192.168.0.100/install.ipxe

Iyon lang para sa Ubuntu.

Hakbang 3 - Pagdaragdag ng ipxe.efi sa WDS

Kinukuha namin ang file na natanggap namin sa pangalawang yugto at kinopya ito sa daan:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Pagkatapos naming palitan ang pangalan nito sa BOOTX64.EFI.
Hindi naman kailangan, mas convenient lang.

Pagkatapos ay inilunsad namin cmd sa ngalan ng administrator, at isulat ang sumusunod na mga utos:

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

Itatakda nito ang magreresultang file na ma-download sa pamamagitan ng WDS.

Suriin natin ang pagsasaayos:

wdsutil /get-server /Show:Config

Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

Kinopya ko rin ang ipxe.efi file, pinalitan ito ng pangalan na BOOTIA32.EFI at na-configure ang boot para dito, kung sakali. architecture:x86uefi
Ngunit sa pangkalahatan, ito ay walang kahulugan, dahil. Hindi sinusuportahan ng bootmgfw.efi file ang x86

Suriin natin kung ano ang nangyari.
Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability
Mahusay, ipinapadala ng WDS ang aming file para sa pag-download at ito naman, ay naghahanap ng configuration kasama ang landas: http://192.168.0.100/install.ipxe

Hakbang 4 - Configuration ng Menu

Pumunta sa root folder ng iyong site.
Ang default ay: C:inetpubwwwroot

Gumawa ng text file install.ipxe.

at i-configure ito ayon sa dokumentasyon at ang iyong mga pangangailangan.
Mayroon ding wikang Ruso описаниС mga utos.
nag enjoy ako ito mga tagubilin kapag kino-configure ang iyong WDS.

halimbawa ng configuration ng 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

Mababasa mo ang tungkol sa configuration para sa paglo-load ng winPE dito.

Stage 5 - mga uri ng MIME

Pagkatapos likhain ang menu at idagdag ang lahat ng kinakailangang mga file sa IIS root folder,
kailangan mong bigyan sila ng access.

kasi kahit na subukan mong mag-download ng file mula sa browser, magkakaroon ka ng error sa address nito: HTTP 404.3 - Not Found.
Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

Upang gawin ito, kailangan mong magdagdag ng mga uri ng MIME sa control panel ng IIS, alinsunod
na may mga extension ng file na iyong ida-download sa pamamagitan ng http.

Hindi ko hinanap kung aling uri ng MIME ang pinakamainam para sa layuning ito, at nagtanong application/octet-stream, pagkatapos nito ay gumana ang lahat.

Para sa mga file na walang extension, gumamit ng tuldok.

Narito kaya:

Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

Konklusyon

Sa huli, nakakakuha kami ng kakayahang mag-boot sa isang lokal na network sa pamamagitan ng UEFI.

Kung ginawa namin ang lahat ng tama, magkakaroon ng isang bagay tulad ng menu ng pagpili ng boot na ito:

Pagpapalawak ng WDS Functionality: Pagdaragdag ng UEFI Boot Capability

Kung naihanda mo na ang mga pangunahing tool at hindi ka mag-abala sa pagsasaayos, aabutin ng mga 10-20 minuto upang maipatupad ang tampok na ito.
Inabot ako ng 2 working days, kasi. Marami akong kailangang i-google.

Ang matagumpay na pagpapatupad!

Salamat sa iyong pansin at maraming salamat sa mga taong nakatulong sa akin ang mga artikulo!
Sa HabrΓ© ito ay: Ingtar ΠΈ Deeptown.

Pinagmulan: www.habr.com

Magdagdag ng komento