WDS функцийг өргөжүүлэх: UEFI ачаалах чадварыг нэмэх

хүн бүрт Сайн байна уу!

Энэ нийтлэлд WDS-дээ UEFI ачаалах чадварыг нэмэхийн тулд хийх ёстой алхмуудыг тайлбарласан болно.

Тэдгээр. Энэ нийтлэл дэх заавар нь танд дараах тохиргоог аль хэдийн хийсэн гэж үзэж байна:

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
Эсвэл ямар нэг шалтгааны улмаас энэ файл танд байхгүй бол би үүнийг нийтэлсэн Гүүгл.
Энэ шийдлийн төлөө залуусдаа баярлалаа reddit.

Энэ асуудалд би хамгийн их цаг хугацаа алдсан, учир нь. Асуудал WDS эсвэл DHCP тохиргооны хаа нэгтээ байгаа гэж би бодсон.

Төрөл бүрийн архитектурт нийлүүлэгчийн ангиудыг нэмж, DHCP 060, 066, 067 сонголтуудыг тохируулснаар удирдамжийг тохируулсан. Зааварчилгаа DHCP бодлогыг тохируулах.

DHCP-ийг тохируулах ASCII дахь архитектурууд

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 ачаалах чадварыг нэмэх

Энд би C болон C ++ хэлийг хөрвүүлэхэд шаардлагатай багцуудыг Ubuntu-д нэмж оруулах шаардлагатай байж магадгүй талаар жижиг тэмдэглэл хийхийг хүсч байна.
Би зүгээр л суулгасан.

Татаж авсан уу? - Агуу их!
Одоо та угсралтын тохиргооны файлыг хийх хэрэгтэй.
Терминал дээр бид бичнэ:

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 - WDS-д ipxe.efi нэмэх

Бид хоёр дахь шатанд хүлээн авсан файлаа аваад замдаа хуулна.
%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 ачаалах чадварыг нэмэх

Үүнийг хийхийн тулд та IIS хяналтын самбарт MIME төрлийг тохируулах хэрэгтэй
http-ээр дамжуулан татаж авах файлын өргөтгөлүүдтэй.

Би энэ зорилгоор аль MIME төрлийн хамгийн тохиромжтойг хайгаагүй бөгөөд асуув application/octet-stream, үүний дараа бүх зүйл ажилласан.

Өргөтгөлгүй файлуудын хувьд цэг ашиглана уу.

Энд байгаа:

WDS функцийг өргөжүүлэх: UEFI ачаалах чадварыг нэмэх

дүгнэлт

Эцэст нь бид UEFI-ээр дамжуулан дотоод сүлжээгээр ачаалах боломжийг олж авдаг.

Хэрэв бид бүх зүйлийг зөв хийсэн бол ачаалах сонголтын цэстэй төстэй зүйл гарч ирнэ.

WDS функцийг өргөжүүлэх: UEFI ачаалах чадварыг нэмэх

Хэрэв та үндсэн хэрэгслүүдээ бэлтгэсэн бөгөөд тохиргоонд төвөг учруулахгүй бол энэ функцийг хэрэгжүүлэхэд 10-20 минут зарцуулагдана.
Ажлын 2 өдөр зарцуулсан, учир нь. Би маш их google хайх хэрэгтэй болсон.

Амжилттай хэрэгжилт!

Анхаарал тавьсанд баярлалаа, нийтлэлээрээ надад тусалсан хүмүүст маш их баярлалаа!
Хабре дээр энэ нь: Ингтар и Гүн хот.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх