Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Herkese Merhaba!

Bu makale, WDS'nize UEFI önyükleme özelliği eklemek için izlemeniz gereken adımları açıklamaktadır.

Onlar. Bu makaledeki yönergeler, halihazırda aşağıdaki yapılandırmaya sahip olduğunuzu varsayar:

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

Ayrıca, burada bana doğru sonucu getirmeyen eylemler açıklanmaktadır.
Aramayı kolaylaştırmak ve size zaman kazandırmak için bunları anlattım.

Önsöz

İş yerinde pek çok güzellikle bir WDS yaptım, tk. sürekli olarak bir sürü flash sürücüyle dolaşmaktan ve bunların üzerine yazmaktan bıktınız.

Bu makaleler bu arada bana yardımcı oldu:
WDS Çok Yönlülüğü Ekleme
System Center Configuration Manager ile PXE önyükleme menüsü


buna benziyor

Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Ve her şey yolundaydı, yükleme için yeni görüntüler eklendi, winPE görüntüsü yeni özelliklerle büyütüldü ve her şey çalıştı.

Ancak, tüm cihazlardan uzak, BIOS / Legacy önyükleme modunu destekler veya desteklerlerse, dahil edilmesi çok açık olmayan bir yerde olabilir.

Evet ve UEFI'de kurulum mümkün olduğunda pencereleri eski modda kurmak harika değil.

Sonuç olarak, UEFI'ye önyükleme yeteneği eklemeye karar verdim ve Google'a gittim.

Ancak çalışan bir WDS + UEFI'nin nasıl edinileceğine dair yapılandırılmış bilgi bulamadım.
Aslında bu yüzden bu yazıyı yazmaya karar verdim.

Başlamadan önce, en çok zaman alan sorunu anlatacağım.

WDS'ye UEFI eklerken, oldukça açık olmayan aşağıdaki durum mümkündür:

WDS'ye bir önyükleme dosyası eklerseniz ve cihazda önyükleme yapmaya çalıştığınızda
UEFI'de aşağıdaki metni görürsünüz:
The selected boot device failed. Press <Enter> to Continue.
Veya Boot Device Not Found
Ancak eski sürümde yükleme sizin için çalışır.
O zaman olası seçeneklerden biri bir dosyanın olmamasıdır. wdsmgfw.efi,
aşağıdaki yol boyunca: %WDSpath%Bootx64wdsmgfw.efi

Buradan alabilirsin: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Veya, herhangi bir nedenle bu dosya sizin için eksikse, onu şuraya gönderdim: google.
Bu çözüm için teşekkürler çocuklar reddit.

Bu sorunla en çok zaman öldürdüm çünkü. Sorunun WDS veya DHCP yapılandırmasında bir yerde olduğunu düşündüm.

Çeşitli mimariler için Satıcı Sınıfları ekleyerek ve DHCP seçeneklerini 060, 066, 067 ayarlayarak yapılandırılmış politikalar. Talimat DHCP politikalarını yapılandırmak için.

DHCP'yi yapılandırmak için ASCII'deki mimariler

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

Ayrıca, önyükleme dosyaları için çeşitli seçenekleri denedim. .efi

  • syslinux
  • grub 2

Sorunu Olay Günlüğünde de bulmaya çalıştım.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics

Ama yukarıda da söylediğim gibi sorun dosyada yatıyor. wdsmgfw.efi.
Ya yanlışlıkla kendim sildim ya da kurulum sırasında kopyalanmadı.
ve WDS'yi yapılandırma.

Pekala, başlayalım!

Talimat

Aşama 1 - WDS'nin çalıştığını doğrulayın

Ağ üzerinden UEFI modunda önyükleme desteği olan herhangi bir cihazı veya sanal makineyi alın ve önyüklemeyi deneyin.

Aşağıdaki resme sahip olmalısınız:

Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Eğer öyleyse, harika, devam edebilirsiniz.
Değilse, önsözde ne yazdığıma bakın.

2. Aşama - iPXE Önyükleme Dosyasını Oluşturma

Önceden hazırlanmış Ubuntu'yu başlatıyoruz, bir terminal açıyoruz ve şu satırı yapıştırıyoruz:

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

Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Burada C ve C++'ı derlemek için gerekli paketleri Ubuntu'ya eklemeniz gerekebileceğine dair küçük bir açıklama yapmak istiyorum.
Ben sadece onları kurdum.

