Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

Здраво на сите!

Оваа статија ги опишува чекорите што треба да ги следите за да ја додадете способноста за подигање UEFI на вашиот WDS.

Оние. Упатствата во оваа статија претпоставуваат дека веќе ја имате следнава конфигурација:

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

Исто така, овде се опишани постапки кои не ми донесоа соодветен резултат.
Ги опишав за да го олеснам пребарувањето и да ви заштедам време.

предговорот

Направив WDS на работа со многу добрини, tk. уморни од постојано трчање наоколу со еден куп флеш драјвови и нивно препишување.

Патем, овие статии ми помогнаа:
Додавање разновидност на WDS
Мени за подигање PXE со менаџер за конфигурација на центар на системот


Изгледа вака

Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

И сè беше во ред, додадени се нови слики за вчитување, сликата на winPE доби нови функции и сè работеше.

Но, далеку од тоа дека сите уреди го поддржуваат режимот за подигање BIOS / Legacy, или ако го поддржуваат, тогаш неговото вклучување може да биде на многу неочигледно место.

Да, и инсталирањето прозорци во наследен режим, кога е можно да се инсталира во UEFI, не е кул.

Како резултат на тоа, решив да ја додадам можноста за подигање во UEFI и отидов на Google.

Но, не најдов структурирани информации за тоа како да добијам работен WDS + UEFI.
Всушност, затоа решив да ја напишам оваа статија.

Пред да започнам, ќе го опишам проблемот што одзеде најмногу време.

Кога додавате UEFI на WDS, можна е следната, прилично неочигледна ситуација:

Ако додадете датотека за подигање на WDS и кога се обидувате да се подигнете на уредот
во UEFI го гледате следниот текст:
The selected boot device failed. Press <Enter> to Continue.
Или Boot Device Not Found
Но, вчитувањето во наследство работи за вас.
Тогаш една од можните опции е отсуството на датотека wdsmgfw.efi,
по следната патека: %WDSpath%Bootx64wdsmgfw.efi

Можете да го земете овде: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Или, ако поради некоја причина ви недостасува оваа датотека, ја објавив на Google.
За ова решение, благодарам момци од reddit.

Со овој проблем најмногу време убив, затоа што. Мислев дека проблемот е некаде во WDS или DHCP конфигурацијата.

Конфигурирани политики со додавање Класи на продавач за различни архитектури и конфигурирање на опциите за DHCP 060, 066, 067. Настава за конфигурирање на политиките на DHCP.

Архитектури во ASCII за конфигурирање на DHCP

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

Исто така, пробав различни опции за датотеки за подигање. .efi

  • syslinux
  • грмушка 2

Се обидов да го најдам проблемот и во Дневникот на настани.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Но, како што реков погоре, проблемот лежи во датотеката wdsmgfw.efi.
Или случајно сам го избришав, или не беше копиран при инсталацијата
и конфигурирање на WDS.

Па, ајде да започнеме!

Настава

Фаза 1 - Потврдете дека WDS работи

Земете кој било уред или виртуелна машина со поддршка за подигање во режим UEFI преку мрежата и обидете се да се подигнете.

Треба да ја имате следнава слика:

Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

Ако е така, одлично, можете да продолжите.
Ако не, тогаш види што напишав во предговорот.

Фаза 2 - Изградба на датотеката за подигање iPXE

Го лансираме претходно подготвениот Ubuntu, отвораме терминал и ја залепуваме оваа линија:

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

Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

Овде би сакал да направам мала забелешка дека можеби ќе треба да додадете пакети на Ubuntu кои се неопходни за компајлирање на C и C ++.
Само што ги имам инсталирано.

Преземено? - Одлично!
Сега треба да направите конфигурациска датотека за склопот.
Во терминалот пишуваме:

cd ipxe/src
gedit chain.ipxe

И залепете го следниов код во оваа датотека, а потоа зачувајте:

#!ipxe

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

Се враќаме на терминалот и ја започнуваме компилацијата:

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

Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

Ако сè е во ред, тогаш треба да го добиете следниот излез во терминалот:

Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

И датотека ipxe.efi, по патот: ipxe/src/bin-x86_64-efi/ipxe.efi
Ако поради некоја причина не можете сами да компајлирате,
Јас го прикачив мојот датотеката.
Составен е за да се подигне од http://192.168.0.100/install.ipxe

Тоа е сè за Ubuntu.

Чекор 3 - Додавање ipxe.efi во WDS

Ја земаме датотеката што ја добивме во втората фаза и ја копираме попатно:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Откако ќе го преименуваме во BOOTX64.EFI.
Не е потребно, само е поудобно.

Потоа стартуваме cmd во име на администраторот и напишете ги следните команди:

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

Ова ќе ја постави добиената датотека да се преземе преку WDS.

Ајде да ја провериме конфигурацијата:

wdsutil /get-server /Show:Config

Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

Ја копирав и датотеката ipxe.efi, ја преименував во BOOTIA32.EFI и конфигурирав подигање за него, за секој случај. architecture:x86uefi
Но, во голема мера, ова нема смисла, бидејќи. Датотеката Bootmgfw.efi не поддржува x86

Ајде да провериме што се случи.
Проширување на функционалноста на WDS: Додавање способност за подигање UEFI
Одлично, WDS ја испраќа нашата датотека за преземање и таа, пак, ја бара конфигурацијата по патеката: http://192.168.0.100/install.ipxe

Чекор 4 - Конфигурација на менито

Одете во основната папка на вашата страница.
Стандардно е: C:inetpubwwwroot

Направете текстуална датотека install.ipxe.

и конфигурирајте го според документација и вашите потреби.
Има и руски јазик описание команди.
Уживав ова инструкции при конфигурирање на вашиот WDS.

Пример за конфигурација 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

Можете да прочитате за конфигурацијата за вчитување на winPE тука.

Фаза 5 - MIME типови

Откако ќе го креирате менито и ќе ги додадете сите потребни датотеки во основната папка на IIS,
треба да им дадете пристап.

Бидејќи дури и ако се обидете да преземете датотека од прелистувачот, ќе добиете грешка на неговата адреса: HTTP 404.3 - Not Found.
Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

За да го направите ова, треба да додадете типови MIME во контролната табла на IIS, во согласност
со екстензии на датотеки што ќе ги преземете преку http.

Не барав кој тип MIME е најдобар за оваа намена и прашав application/octet-stream, по што сè функционираше.

За датотеки што немаат екстензија, користете точка.

Еве така:

Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

Заклучок

На крајот на краиштата, добиваме можност да се подигнеме преку локална мрежа преку UEFI.

Ако направивме сè правилно, тогаш ќе има нешто како ова мени за избор на подигање:

Проширување на функционалноста на WDS: Додавање способност за подигање UEFI

Ако сте ги подготвиле основните алатки и нема да се мачите со конфигурацијата, тогаш потребни се околу 10-20 минути за да се имплементира оваа функција.
Ми требаа 2 работни дена, бидејќи. Морав многу да гуглам.

Успешна имплементација!

Ви благодарам за вниманието и многу благодарам на оние луѓе чии статии ми помогнаа!
На Хабре е: Ингтар и Диптаун.

Извор: www.habr.com

Додадете коментар