Hei!
Denne artikkelen beskriver trinnene du må følge for å legge til UEFI-oppstartsevne til WDS.
De. Instruksjonene i denne artikkelen forutsetter at du allerede har følgende konfigurasjon:
1. Windows Server 2012R2 (или новее)
2. Полностью настроенный DHCP для работы с WDS
3. Собственно сам WDS
4. IIS
5. Виртуальная машина или ПК с Ubuntu
Her er også beskrevet handlinger som ikke ga meg det riktige resultatet.
Jeg beskrev dem for å lette søket og spare tid.
Forord
Jeg har laget en WDS på jobb med mye snadder, tk. lei av å hele tiden løpe rundt med en haug med flash-stasjoner og overskrive dem.
Disse artiklene hjalp meg forresten:
Og alt var bra, nye bilder ble lagt til for lasting, winPE-bildet ble overgrodd med nye funksjoner og alt fungerte.
Men langt fra alle enheter støtter BIOS / Legacy-oppstartsmodus, eller hvis de gjør det, kan inkluderingen være på et veldig ikke-åpenbart sted.
Ja, og å installere vinduer i eldre modus, når det er mulig å installere i UEFI, er ikke kult.
Som et resultat bestemte jeg meg for å legge til muligheten til å starte opp i UEFI, og gikk til Google.
Men jeg fant ikke strukturert informasjon om hvordan jeg får en fungerende WDS + UEFI.
Det er faktisk derfor jeg bestemte meg for å skrive denne artikkelen.
Før jeg starter skal jeg beskrive problemet som tok mest tid.
Når du legger til UEFI til WDS, er følgende, ganske uopplagte situasjon mulig:
Hvis du legger til en oppstartsfil til WDS og når du prøver å starte opp på enheten
i UEFI ser du følgende tekst:
The selected boot device failed. Press <Enter> to Continue.
eller Boot Device Not Found
Men lasting i arv fungerer for deg.
Da er et av de mulige alternativene fraværet av en fil wdsmgfw.efi,
langs følgende sti: %WDSpath%Bootx64wdsmgfw.efi
Du kan ta det her: C:WindowsSystem32RemInstbootx64wdsmgfw.efi
Eller, hvis denne filen av en eller annen grunn mangler for deg, la jeg den ut på
For denne løsningen, takk folkens fra
Med dette problemet drepte jeg mest tid, fordi. Jeg trodde problemet var et sted i WDS- eller DHCP-konfigurasjonen.
Konfigurerte policyer ved å legge til leverandørklasser for ulike arkitekturer, og konfigurere DHCP-alternativer 060, 066, 067.
Arkitekturer i ASCII for å konfigurere DHCP
PXEClient:Arch:00000 - BIOS/Legacy
PXEClient:Arch:00006 - UEFI x86
PXEClient:Arch:00007 - UEFI x64
Jeg prøvde også forskjellige alternativer for oppstartsfiler. .efi
- syslinux
- grub 2
Jeg prøvde også å finne problemet i hendelsesloggen.
win + r -> eventvwr -> Журналы приложений и служб -> Microsoft -> Windows -> Deployment-Services-Diagnostics
Men, som jeg sa ovenfor, lå problemet i filen wdsmgfw.efi.
Enten slettet jeg det ved et uhell selv, eller så ble det ikke kopiert under installasjonen
og konfigurere WDS.
Vel, la oss komme i gang!
Instruksjon
Trinn 1 - Bekreft at WDS fungerer
Ta en hvilken som helst enhet eller virtuell maskin med støtte for oppstart i UEFI-modus over nettverket og prøv å starte opp.
Du bør ha følgende bilde:
I så fall, flott, du kan fortsette.
Hvis ikke, så se hva jeg skrev i forordet.
Trinn 2 - Bygging av iPXE Boot File
Vi lanserer forhåndsforberedt Ubuntu, åpner en terminal og limer inn denne linjen:
git clone https://git.ipxe.org/ipxe.git ipxe
Her vil jeg komme med en liten bemerkning om at du kanskje må legge til pakker til Ubuntu som er nødvendige for å kompilere C og C++.
Jeg har bare installert dem.
Lastet ned? - Flott!
Nå må du lage en konfigurasjonsfil for sammenstillingen.
I terminalen skriver vi:
cd ipxe/src
gedit chain.ipxe
Og lim inn følgende kode i denne filen, og lagre deretter:
#!ipxe
dhcp
chain http://%IP-address-your-IIS-server%/install.ipxe
Vi går tilbake til terminalen og starter kompileringen:
make bin-x86_64-efi/ipxe.efi EMBED=chain.ipxe
Hvis alt er i orden, bør du få følgende utgang i terminalen:
Og fil ipxe.efi, langs veien: ipxe/src/bin-x86_64-efi/ipxe.efi
Hvis du av en eller annen grunn ikke kan kompilere på egen hånd,
Jeg har lagt ved min
Den er kompilert for å starte opp fra http://192.168.0.100/install.ipxe
Det er alt for Ubuntu.
Trinn 3 - Legge til ipxe.efi til WDS
Vi tar filen som vi mottok i andre trinn og kopierer den underveis:
%WDSpath%Bootx64%your-boot-folder%EFIBOOT
Etter at vi omdøpte den til BOOTX64.EFI.
Det er ikke nødvendig, det er bare mer praktisk.
Så lanserer vi cmd på vegne av 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 angi at den resulterende filen skal lastes ned via WDS.
La oss sjekke konfigurasjonen:
wdsutil /get-server /Show:Config
Jeg kopierte også ipxe.efi-filen, ga den nytt navn til BOOTIA32.EFI og konfigurerte oppstart for den, for sikkerhets skyld. architecture:x86uefi
Men i det store og hele gir dette ingen mening, fordi. Bootmgfw.efi-filen støtter ikke x86
La oss sjekke hva som skjedde.
Flott, WDS sender filen vår for nedlasting, og den ser på sin side etter konfigurasjonen langs stien: http://192.168.0.100/install.ipxe
Trinn 4 - Menykonfigurasjon
Gå til rotmappen på nettstedet ditt.
Standard er: C:inetpubwwwroot
Lag en tekstfil install.ipxe.
og konfigurer den i henhold til
Det er også et russisk språk
Jeg likte
install.ipxe-konfigurasjonseksempel
#!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 lese om konfigurasjonen for lasting av winPE
Trinn 5 - MIME-typer
Etter å ha opprettet menyen og lagt til alle nødvendige filer til IIS-rotmappen,
du må gi dem tilgang.
Fordi selv om du prøver å laste ned en fil fra nettleseren, vil du få en feilmelding på adressen: HTTP 404.3 - Not Found
.
For å gjøre dette, må du legge til MIME-typer i IIS-kontrollpanelet, i samsvar
med filutvidelser som du vil laste ned via http.
Jeg så ikke etter hvilken MIME-type som er best for dette formålet, og spurte application/octet-stream
, hvoretter alt fungerte.
For filer som ikke har en filtype, bruk en prikk.
Her så:
Konklusjon
Til syvende og sist får vi muligheten til å starte opp over et lokalt nettverk gjennom UEFI.
Hvis vi gjorde alt riktig, vil det være noe sånt som denne oppstartsvalgmenyen:
Hvis du har forberedt de grunnleggende verktøyene og du ikke vil bry deg med konfigurasjonen, tar det omtrent 10-20 minutter å implementere denne funksjonen.
Det tok meg 2 arbeidsdager, pga. Jeg måtte google mye.
Vellykket implementering!
Takk for oppmerksomheten og tusen takk til de menneskene hvis artikler hjalp meg!
På Habré er det:
Kilde: www.habr.com