IT Geek De Network Win Boot (PXE) de WinPE Recovery Disk met PXElinux v5 & Wimboot
Heb je ooit gewenst dat je de "Windows Recovery Console" kon draaien voor die ene onderhoudsprocedure of -programma dat je wilt gebruiken, zonder je te hoeven herinneren waar je de CD bent vergeten? HTG legt uit hoe WinPE op te starten van PXE.
Fotocredit: Alfred Hermida via Compfight cc
Windows Pre-execution omgeving (WinPE) is de versie van Windows die de meeste mensen kennen als degene die opstart van de installatie-CD. In de loop der jaren zijn hele projecten gemaakt om iemand de mogelijkheid te geven een soort "Windows Live" -omgeving te hebben zoals vele Linux-distro's. In deze handleiding zullen we de windows PE van de installatie-cd opstarten van PXE, zodat we het kunnen gebruiken om het Dell BIOS-updateprogramma uit te voeren. Je wordt aangemoedigd om door te gaan met het verkennen van deze bodemloze put van geek-goedheid ...
Overzicht
We hebben je laten zien wat PXE is en hoe je er gemakkelijk een server voor kunt installeren (en nog veel meer) met FOG, vandaag zullen we nog een andere extensie toevoegen aan FOG. Over het algemeen zal de procedure van vandaag zijn:
- Update PXElinux naar v5.01 of hoger, als dit nog niet is gebeurd.
- Voeg de wimboot-module toe.
- Kopieer de WIM-afbeelding en ondersteunende bestanden van de Windows installatie-cd.
- Voeg het menu-item toe.
- Gebruik de geïndexeerde WinPE om een werkende "Windows-herstelconsole" te krijgen.
We gaan het bovenstaande doen, omdat het gaan van de "gewone" Windows Automated Installation Kit (WAIK) manier je op zijn best dwingt om het op je machine te installeren en een niet zo eenvoudig proces doorloopt om het WIM-bestand en zijn ondersteuning te mangeliseren bestanden in hun WDS / RIS-formulier. Hoewel er Linux-alternatieven bestaan, zoals de enige van het UDA-project (de PXE-server die ik eerder gebruikte voor FOG), vervang je op deze manier eenvoudig enkele bestanden op de PXE-server (die je waarschijnlijk toch ooit zou hebben) en kopieer de ongewijzigde WIM-bestanden en ondersteuningsbestanden rechtstreeks van de Windows-CD naar de PXE-server.
Het enige ding om op te merken, is dat hoewel het erop lijkt dat je de Windows-installatieprocedure op deze manier kunt starten, je het eigenlijk niet kunt voltooien, en dat dit mogelijk maken buiten het bestek van deze gids valt.
Laten we kraken :)
Update PXElinux naar V5.01
Vanaf de tijd van dit schrijven is de versie van Syslinux in de Ubuntu-repository nog 4.05. Ik vermoed dat dit komt omdat het Syslinux-team besloot om de zaken met de V5-tak op te schrikken en de manier waarop hun COM32-modules werken (nu gebaseerd op ELF) te veranderen en de "kern" te veranderen in een bibliotheek (ldlinux.c32) voor iets voorbij "pure boot". Dit maakt het heel goed mogelijk om een breuk te ervaren, voor iedereen die gewend is aan de "oude manier". Maak je geen zorgen, we zullen de vereiste bestanden handmatig downloaden en ervoor zorgen dat je FOG-installatie geen moment verloren gaat.
We zullen versie 5.01 gebruiken omdat dit het nieuwste is stal release van de V5-filiaal ten tijde van dit schrijven en het is diegene waarop het Syslinux-team samen met het wimboot-team heeft gewerkt om deze specifieke procedure te laten werken.
Notitie: Een andere reden dat de nieuwste versie nog geen deel uitmaakt van de Ubuntu-repository (IMHO), is dat de HVM-gasten op zijn minst op Citrix-Xen niets buiten de PXE-menu's kunnen opstarten. Andere hypervisors zoals VMware, Hyper-V & VirtualBox, evenals fysieke machines zijn prima met de nieuwe versie.
Als de bovenstaande opmerking geen invloed op u heeft, gaat u verder.
Verkrijg versie 5.01 van PXElinux rechtstreeks van Kernel.org en pak het uit op de FOG-server door:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2
tar xvhf syslinux-5.01.tar.bz2
Maak de map met de nieuw benodigde bibliotheken:
mkdir -p / tftpboot / howtogeek / libs
Kopieer de vereiste bibliotheekbestanden naar deze map, zodat ze tijdens runtime beschikbaar zijn voor de clients:
cp -av syslinux-5.01 / com32 / lib / libcom32.c32 / tftpboot / howtogeek / libs /
cp -av syslinux-5.01 / com32 / libutil / libutil.c32 / tftpboot / howtogeek / libs /
cp -av syslinux-5.01 / com32 / modules / linux.c32 / tftpboot / howtogeek / libs /
Voeg het "pad" toe aan deze map, aan het reeds bestaande "standaard" configuratiebestand, door het te bewerken of door het onderstaande uit te geven:
echo "PATH howtogeek / libs" >> /tftpboot/pxelinux.cfg/default
Kopieer de nieuw benodigde ldlinux.c32 naar de root van de TFTP-server door het volgende uit te geven:
cp -av syslinux-5.01 / com32 / elflink / ldlinux / ldlinux.c32 / tftpboot /
Werk de grafische engine (vesamenu.c32) bij met deze nieuwe versie:
cp -av syslinux-5.01 / com32 / menu / vesamenu.c32 / tftpboot /
Gefeliciteerd, je PXE-server is nu bijgewerkt naar v5.01 en alles wat al aan het werken was (tenzij je de "noot" hebt vanaf het begin van dit segment) moet dit blijven doen.
WIMboot
Deze bootloader maakt deel uit van het iPXE-project en ze beschrijven het als volgt:
wimboot
is een bootloader voor Windows Imaging Format (.wim
) bestanden. Hiermee kunt u een Windows PE (WinPE) -omgeving opstarten vanaf een RAM-schijf, zonder het geheugen te verspillen dat wordt gebruikt voor de RAM-schijfkopie.
Download de nieuwste versie van hun site:
wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
Installeer unzip op uw FOG-server als deze ontbreekt:
aptitude install unzip
Pak het wimboot-pakket uit:
unzip wimboot-latest.zip
Kopieer de wimboot-module naar de map "libs" die we in het vorige segment hebben gemaakt:
cp -va wimboot * / wimboot / tftpboot / howtogeek / libs /
Dat is alles. De bootloader van wimboot is klaar om te worden aangeroepen.
Windows CD-bestanden
Maak een nieuwe map op de FOG-server om de bestanden vast te houden die we willen kopiëren:
mkdir -p / tftpboot / howtogeek / WinPE /
Plaats de originele Windows 7-installatie-CD in uw CD-ROM-station en kopieer de onderstaande bestanden naar deze map:
\ bootmgr
\ Boot \ bcd
\ Boot \ boot.sdi
\ Sources \ boot.wim
Ja, zo simpel is het en het is niet nodig om de mapstructuur op de CD te behouden om dit te laten werken.
Opmerking: om de Dell BIOS-updates te laten werken, heb ik vastgesteld dat het nodig is om een 32-bits versie van Windows te gebruiken.
Voeg het menu-item toe
Maak het PXE-menu-item door het menu "Utils" te bewerken:
sudo vim /tftpboot/howtogeek/menus/utils.cfg
Voeg het als volgt toe:
label WinPE
com32 linux.c32 howtogeek / libs / wimboot
APPEND: wimboot initrdfile = / howtogeek / WinPE / bootmgr, / howtogeek / WinPE / bcd, / howtogeek / WinPE / boot.sdi, / howtogeek / WinPE / boot.wim
Gefeliciteerd, u hebt nu WindowsPE op uw PXE-server. :)
Opmerking: het lijkt misschien dat het in het "wim" -bestand hangt, maar dat is het niet. Het zet de 140MB van een bestand over naar de client via TFTP, wat langer duurt dan de meestal kleine bestanden die op deze manier worden overgebracht.
Hier is het screenshot om te bewijzen dat het is gebeurd.
De bovenstaande VM werd uitgevoerd met behulp van de VMware-speler, had Ubuntu geïnstalleerd op zijn HD en werd PXE opgestart in WinPE.
Windows Herstelconsole
Nogmaals, zoals vermeld in het overzicht, lijkt het erop dat je de Windows-installatieprocedure op deze manier kunt starten, maar je kunt het eigenlijk niet voltooien en het maken ervan is buiten het bestek van deze gids.
Met dat gezegd, om een voorbeeld te geven waarom dit nuttig zou zijn, zullen we deze omgeving gebruiken om een Dell BIOS-update uit te voeren.
Ontvang de update die u nodig hebt om uit te voeren vanaf de website van Dell en zet deze op een schijf-op-sleutel. Zet de Disk on key op en PXE start de client op.
Om de herstelconsole te bereiken, klikt u in het hoofdvenster zoals in de bovenstaande schermafbeelding op "Volgende".
Klik op "Herstel uw computer".
Kies "Gebruik herstelhulpmiddelen" en klik op "Volgende".
Klik op "Opdrachtprompt".
Als u eenmaal in de opdrachtprompt bent, moet u weten welke "stationsletter" WinPE heeft besloten aan te geven aan uw Disk-on-Key. Om dit te doen, moet het systeem alle momenteel toegewezen stationsletters opsommen door het volgende uit te geven:
wmic logicaldisk krijgt naam
Nu met uitzondering van de letters A: en X: en misschien zelfs C: (hoewel het geen gegeven is), doorloop je de stationsletters en zoek je naar de Disk-on-Key door het volgende uit te geven:
stationsletter:
dir
Zodra u de juiste schijf hebt gevonden, voert u het bestand uit en ziet u ongeveer het volgende:
Gefeliciteerd, je bent helemaal klaar om te upgraden :)
Ik ken Kung Fu ...