Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Hello!

Artikel ini menjelaskan langkah-langkah yang perlu Anda ikuti untuk menambahkan kemampuan boot UEFI ke WDS Anda.

Itu. Petunjuk dalam artikel ini berasumsi bahwa Anda sudah memiliki konfigurasi berikut:

1. Windows Server 2012R2 (ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅)
2. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ настроСнный DHCP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с WDS
3. БобствСнно сам WDS
4. IIS
5. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина ΠΈΠ»ΠΈ ПК с Ubuntu

Juga, berikut adalah tindakan yang dijelaskan yang tidak memberi saya hasil yang tepat.
Saya menjelaskannya untuk memudahkan pencarian dan menghemat waktu Anda.

kata pengantar

Saya membuat WDS di tempat kerja dengan banyak barang, tk. lelah terus-menerus berlarian dengan banyak flash drive dan menimpanya.

Artikel-artikel ini membantu saya:
Menambahkan Fleksibilitas WDS
Menu boot PXE dengan System Center Configuration Manager


Ini terlihat seperti ini

Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Dan semuanya baik-baik saja, gambar baru ditambahkan untuk dimuat, gambar winPE ditumbuhi fitur-fitur baru dan semuanya berfungsi.

Namun, tidak semua perangkat mendukung mode boot BIOS / Legacy, atau jika mendukung, penyertaannya mungkin terjadi di tempat yang tidak jelas.

Ya, dan menginstal windows dalam mode lama, jika memungkinkan untuk menginstal di UEFI, tidaklah keren.

Akibatnya, saya memutuskan untuk menambahkan kemampuan boot ke UEFI, dan pergi ke Google.

Namun saya tidak menemukan informasi terstruktur tentang cara mendapatkan WDS + UEFI yang berfungsi.
Sebenarnya itulah alasan saya memutuskan untuk menulis artikel ini.

Sebelum saya mulai, saya akan menjelaskan masalah yang paling memakan waktu.

Saat menambahkan UEFI ke WDS, situasi berikut yang tidak jelas mungkin terjadi:

Jika Anda menambahkan file boot ke WDS dan saat Anda mencoba melakukan booting pada perangkat
di UEFI Anda melihat teks berikut:
The selected boot device failed. Press <Enter> to Continue.
Atau Boot Device Not Found
Namun memuat dalam versi lama bermanfaat bagi Anda.
Maka salah satu opsi yang memungkinkan adalah tidak adanya file wdsmgfw.efi,
sepanjang jalur berikut: %WDSpath%Bootx64wdsmgfw.efi

Anda dapat mengambilnya di sini: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Atau, jika karena alasan tertentu file ini hilang untuk Anda, saya mempostingnya google.
Untuk solusi ini, terima kasih kawan dari reddit.

Dengan masalah ini, saya menghabiskan waktu paling banyak, karena. Saya pikir masalahnya ada pada konfigurasi WDS atau DHCP.

Kebijakan yang dikonfigurasi dengan menambahkan Kelas Vendor untuk berbagai arsitektur, dan mengatur opsi DHCP 060, 066, 067. Pengajaran untuk mengkonfigurasi kebijakan DHCP.

Arsitektur di ASCII untuk mengkonfigurasi DHCP

PXEClient:Arch:00000 - BIOS/Warisan
Klien PXEC: Lengkungan: 00006 - UEFI x86
Klien PXEC: Lengkungan: 00007 - UEFI x64

Saya juga mencoba berbagai opsi untuk file boot. .efi

  • syslinux
  • makanan 2

Saya juga mencoba menemukan masalahnya di Event Log.
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 disalin saat instalasi
dan mengkonfigurasi WDS.

Baiklah, mari kita mulai!

Pengajaran

Tahap 1 - Verifikasi bahwa WDS berfungsi

Ambil perangkat atau mesin virtual apa pun yang mendukung booting dalam mode UEFI melalui jaringan dan coba boot.

Anda harus memiliki gambar berikut:

Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Jika ya, bagus, Anda dapat melanjutkan.
Jika belum, lihat apa yang saya tulis di kata pengantar.

Tahap 2 - Membangun File Boot iPXE

