WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Sveiki visiem!

Šajā rakstā ir aprakstītas darbības, kas jāveic, lai savam WDS pievienotu UEFI sāknēšanas iespēju.

Tie. Šajā rakstā sniegtie norādījumi pieņem, ka jums jau ir šāda konfigurācija:

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

Šeit ir arī aprakstītas darbības, kas man nedeva pareizu rezultātu.
Es tos aprakstīju, lai atvieglotu meklēšanu un ietaupītu jūsu laiku.

priekšvārds

Es darbā uztaisīju WDS ar daudziem labumiem, tk. apnicis nepārtraukti skraidīties ar kaudzi zibatmiņu un tos pārrakstīt.

Starp citu, šie raksti man palīdzēja:
WDS daudzpusības pievienošana
PXE sāknēšanas izvēlne ar System Center Configuration Manager


Tas izskatās šādi

WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Un viss bija kārtībā, ielādei tika pievienoti jauni attēli, winPE attēls ieguva jaunas iespējas un viss strādāja.

Bet ne visas ierīces atbalsta BIOS / mantoto sāknēšanas režīmu, vai arī, ja tā tiek atbalstīta, tā iekļaušana var būt ļoti neredzamā vietā.

Jā, un instalēt logus mantotā režīmā, kad ir iespējams instalēt UEFI, nav forši.

Rezultātā es nolēmu pievienot iespēju palaist UEFI un devos uz Google.

Bet es neatradu strukturētu informāciju par to, kā iegūt strādājošu WDS + UEFI.
Patiesībā tāpēc es nolēmu uzrakstīt šo rakstu.

Pirms sākšu, es aprakstīšu problēmu, kas prasīja visvairāk laika.

Pievienojot UEFI WDS, ir iespējama šāda, diezgan nepārprotama situācija:

Ja pievienojat sāknēšanas failu WDS un mēģināt boot ierīcē
UEFI redzat šādu tekstu:
The selected boot device failed. Press <Enter> to Continue.
Vai Boot Device Not Found
Bet mantojuma ielāde darbojas jūsu labā.
Tad viena no iespējamām iespējām ir faila neesamība wdsmgfw.efi,
pa šādu ceļu: %WDSpath%Bootx64wdsmgfw.efi

Jūs varat to ņemt šeit: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Vai arī, ja kāda iemesla dēļ jums trūkst šī faila, es to ievietoju vietnē Google.
Par šo risinājumu, paldies puišiem no reddit.

Ar šo problēmu es nogalināju visvairāk laika, jo. Es domāju, ka problēma ir kaut kur WDS vai DHCP konfigurācijā.

Konfigurētas politikas, pievienojot piegādātāju klases dažādām arhitektūrām un iestatot DHCP opcijas 060, 066, 067. Norādījums DHCP politiku konfigurēšanai.

Arhitektūras ASCII formātā DHCP konfigurēšanai

PXEClient:Arch:00000 — BIOS/mantotais
PXEClient:Arch:00006 — UEFI x86
PXEClient:Arch:00007 — UEFI x64

Es arī izmēģināju dažādas sāknēšanas failu iespējas. .efi

  • syslinux
  • grub 2

Es mēģināju arī atrast problēmu notikumu žurnālā.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Bet, kā jau teicu iepriekš, problēma slēpjas failā wdsmgfw.efi.
Vai nu es pats nejauši izdzēsu, vai arī tas netika nokopēts instalēšanas laikā
un WDS konfigurēšana.

Nu ko, sāksim!

Norādījums

1. posms — pārbaudiet, vai WDS darbojas

Paņemiet jebkuru ierīci vai virtuālo mašīnu, kas atbalsta sāknēšanu UEFI režīmā tīklā, un mēģiniet palaist.

Jums vajadzētu būt šādam attēlam:

WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Ja tā, lieliski, varat turpināt.
Ja nē, tad skatieties, ko es rakstīju priekšvārdā.

2. posms — iPXE sāknēšanas faila izveide

Mēs palaižam iepriekš sagatavotu Ubuntu, atveram termināli un ielīmējam šo rindiņu:

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

WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Šeit es gribētu izteikt nelielu piezīmi, ka jums var nākties pievienot Ubuntu pakotnes, kas ir nepieciešamas C un C ++ kompilēšanai.
Es tikko tos uzstādīju.

Lejupielādēts? - Lieliski!
Tagad jums ir jāizveido montāžas konfigurācijas fails.
Terminālī mēs rakstām:

cd ipxe/src
gedit chain.ipxe

Un ielīmējiet šo kodu šajā failā un pēc tam saglabājiet:

#!ipxe

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

Mēs ejam atpakaļ uz termināli un sākam apkopošanu:

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

WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Ja viss ir kārtībā, tad terminālī jāsaņem šāda izvade:

WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Un fails ipxe.efi, paceļam: ipxe/src/bin-x86_64-efi/ipxe.efi
Ja kāda iemesla dēļ nevarat pats apkopot,
Esmu pievienojis savējo fails.
Tas ir apkopots, lai palaistu no http://192.168.0.100/install.ipxe

Tas viss priekš Ubuntu.

3. darbība — ipxe.efi pievienošana WDS

Mēs ņemam failu, ko saņēmām otrajā posmā, un kopējam to pa ceļam:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Pēc tam, kad mēs to pārdēvējam par BOOTX64.EFI.
Tas nav nepieciešams, tas ir vienkārši ērtāk.

Tad palaižam cmd administratora vārdā un ierakstiet šādas 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

Tādējādi iegūtais fails tiks lejupielādēts, izmantojot WDS.

Pārbaudīsim konfigurāciju:

wdsutil /get-server /Show:Config

WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Es arī nokopēju failu ipxe.efi, pārdēvēju to par BOOTIA32.EFI un katram gadījumam konfigurēju sāknēšanu. architecture:x86uefi
Bet kopumā tam nav jēgas, jo. Bootmgfw.efi fails neatbalsta x86

Pārbaudīsim, kas noticis.
WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana
Lieliski, WDS nosūta mūsu failu lejupielādei un, savukārt, meklē konfigurāciju ceļā: http://192.168.0.100/install.ipxe

4. darbība — izvēlnes konfigurēšana

Dodieties uz savas vietnes saknes mapi.
Noklusējums ir: C:inetpubwwwroot

Izveidojiet teksta failu install.ipxe.

un konfigurējiet to atbilstoši dokumentācija un jūsu vajadzībām.
Ir arī krievu valoda описание komandas.
man patika šis norādījumus, konfigurējot WDS.

install.ipxe konfigurācijas piemērs

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

Varat lasīt par winPE ielādes konfigurāciju šeit.

5. posms – MIME veidi

Pēc izvēlnes izveides un visu nepieciešamo failu pievienošanas IIS saknes mapei,
jums ir jādod viņiem piekļuve.

Jo pat ja mēģināt lejupielādēt failu no pārlūkprogrammas, tā adresē tiks parādīts kļūdas ziņojums: HTTP 404.3 - Not Found.
WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Lai to izdarītu, IIS vadības panelī atbilstoši jāpievieno MIME veidi
ar failu paplašinājumiem, kurus lejupielādēsit, izmantojot http.

Es nemeklēju, kurš MIME veids ir vislabākais šim nolūkam, un jautāju application/octet-stream, pēc kura viss strādāja.

Failiem, kuriem nav paplašinājuma, izmantojiet punktu.

Šeit:

WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Secinājums

Galu galā mēs iegūstam iespēju palaist vietējā tīklā, izmantojot UEFI.

Ja mēs visu izdarījām pareizi, būs kaut kas līdzīgs šai sāknēšanas atlases izvēlnei:

WDS funkcionalitātes paplašināšana: UEFI sāknēšanas iespējas pievienošana

Ja esat sagatavojis pamata rīkus un jūs neapgrūtināsit konfigurāciju, tad šīs funkcijas ieviešana aizņem apmēram 10-20 minūtes.
Man pagāja 2 darba dienas, jo. Man bija daudz jāmeklē google.

Veiksmīga īstenošana!

Paldies par uzmanību un liels paldies tiem cilvēkiem, kuru raksti man palīdzēja!
Uz Habré tas ir: Ingtars и Dziļpilsēta.

Avots: www.habr.com

Pievieno komentāru