İndirildi? - Harika!
Şimdi derleme için bir yapılandırma dosyası oluşturmanız gerekiyor.
Terminalde şunu yazıyoruz:

cd ipxe/src
gedit chain.ipxe

Ve aşağıdaki kodu bu dosyaya yapıştırın ve kaydedin:

#!ipxe

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

Terminale geri dönüyoruz ve derlemeye başlıyoruz:

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

Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Her şey yolundaysa, terminalde aşağıdaki çıktıyı almalısınız:

Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Ve dosya ipxe.efi, yol boyunca: ipxe/src/bin-x86_64-efi/ipxe.efi
Herhangi bir nedenle kendi başınıza derleyemediyseniz,
benimkini ekledim dosya.
Önyükleme için derlenmiştir http://192.168.0.100/install.ipxe

Ubuntu için hepsi bu.

Adım 3 - ipxe.efi'yi WDS'ye ekleme

İkinci aşamada aldığımız dosyayı alıp yol boyunca kopyalıyoruz:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Adını BOOTX64.EFI olarak değiştirdikten sonra.
Gerekli değil, sadece daha uygun.

Sonra başlatıyoruz cmd yönetici adına ve aşağıdaki komutları yazın:

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

Bu, ortaya çıkan dosyayı WDS aracılığıyla indirilecek şekilde ayarlayacaktır.

Yapılandırmayı kontrol edelim:

wdsutil /get-server /Show:Config

Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Ayrıca ipxe.efi dosyasını da kopyaladım, BOOTIA32.EFI olarak yeniden adlandırdım ve her ihtimale karşı önyüklemeyi yapılandırdım. architecture:x86uefi
Ama genel olarak bu hiç mantıklı değil, çünkü. Bootmgfw.efi dosyası x86'yı desteklemiyor

Ne olduğunu kontrol edelim.
Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme
Harika, WDS dosyamızı indirilmek üzere gönderir ve sırayla yol boyunca yapılandırmayı arar: http://192.168.0.100/install.ipxe

Adım 4 - Menü Yapılandırması

Sitenizin kök klasörüne gidin.
varsayılan: C:inetpubwwwroot

Bir metin dosyası oluşturun kurulum.ipxe.

ve buna göre yapılandırın belgeler ve ihtiyaçlarınız.
Rusça da var описание komutlar.
ben eğlendim bu WDS'nizi yapılandırırken talimatlar.

install.ipxe yapılandırma örneği

#!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'yi yüklemek için yapılandırma hakkında bilgi edinebilirsiniz. burada.

Aşama 5 - MIME türleri

Menüyü oluşturduktan ve gerekli tüm dosyaları IIS kök klasörüne ekledikten sonra,
onlara erişim vermeniz gerekir.

Çünkü tarayıcıdan bir dosya indirmeye çalışsanız bile, adresinde bir hata alırsınız: HTTP 404.3 - Not Found.
Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Bunu yapmak için, IIS kontrol paneline uygun olarak MIME türleri eklemeniz gerekir.
http üzerinden indireceğiniz dosya uzantıları ile.

Bu amaç için hangi MIME türünün en iyi olduğunu aramadım ve sordum application/octet-stream, bundan sonra her şey çalıştı.

Uzantısı olmayan dosyalar için nokta kullanın.

İşte:

Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Sonuç

Nihayetinde, UEFI aracılığıyla yerel bir ağ üzerinden önyükleme yapma olanağına sahibiz.

Her şeyi doğru yaptıysak, bu önyükleme seçim menüsü gibi bir şey olacaktır:

Genişleyen WDS İşlevselliği: UEFI Önyükleme Yeteneği Ekleme

Temel araçları hazırladıysanız ve yapılandırmayla uğraşmayacaksanız, bu özelliği uygulamak yaklaşık 10-20 dakika sürer.
2 iş günü sürdü çünkü. Google'da çok aramam gerekti.

Başarılı uygulama!

İlginiz için teşekkür ederim ve makaleleri bana yardımcı olan insanlara çok teşekkürler!
Habré'de: Ingtar и Derin kasaba.

Kaynak: habr.com

Yorum ekle