Kami meluncurkan Ubuntu yang telah disiapkan sebelumnya, buka terminal dan tempel baris ini:

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

Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Di sini saya ingin memberikan komentar kecil bahwa Anda mungkin harus menambahkan paket ke Ubuntu yang diperlukan untuk mengkompilasi C dan C ++.
Saya baru saja menginstalnya.

Diunduh? - Besar!
Sekarang Anda perlu membuat file konfigurasi untuk perakitan.
Di terminal, kami menulis:

cd ipxe/src
gedit chain.ipxe

Dan paste kode berikut ke dalam file ini, 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

Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

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

Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Dan mengajukan ipxe.efi, sepanjang jalan: ipxe/src/bin-x86_64-efi/ipxe.efi
Jika karena alasan tertentu Anda tidak dapat mengkompilasi sendiri,
Saya telah melampirkan milik saya file itu.
Itu dikompilasi untuk boot http://192.168.0.100/install.ipxe

Itu saja untuk Ubuntu.

Langkah 3 - Menambahkan ipxe.efi ke WDS

Kami mengambil file yang kami terima pada tahap kedua dan menyalinnya di sepanjang jalan:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Setelah kita rename menjadi BOOTX64.EFI.
Tidak perlu, hanya saja lebih nyaman.

Lalu kami meluncurkannya cmd atas nama administrator, dan tulis perintah berikut:

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

Ini akan mengatur file yang dihasilkan untuk diunduh melalui WDS.

Mari kita periksa konfigurasinya:

wdsutil /get-server /Show:Config

Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Saya juga menyalin file ipxe.efi, menamainya BOOTIA32.EFI dan mengonfigurasi boot untuknya, untuk berjaga-jaga. architecture:x86uefi
Tapi pada umumnya, ini tidak masuk akal, karena. File bootmgfw.efi tidak mendukung x86

Mari kita periksa apa yang terjadi.
Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI
Hebat, WDS mengirimkan file kita untuk diunduh dan, pada gilirannya, mencari konfigurasi di sepanjang jalur: http://192.168.0.100/install.ipxe

Langkah 4 - Konfigurasi Menu

Buka folder root situs Anda.
Standarnya adalah: C:inetpubwwwroot

Buat file teks instal.ipxe.

dan konfigurasikan sesuai dengan dokumentasi dan kebutuhan Anda.
Ada juga bahasa Rusia описаниС perintah.
aku menikmati ini instruksi saat mengkonfigurasi WDS Anda.

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 - Tipe MIME

Setelah membuat menu dan menambahkan semua file yang diperlukan ke folder root IIS,
Anda perlu memberi mereka akses.

Karena bahkan jika Anda mencoba mengunduh file dari browser, Anda akan mendapatkan kesalahan di alamatnya: HTTP 404.3 - Not Found.
Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Untuk melakukan ini, Anda perlu menambahkan tipe MIME di panel kontrol IIS, sesuai
dengan ekstensi file yang akan anda download melalui http.

Saya tidak mencari tipe MIME mana yang terbaik untuk tujuan ini, dan bertanya application/octet-stream, setelah itu semuanya berfungsi.

Untuk file yang tidak memiliki ekstensi, gunakan titik.

Disini jadi:

Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Kesimpulan

Pada akhirnya, kami mendapatkan kemampuan untuk melakukan booting melalui jaringan lokal melalui UEFI.

Jika kita melakukan semuanya dengan benar, maka akan ada menu pemilihan boot seperti ini:

Memperluas Fungsionalitas WDS: Menambahkan Kemampuan Booting UEFI

Jika Anda sudah menyiapkan alat dasar dan tidak mau repot dengan konfigurasinya, maka dibutuhkan waktu sekitar 10-20 menit untuk mengimplementasikan fitur ini.
Butuh waktu 2 hari kerja, karena. Saya harus banyak mencari di Google.

Implementasi yang sukses!

Terima kasih atas perhatian Anda dan terima kasih banyak kepada orang-orang yang artikelnya membantu saya!
Di HabrΓ© itu adalah: Ingtar ΠΈ kota dalam.

Sumber: www.habr.com

Tambah komentar