Halo semuanya!
Artikel ini menjelaskan langkah-langkah yang harus Anda ikuti untuk menambahkan opsi boot UEFI ke WDS Anda.
Yaitu instruksi dalam artikel ini mengasumsikan bahwa Anda sudah memiliki sesuatu seperti konfigurasi berikut:
1. Windows Server 2012R2 ( ) 2. DHCP WDS 3. WDS 4. IIS 5. Ubuntu
Juga, di sini dijelaskan tindakan yang tidak memberi saya hasil yang tepat.
Saya menggambarkan mereka, untuk memudahkan pencarian dan menghemat waktu Anda.
Kata Pengantar
Entah bagaimana dibuat di tempat kerja WDS dengan banyak barang, karena lelah terus-menerus berlarian dengan sekelompok flash drive dan menimpa mereka.
Omong-omong, artikel-artikel ini membantu saya:
Tambahkan WDS Fleksibilitas
Menu boot PXE dengan System Configuration Manager
Dan semuanya baik-baik saja, gambar baru ditambahkan untuk memuat, gambar winPE ditumbuhi dengan fitur baru dan semuanya berfungsi.
Tetapi, tidak berarti semua perangkat mendukung mode boot BIOS / Legacy, atau jika mereka mendukungnya, penyertaannya dapat ditempatkan di tempat yang sangat tidak jelas.
Dan menginstal windows dalam mode lawas, ketika dimungkinkan untuk menginstal di UEFI, tidak keren.
Pada akhirnya, saya memutuskan untuk menambahkan kemampuan untuk mengunggah ke UEFI, dan pergi ke Google.
Tapi saya masih belum menemukan informasi terstruktur tentang cara mendapatkan WDS + UEFI yang berfungsi.
Sebenarnya, itu sebabnya saya memutuskan untuk menulis artikel ini.
Sebelum memulai, saya akan menjelaskan masalah yang paling memakan waktu.
Saat menambahkan UEFI ke WDS, situasi berikut ini, agak tidak jelas, adalah mungkin:Jika Anda menambahkan file boot ke WDS dan ketika Anda mencoba untuk boot ke perangkat
di UEFI Anda melihat teks berikut:
The selected boot device failed. Press <Enter> to Continue.
Atau Boot Device Not Found
Namun memuat dalam warisan berfungsi untuk Anda.
Maka salah satu opsi yang mungkin adalah tidak adanya file wdsmgfw.efi ,
jalur berikut: %WDSpath%\Boot\x64\wdsmgfw.efi
Anda dapat mengambilnya di sini: C:\Windows\System32\RemInst\boot\x64\wdsmgfw.efi
Atau, jika karena alasan tertentu Anda tidak memiliki file ini, saya mempostingnya di google .
Untuk keputusan ini, terima kasih kepada teman-teman dari reddit .
Dengan masalah ini, saya membunuh paling banyak sejak itu Saya pikir masalahnya ada di suatu tempat di konfigurasi WDS atau DHCP.
Kebijakan yang dikonfigurasikan dengan menambahkan Kelas Vendor untuk berbagai arsitektur dan mengkonfigurasi opsi DHCP 060, 066, 067. Petunjuk untuk mengonfigurasi kebijakan DHCP.
Arsitektur ASCII untuk mengkonfigurasi DHCPPXEClient: Arch: 00000 - BIOS / Legacy
PXEClient: Arch: 00006 - UEFI x86
PXEClient: Arch: 00007 - UEFI x64
Juga, saya mencoba berbagai opsi untuk file boot .efi
Saya juga mencoba mencari masalah di Log Acara.
win + r -> eventvwr -> -> Microsoft -> Windows -> Deployment-Services-Diagnostics
Tapi, seperti yang saya katakan di atas, masalahnya terletak pada file wdsmgfw.efi .
Entah saya tidak sengaja menghapusnya sendiri, atau tidak menyalin selama instalasi
dan mengkonfigurasi WDS.
Baiklah, mari kita mulai!
Instruksi manual
Tahap 1 - Pemeriksaan Kesehatan WDS
Ambil perangkat atau mesin virtual apa pun yang mendukung UEFI boot melalui jaringan dan coba boot.
Anda harus memiliki gambar berikut:

Jika demikian, maka baiklah, Anda dapat melanjutkan.
Jika tidak, lihat apa yang saya tulis di bagian pendahuluan.
Langkah 2 - Bangun File Boot iPXE
Jalankan Ubuntu yang sudah disiapkan sebelumnya, buka terminal dan masukkan baris ini:
git clone https://git.ipxe.org/ipxe.git ipxe

Di sini saya ingin membuat komentar kecil tentang fakta bahwa Anda mungkin harus menambahkan paket di Ubuntu yang diperlukan untuk mengkompilasi C dan C ++.
Saya baru saja menginstalnya.
Diunduh? - Hebat!
Sekarang Anda perlu membuat file konfigurasi untuk perakitan.
Di terminal, tulis:
cd ipxe/src gedit chain.ipxe
Dan rekatkan ke file ini, kode berikut, lalu simpan:
#!ipxe dhcp chain http://%IP-address-your-IIS-server%/install.ipxe
Kami kembali ke terminal dan memulai kompilasi:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe

Jika semuanya beres, maka Anda harus mendapatkan output berikut di terminal:

Dan file ipxe.efi , di sepanjang jalan: ipxe/src/bin-x86_64-efi/ipxe.efi
Jika karena alasan tertentu Anda tidak dapat mengkompilasi sendiri,
Saya melampirkan file saya.
Ini dikompilasi untuk diunduh dari http://192.168.0.100/install.ipxe
Itu semua dengan Ubuntu.
Tahap 3 - Menambahkan ipxe.efi ke WDS
Kami mengambil file yang kami terima di tahap kedua dan menyalin di sepanjang jalan:
%WDSpath%\Boot\x64\%your-boot-folder%\EFI\BOOT\
Setelah mengubah nama menjadi BOOTX64.EFI.
Itu tidak perlu, itu hanya lebih nyaman.
Kemudian jalankan cmd sebagai administrator, dan tuliskan perintah berikut:
wdsutil /set-server /bootprogram:Boot\x64\%your-boot-folder%\EFI\BOOT\BOOTX 64.EFI /architecture:x64uefi wdsutil /set-server /N12bootprogram:Boot\x64\%your-boot-folder%\EFI\BOOT\BOOTX 64.EFI /architecture:x64uefi
Ini akan menginstal file yang dihasilkan untuk diunduh melalui WDS.
Periksa konfigurasi:
wdsutil /get-server /Show:Config

Saya juga menyalin file ipxe.efi, menamainya menjadi BOOTIA32.EFI, dan mengkonfigurasi unduhan untuknya, untuk berjaga-jaga. architecture:x86uefi
Tetapi pada umumnya ini tidak masuk akal, karena File Bootmgfw.efi tidak mendukung x86
Periksa apa yang terjadi.

Nah, WDS mengirimkan file kami untuk diunduh dan, pada gilirannya, mencari konfigurasi di sepanjang jalur: http://192.168.0.100/install.ipxe
Tahap 4 - Konfigurasi Menu
Kami pergi ke folder root situs Anda.
Secara default adalah: C:\inetpub\wwwroot
Buat file teks install.ipxe .
Dan konfigurasikan sesuai dengan dokumentasi dan kebutuhan Anda.
Ada juga deskripsi tim berbahasa Rusia.
Saya menggunakan instruksi ini ketika mengkonfigurasi WDS saya.
Contoh konfigurasi 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
Anda dapat membaca tentang konfigurasi untuk memuat winPE di sini .
Tahap 5 - jenis MIME
Setelah membuat menu dan menambahkan semua file yang diperlukan ke folder root IIS,
Anda harus memberi akses kepada mereka.
Karena bahkan jika Anda mencoba mengunduh file dari browser, Anda akan mendapatkan kesalahan di alamatnya: HTTP 404.3 - Not Found
.

Untuk melakukan ini, tambahkan tipe MIME di panel kontrol IIS, sesuai
dengan ekstensi file yang akan Anda unduh melalui http.
Saya tidak mencari jenis MIME yang lebih baik untuk tujuan ini, dan mengatur application/octet-stream
, setelah itu semuanya bekerja.
Untuk file yang tidak memiliki ekstensi, gunakan tanda titik.
Seperti ini:

Kesimpulan
Pada akhirnya, kami mendapatkan kemampuan untuk boot melalui jaringan lokal melalui UEFI.
Jika kami melakukan semuanya dengan benar, maka akan ada sesuatu seperti menu pilihan boot:

Jika Anda sudah menyiapkan alat dasar dan Anda tidak akan repot dengan konfigurasi, maka dibutuhkan sekitar 10-20 menit untuk mengimplementasikan fitur ini.
Butuh waktu 2 hari kerja, karena harus banyak google.
Implementasi yang sukses!
Terima kasih atas perhatian Anda dan terima kasih banyak kepada orang-orang yang artikelnya membantu saya!
Tentang Habr: Ingtar dan Deeptown .