Hej alle!
Denne artikel beskriver de trin, du skal følge for at tilføje UEFI-opstartskapacitet til din WDS.
De der. Instruktionerne i denne artikel forudsætter, at du allerede har følgende konfiguration:
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
Her er også beskrevet handlinger, der ikke gav mig det rigtige resultat.
Jeg beskrev dem for at lette søgningen og spare tid.
Forord
Jeg lavede en WDS på arbejdet med en masse lækkerier, tk. træt af konstant at rende rundt med en masse flashdrev og overskrive dem.
Disse artikler hjalp mig i øvrigt:
Og alt var fint, nye billeder blev tilføjet til indlæsning, winPE-billedet var overgroet med nye funktioner, og alt fungerede.
Men langt fra alle enheder understøtter BIOS / Legacy-starttilstanden, eller hvis de gør det, kan dens inklusion være et meget ikke-oplagt sted.
Ja, og at installere windows i ældre tilstand, når det er muligt at installere i UEFI, er ikke fedt.
Som et resultat besluttede jeg at tilføje muligheden for at starte op i UEFI og gik til Google.
Men jeg fandt ikke struktureret information om, hvordan man får en fungerende WDS + UEFI.
Det er faktisk derfor, jeg besluttede at skrive denne artikel.
Inden jeg starter, vil jeg beskrive det problem, der tog mest tid.
Når du tilføjer UEFI til WDS, er følgende, ret ikke-indlysende situation mulig:
Hvis du tilføjer en boot-fil til WDS, og når du prøver at starte på enheden
i UEFI ser du følgende tekst:
The selected boot device failed. Press <Enter> to Continue.
eller Boot Device Not Found
Men indlæsning i arv fungerer for dig.
Så er en af de mulige muligheder fraværet af en fil wdsmgfw.efi,
ad følgende vej: %WDSpath%Bootx64wdsmgfw.efi
Du kan tage den her: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Eller hvis denne fil af en eller anden grund mangler for dig, har jeg lagt den op
For denne løsning, tak fyre fra
Med dette problem dræbte jeg mest tid, fordi. Jeg troede, at problemet var et sted i WDS- eller DHCP-konfigurationen.
Konfigurerede politikker ved at tilføje leverandørklasser til forskellige arkitekturer og indstille DHCP-indstillinger 060, 066, 067.
Arkitekturer i ASCII til konfiguration af DHCP
PXEClient:Arch:00000 - BIOS/Legacy
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64
Jeg prøvede også forskellige muligheder for boot-filer. .efi
- syslinux
- grub 2
Jeg forsøgte også at finde problemet i hændelsesloggen.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics
Men, som jeg sagde ovenfor, lå problemet i filen wdsmgfw.efi.
Enten slettede jeg det selv ved et uheld, eller også blev det ikke kopieret under installationen
og konfiguration af WDS.
Nå, lad os komme i gang!
Instruktion
Trin 1 - Bekræft, at WDS virker
Tag en hvilken som helst enhed eller virtuel maskine med understøttelse af opstart i UEFI-tilstand over netværket, og prøv at starte.
Du skal have følgende billede:
Hvis ja, godt, du kan fortsætte.
Hvis ikke, så se hvad jeg skrev i forordet.
Trin 2 - Opbygning af iPXE-startfilen
Vi lancerer forudforberedt Ubuntu, åbner en terminal og indsætter denne linje:
git clone https://git.ipxe.org/ipxe.git ipxe
Her vil jeg gerne komme med en lille bemærkning om, at du muligvis skal tilføje pakker til Ubuntu, som er nødvendige for at kompilere C og C++.
Jeg har dem lige installeret.
Downloadet? - Store!
Nu skal du lave en konfigurationsfil til samlingen.
I terminalen skriver vi:
cd ipxe/src
gedit chain.ipxe
Og indsæt følgende kode i denne fil, og gem derefter:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe
Vi går tilbage til terminalen og starter kompileringen:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
Hvis alt er i orden, skal du få følgende output i terminalen:
Og fil ipxe.efi, langs vejen: ipxe/src/bin-x86_64-efi/ipxe.efi
Hvis du af en eller anden grund ikke kan kompilere på egen hånd,
Jeg har vedhæftet min
Den er kompileret til at starte fra http://192.168.0.100/install.ipxe
Det er alt for Ubuntu.
Trin 3 - Tilføjelse af ipxe.efi til WDS
Vi tager filen, som vi modtog i anden fase, og kopierer den undervejs:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Efter at vi har omdøbt det til BOOTX64.EFI.
Det er ikke nødvendigt, det er bare mere bekvemt.
Så starter vi cmd på vegne af administratoren, og skriv følgende kommandoer:
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
Dette vil indstille den resulterende fil til at blive downloadet via WDS.
Lad os tjekke konfigurationen:
wdsutil /get-server /Show:Config
Jeg kopierede også filen ipxe.efi, omdøbte den til BOOTIA32.EFI og konfigurerede boot til den, for en sikkerheds skyld. architecture:x86uefi
Men i det store og hele giver det ingen mening, pga. Bootmgfw.efi-filen understøtter ikke x86
Lad os tjekke, hvad der skete.
Fantastisk, WDS sender vores fil til download, og den leder til gengæld efter konfigurationen langs stien: http://192.168.0.100/install.ipxe
Trin 4 - Menukonfiguration
Gå til rodmappen på dit websted.
Standard er: C:inetpubwwwroot
Opret en tekstfil install.ipxe.
og konfigurer det iht
Der er også et russisk sprog
Jeg nød
install.ipxe-konfigurationseksempel
#!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
Du kan læse om konfigurationen for indlæsning af winPE
Trin 5 - MIME-typer
Efter at have oprettet menuen og tilføjet alle de nødvendige filer til IIS-rodmappen,
du skal give dem adgang.
Fordi selvom du prøver at downloade en fil fra browseren, får du en fejlmeddelelse på dens adresse: HTTP 404.3 - Not Found
.
For at gøre dette skal du tilføje MIME-typer i IIS-kontrolpanelet i overensstemmelse med dette
med filtypenavne, som du vil downloade via http.
Jeg kiggede ikke efter, hvilken MIME-type der er bedst til dette formål, og spurgte application/octet-stream
, hvorefter alt virkede.
For filer, der ikke har en filtypenavn, skal du bruge en prik.
Her så:
Konklusion
I sidste ende får vi muligheden for at starte op over et lokalt netværk gennem UEFI.
Hvis vi gjorde alt korrekt, så vil der være noget som denne bootvalgsmenu:
Hvis du har forberedt de grundlæggende værktøjer, og du ikke vil genere konfigurationen, tager det omkring 10-20 minutter at implementere denne funktion.
Det tog mig 2 arbejdsdage, pga. Jeg skulle google meget.
Succesfuld implementering!
Tak for din opmærksomhed og mange tak til de mennesker, hvis artikler hjalp mig!
På Habré er det:
Kilde: www.habr.com