IT Geek Hur Network Boot (PXE) WinPE Recovery Disk med PXElinux v5 & Wimboot
Har du någonsin velat att du kan få "Windows Recovery Console" att köras för det enda underhållsprocessen eller programmet du vill använda utan att behöva komma ihåg var du har glömt cd: n? HTG förklarar hur man startar WinPE från PXE.
Fotokredit: Alfred Hermida via Compfight cc
Windows Pre-execution-miljö (WinPE) är den version av Windows som de flesta vet som den som stöter på installations-cd: n. Under åren har hela projekt skapats för att ge en möjlighet att ha en slags "Windows Live" -miljö som många Linux distros. I den här guiden kommer vi att ha Windows PE från installationsskivan från PXE, så vi kan använda den för att köra Dell BIOS-uppdateringsverktyget. Du uppmanas att fortsätta utforskningen av denna bottenlösa gropen av nörd godhet ...
Översikt
Vi har visat dig vad PXE är och hur du enkelt kan installera en server för den (och mycket mer) med FOG, idag lägger vi till ytterligare en tillägg till FOG. I allmänhet kommer dagens procedur att vara:
- Uppdatera PXElinux till v5.01 eller senare, om inte redan installerat.
- Lägg till wimboot-modulen.
- Kopiera WIM-bilden och stödja filer från Windows-installations-cd: n.
- Lägg till menyalternativet.
- Använd den uppstartade WinPE för att få en fungerande "Windows Recovery Console".
Vi kommer att göra det ovanstående, eftersom det går att installera det på din maskin i bästa fall på det vanliga Windows Automated Installation Kit (WAIK) sättet och genomföra en inte så enkel process för att mangla WIM-filen och dess stöd filer i deras WDS / RIS-formulär. Medan Linux-alternativ finns existerar, liksom UDA-projektet, ett (vilket är PXE-servern som jag använde innan FOG kom med), så använder du på det här sättet helt enkelt några filer på PXE-servern en gång (vilket du förmodligen skulle ha så småningom) och kopiera oförändrad WIM-fil och stödfiler direkt från Windows-cd: n till PXE-servern.
Den enda sak att notera är att medan det kommer att se ut som om du kan starta Windows-installationsproceduren så kan du faktiskt inte slutföra det, och det gör det möjligt att gå utanför ramen för denna guide.
Låt oss knäcka :)
Uppdatera PXElinux till V5.01
Från och med det här skrivandet är versionen av Syslinux i Ubuntu-förvaret fortfarande 4,05. Jag antar att detta beror på att Syslinux-teamet bestämde sig för att skaka upp saker med V5-filialen och har ändrat hur deras COM32-moduler fungerar (nu baserat på ELF) och ändrade "kärnan" för att kräva ett bibliotek (ldlinux.c32) för något bortom "ren boot". Detta gör det mycket möjligt att stöta på brott, för alla som är vana vid den "gamla vägen". Oroa dig inte, vi laddar ner de obligatoriska filerna manuellt och gör det så att din FOG-installation inte förlorar ett slag.
Vi kommer att använda version 5.01 som det är senast stabil frisläppande från V5-filialen vid tidpunkten för detta skrivande och det är det som Syslinux-teamet arbetade tillsammans med wimbootlaget för att göra detta specifika arbetssätt.
Notera: En annan anledning till att den senaste versionen inte ingår i Ubuntu-depotet (IMHO), är att det åtminstone på Citrix-Xen kan HVM-gästerna inte starta något utöver PXE-menyerna. Andra hypervisorer som VMware, Hyper-V & VirtualBox, samt fysiska maskiner är bara bra med den nya versionen.
Om anteckningen ovan inte påverkar dig, fortsätt.
Hämta version 5.01 av PXElinux direkt från Kernel.org och extrahera den på FOG-servern genom att:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2
tjära xvhf syslinux-5.01.tar.bz2
Skapa katalogen som innehåller de nybörjda biblioteken:
mkdir -p / tftpboot / howtogeek / libs
Kopiera de obligatoriska biblioteksfilerna till den här katalogen, så de kommer att vara tillgängliga för klienterna vid körning:
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 / moduler / linux.c32 / tftpboot / howtogeek / libs /
Lägg till "sökvägen" i den här katalogen, till den redan existerande "standard" konfigurationsfilen, genom att antingen redigera den eller utfärda nedan:
eko "PATH howtogeek / libs" >> /tftpboot/pxelinux.cfg/default
Kopiera den nyligen nödvändiga ldlinux.c32 till roten till TFTP-servern genom att utfärda:
cp -av syslinux-5.01 / com32 / elflink / ldlinux / ldlinux.c32 / tftpboot /
Uppdatera den grafiska motorn (vesamenu.c32) för att motsvara den här nya versionen:
cp -av syslinux-5.01 / com32 / meny / vesamenu.c32 / tftpboot /
Grattis, din PXE-server uppdateras nu till v5.01 och allt som redan fungerade (om du inte påverkas av "noten" från början av det här segmentet) ska fortsätta att göra det.
WIMboot
Denna bootloader är en del av iPXE-projektet och de beskriver det som så:
wimboot
är en startläsare för Windows Imaging-format (.wim
) filer. Det gör att du kan starta en Windows PE (WinPE) miljö från en RAM-skiva, utan att slösa bort det minne som används för RAM-skivavbildningen.
Ladda ner den senaste versionen från deras hemsida:
wget http://git.ipxe.org/releases/wimboot/wimbootlattest.zip
Installera unzip på din FOG-server om det saknas:
aptitude installera unzip
Unzip wimboot-paketet:
Unzip wimbootlattest.zip
Kopiera wimboot-modulen till katalogen "libs" som vi skapade i föregående segment:
cp -va wimboot * / wimboot / tftpboot / howtogeek / libs /
Det är allt. Wimboot bootloader är redo att bli uppmanad.
Windows-CD-filer
Skapa en ny katalog på FOG-servern för att hålla filerna vi ska kopiera över:
mkdir -p / tftpboot / howtogeek / WinPE /
Sätt den ursprungliga Windows 7-installations-cd-skivan i din CD-ROM-enhet och kopiera filerna som anges nedan i den här katalogen:
\ bootmgr
\ Boot \ bcd
\ Boot \ boot.sdi
\ sources \ boot.wim
Ja, det är så enkelt och du behöver inte behålla katalogstrukturen på cd-skivan för att detta ska fungera.
Obs! För att kunna uppdatera Dell BIOS-uppdateringar har jag funnit det nödvändigt att använda en 32-bitarsversion av Windows.
Lägg till menyalternativet
Skapa menyn PXE-menyn genom att redigera menyn "Utils":
sudo vim /tftpboot/howtogeek/menus/utils.cfg
Lägg till följande:
etikett WinPE
com32 linux.c32 howtogeek / libs / wimboot
APPEND wimboot initrdfile = / howtogeek / WinPE / bootmgr, / howtogeek / WinPE / bcd, / howtogeek / WinPE / boot.sdi, / howtogeek / WinPE / boot.wim
Grattis, Du har nu WindowsPE på din PXE-server. :)
Obs! Det kan se ut som att det hänger på "wim" -filen, men det är det inte. Det överför faktiskt 140 MB av en fil till klienten över TFTP, vilket tar längre tid än de vanligtvis små filer som överförs på det här sättet.
Här är skärmdumpen för att bevisa att det hände.
VM ovan, kördes med hjälp av VMware-spelare, hade Ubuntu installerad på sin HD och startades PXE i WinPE.
Windows Recovery Console
Återigen, som nämnts i översikten, medan det ser ut som om du kan starta Windows-installationsproceduren på det här sättet, kan du faktiskt inte slutföra det, och gör det möjligt ligger utanför ramen för denna guide.
Med det sagt, bara för att ge ett exempel på varför detta skulle vara användbart, kommer vi att använda denna miljö för att utföra en Dell BIOS-uppdatering.
Få den uppdatering du behöver utföra från Dells webbplats och sätt den på en Disk-On-Key. Sätt på skivan på tangenten och PXE startar klienten.
För att nå återställningskonsolen i huvudfönstret som i skärmbilden ovan klickar du på "Nästa".
Klicka på "Reparera din dator".
Välj "Använd återställningsverktyg" och klicka på "Nästa".
Klicka på "Command Prompt".
En gång i kommandotolken måste du ta reda på vilken "drivbrev" WinPE bestämde sig för att ange till din Disk-on-Key. För att göra detta, anteckna systemet alla de aktuella tilldelade drivstegen genom att utfärda:
wmic logicaldisk få namn
Nu exkluderar du bokstäverna A: och X: och kanske till och med C: (även om det inte är en given), cykla genom skrivbrev och leta efter Disk-on-Key genom att utfärda:
enhetsbeteckning:
dir
När du har hittat rätt enhet, kör filen och du bör se något som nedan:
Grattis, du är redo att uppgradera :)
Jag vet Kung Fu ...