IT Geek How to Network Boot (PXE) il disco di ripristino di WinPE con PXElinux v5 e Wimboot
Hai mai desiderato di poter ottenere la "Console di ripristino di emergenza di Windows" in esecuzione per quella procedura di manutenzione o il programma che desideri utilizzare, senza dover ricordare dove hai dimenticato il CD? HTG spiega come avviare WinPE da PXE.
Credito fotografico: Alfred Hermida tramite Compfight cc
Ambiente di pre-esecuzione di Windows (WinPE) è la versione di Windows che la maggior parte delle persone conosce come quella che si avvia dal CD di installazione. Nel corso degli anni, sono stati creati interi progetti per dare la possibilità di avere una sorta di ambiente "Windows Live" come molte distribuzioni Linux. In questa guida, avremo Windows PE dall'avvio del CD di installazione da PXE solo per consentirci di eseguire l'utilità di aggiornamento del BIOS di Dell. Sei incoraggiato a continuare l'esplorazione di questo pozzo senza fondo di bontà geek ...
Panoramica
Ti abbiamo mostrato cos'è PXE e come puoi installare facilmente un server per questo (e molto altro) con FOG, oggi aggiungeremo un'altra estensione a FOG. Generalmente la procedura di oggi sarà:
- Aggiorna PXElinux alla v5.01 o successiva, se non è già installata.
- Aggiungi il modulo wimboot.
- Copia l'immagine WIM e i file di supporto dal CD di installazione di Windows.
- Aggiungi la voce di menu.
- Utilizzare il WinPE avviato per ottenere una "Console di ripristino di Windows" funzionante.
Faremo quanto sopra, perché il "normale" Windows Automated Installation Kit (WAIK) ti obbliga, nel migliore dei casi, a installarlo sulla tua macchina e ad attraversare un processo non così semplice da manipolare il file WIM e il suo supporto file nel loro modulo WDS / RIS. Mentre esistono alternative Linux, come quella del progetto UDA (che è il server PXE che ho usato prima dell'arrivo di FOG), usando in questo modo si sostituiscono semplicemente alcuni file sul server PXE una volta (cosa che probabilmente avresti comunque alla fine) e copia il file WIM inalterato e file di supporto direttamente dal CD di Windows nel server PXE.
L'unica cosa da notare, è che mentre sembrerà possibile avviare la procedura di installazione di Windows in questo modo, in realtà non è possibile completarlo, e rendere possibile ciò va oltre lo scopo di questa guida.
Consente di ottenere cracking :)
Aggiorna PXElinux a V5.01
Al momento della stesura di questo articolo, la versione di Syslinux nel repository di Ubuntu è ancora 4.05. Suppongo che questo sia dovuto al fatto che il team di Syslinux ha deciso di scuotere le cose con il ramo V5 e hanno cambiato il modo in cui i loro moduli COM32 funzionano (ora basato su ELF) e cambiato il "core" per richiedere una libreria (ldlinux.c32) per nulla al di là di "puro stivale". Questo rende molto possibile incontrare rotture, per chiunque sia abituato al "vecchio modo". Non preoccuparti, scaricheremo manualmente i file richiesti e fare in modo che la tua installazione FOG non perda un battito.
Useremo la versione 5.01 poiché è l'ultima stabile rilasciato dal ramo V5 al momento della stesura di questo articolo ed è quello su cui il team Syslinux ha lavorato insieme al team di Wimboot per far funzionare questa procedura specifica.
Nota: Un altro motivo per cui l'ultima versione non è ancora parte del repository di Ubuntu (IMHO), è che almeno su Citrix-Xen, gli ospiti HVM non possono avviare nulla oltre ai menu PXE. Altri hypervisor come VMware, Hyper-V e VirtualBox, così come le macchine fisiche, stanno bene con la nuova versione.
Se la nota sopra non ti riguarda, procedi.
Ottieni la versione 5.01 di PXElinux direttamente da Kernel.org ed estraila sul server FOG:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2
tar xvhf syslinux-5.01.tar.bz2
Crea la directory che manterrà le nuove librerie richieste:
mkdir -p / tftpboot / howtogeek / libs
Copia i file della libreria richiesti in questa directory, in modo che siano disponibili per i client in fase di runtime:
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 /
Aggiungi il "percorso" a questa directory, al file di configurazione "predefinito" già esistente, modificandolo o emettendo quanto segue:
echo "PATH howtogeek / libs" >> /tftpboot/pxelinux.cfg/default
Copiare il nuovo ldlinux.c32 richiesto nella root del server TFTP emettendo:
cp -av syslinux-5.01 / com32 / elflink / ldlinux / ldlinux.c32 / tftpboot /
Aggiorna il motore grafico (vesamenu.c32) per corrispondere a questa nuova versione:
cp -av syslinux-5.01 / com32 / menu / vesamenu.c32 / tftpboot /
Congratulazioni, il tuo server PXE è ora aggiornato alla v5.01 e tutto ciò che già funzionava (a meno che tu non sia influenzato dalla "nota" dall'inizio di questo segmento) dovrebbe continuare a farlo.
WIMboot
Questo bootloader fa parte del progetto iPXE e lo descrivono in questo modo:
wimboot
è un boot loader per Windows Imaging Format (.Wim
) File. Consente di avviare un ambiente Windows PE (WinPE) da un disco RAM, senza sprecare la memoria utilizzata per l'immagine del disco RAM.
Scarica l'ultima versione dal loro sito:
wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
Installa unzip sul tuo server FOG se manca:
aptitude install decomprime
Decomprimere il pacchetto wimboot:
decomprimere wimboot-latest.zip
Copia il modulo wimboot nella directory "libs" che abbiamo creato nel segmento precedente:
cp -va wimboot * / wimboot / tftpboot / howtogeek / libs /
Questo è tutto. Il bootloader di wimboot è pronto per essere chiamato.
File CD di Windows
Crea una nuova directory sul server FOG per contenere i file che copieremo:
mkdir -p / tftpboot / howtogeek / WinPE /
Inserisci il CD di installazione di Windows 7 originale nell'unità CD-ROM e copia i file elencati di seguito in questa directory:
\ bootmgr
\ Boot \ bcd
\ Boot \ boot.sdi
\ sources \ boot.wim
Si, è così semplice e non è necessario mantenere la struttura della directory sul CD perché funzioni.
Nota: per far funzionare gli aggiornamenti del BIOS Dell, ho trovato necessario utilizzare una versione di Windows a 32 bit.
Aggiungi la voce di menu
Crea la voce del menu PXE modificando il menu "Utils":
sudo vim /tftpboot/howtogeek/menus/utils.cfg
Aggiungi ad esso il seguente:
etichetta WinPE
com32 linux.c32 howtogeek / libs / wimboot
APPENDA wimboot initrdfile = / howtogeek / WinPE / bootmgr, / howtogeek / WinPE / bcd, / howtogeek / WinPE / boot.sdi, / howtogeek / WinPE / boot.wim
Congratulazioni, ora hai WindowsPE sul tuo server PXE. :)
Nota: potrebbe sembrare che sia appeso al file "wim", ma non lo è. In realtà sta trasferendo il 140MB di un file al client su TFTP, che richiede più tempo dei file solitamente piccoli che vengono trasferiti in questo modo.
Ecco lo screenshot per dimostrare che è successo.
La VM sopra, è stata eseguita utilizzando VMware-player, Ubuntu è stato installato su HD e PXE è stato avviato in WinPE.
Console di ripristino di emergenza di Windows
Ancora una volta, come menzionato nella panoramica, mentre sembra che sia possibile avviare la procedura di installazione di Windows in questo modo, non è effettivamente possibile completarlo, e rendere possibile ciò va oltre lo scopo di questa guida.
Detto questo, solo per dare un esempio del perché questo sarebbe utile, useremo questo ambiente per eseguire un aggiornamento del BIOS Dell.
Ottieni l'aggiornamento necessario per eseguire dal sito Web di Dell e metterlo su un Disk-On-Key. Metti il disco su chiave e PXE avvia il client.
Per raggiungere la console di ripristino, nella finestra principale come nella schermata sopra, fai clic su "Avanti".
Clicca su "Ripara il tuo computer".
Scegli "Usa strumenti di recupero" e fai clic su "Avanti".
Clicca su "Prompt dei comandi".
Una volta nel prompt dei comandi, dovrai scoprire quale "lettera di unità" WinPE ha deciso di designare sul tuo Disk-on-Key. Per fare ciò, fare in modo che il sistema enumeri tutte le lettere di unità attualmente assegnate emettendo:
wmic logicaldisk ottiene il nome
Ora escludendo le lettere A: e X: e forse anche C: (anche se non è un dato), scorrere le lettere di unità e cercare il Disk-on-Key emettendo:
driveletter:
dir
Una volta trovata l'unità corretta, esegui il file e dovresti vedere qualcosa di simile al seguente:
Congratulazioni, sei pronto per l'aggiornamento :)
Conosco il Kung Fu ...