Снимка: Alfred Hermida чрез Compfight cc
Windows Pre-execution environment (WinPE) е версията на прозорците, която повечето хора знаят като тази, която се зарежда от инсталационния диск. С течение на годините цели проекти са създадени, за да дадат възможност на някоя среда "Windows Live" като много Linux дистрибуции. В това ръководство ще имаме Windows PE от инсталационното CD boot от PXE, за да можем да го използваме, за да стартираме помощната програма за обновяване на Dell BIOS. Вие се насърчавате да продължите да изследвате тази бездънна яма на добродетелта …
Преглед
Ние ви показахме какво е PXE и как можете лесно да инсталирате сървър за него (и много повече) с FOG, днес ще добавим още едно разширение към FOG. Обикновено днешната процедура ще бъде:
- Актуализирайте PXElinux на v5.01 или по-нова, ако вече не сте инсталирали.
- Добавете модула wimboot.
- Копирайте изображението WIM и поддържащите файлове от инсталиращия компактдиск на Windows.
- Добавете елемента от менюто.
- Използвайте booted WinPE, за да получите работеща "конзола за възстановяване на Windows".
Ние ще направим горното, защото "обикновеният" Windows Automated Installation Kit (WAIK) ви принуждава в най-добрия случай да го инсталирате на вашата машина и да преминете през не толкова директен процес, за да смените WIM файла и неговата поддръжка файлове във формуляра WDS / RIS. Докато съществуват алтернативи на Linux, като например проекта на UDA (който е PXE сървърът, който използвах преди FOG), използвайки този начин, просто замествате някои файлове на PXE сървъра веднъж (което най-вероятно ще имате в крайна сметка) и копирайте непроменен WIM файл и поддържа файлове директно от Windows CD в PXE сървъра.
Единственото нещо, което трябва да отбележите, е, че докато изглежда, че можете да стартирате процедурата за инсталиране на Windows по този начин, всъщност не можете да го завършите, и това е възможно извън обхвата на това ръководство.
Позволявам да се счупим:)
Актуализирайте PXElinux на V5.01
Към момента на това писане, версията на Syslinux в хранилището на Ubuntu все още е 4,05. Предполагам, че това е така, защото екипът на Syslinux реши да разтърси нещата с клона на V5 и промени начина, по който функционират модулите COM32 (сега се основава на ELF) и промени "ядрото", за да изисква библиотека (ldlinux.c32)нищо отвъд "чистата обувка". Това прави много възможно да се сблъскаме с разбиване за всеки, който е свикнал с "стария" начин. Не се тресете, ние ще изтеглим необходимите файлове ръчно и ще направим така, че вашата инсталация FOG да не загуби ритъма.
Ще използваме версия 5.01, тъй като тя е най-новата стабилен освобождаване от клона V5 по време на това писане и е тази, на която екипът на Syslinux работи заедно с екипа на wimboot, за да направят тази специфична процедура да работи.
Забележка: Друга причина, че последната версия все още не е част от хранилището на Ubuntu (IMHO), е, че поне в Citrix-Xen, гостите на HVM не могат да зареждат нищо извън менютата на PXE. Други хипервайзори като VMware, Hyper-V & VirtualBox, както и физични машини са добре в новата версия.
Ако бележката по-горе не ви засяга, продължете.
Получете версия 5.01 на PXElinux директно от Kernel.org и го извадете на FOG сървъра, като:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2 tar xvhf syslinux-5.01.tar.bz2
Създайте директорията, в която ще се съхраняват новите необходими библиотеки:
mkdir -p /tftpboot/howtogeek/libs
Копирайте необходимите библиотечни файлове в тази директория, така че те ще бъдат достъпни за клиентите по време на изпълнение:
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/
Добавете "пътя" към тази директория към вече съществуващия конфигурационен файл по подразбиране, като я редактирате или издавате по-долу:
echo 'PATH howtogeek/libs' >> /tftpboot/pxelinux.cfg/default
Копирайте наскоро необходимия ldlinux.c32 към корена на TFTP сървъра, като издавате:
cp -av syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /tftpboot/
Актуализирайте графичния двигател (vesamenu.c32), за да отговаряте на тази нова версия:
cp -av syslinux-5.01/com32/menu/vesamenu.c32 /tftpboot/
Поздравления, вашият PXE сървър вече е обновен до v5.01 и всичко, което вече работи (освен ако не сте засегнати от "бележката" от началото на този сегмент) трябва да продължите да го правите.
WIMboot
Този буутлоудър е част от проекта iPXE и го описват така:
wimboot
е boot loader за Windows Imaging Format (
.wim
) файлове. Той ви позволява да заредите Windows PE (WinPE) от RAM диск, без да губите паметта, използвана за изображението на RAM диска.
Изтеглете последната версия от сайта им:
wget https://git.ipxe.org/releases/wimboot/wimboot-latest.zip
Инсталирайте разархивирайте на вашия FOG сървър, ако липсва:
aptitude install unzip
Разархивирайте пакета wimboot:
unzip wimboot-latest.zip
Копирайте модула wimboot в директорията "libs", която създадохме в предишния сегмент:
cp -va wimboot*/wimboot /tftpboot/howtogeek/libs/
Това е всичко. Bootloaderът на wimboot е готов да бъде призован.
Windows CD файлове
Създайте нова директория на FOG сървъра, за да задържите файловете, които ще копираме:
mkdir -p /tftpboot/howtogeek/WinPE/
Поставете оригиналния CD за инсталиране на Windows 7 на вашето CDROM устройство и копирайте файловете, изброени по-долу, в тази директория:
ootmgr
ootcd
ootoot.sdi
sourcesoot.wim
Да, това е толкова просто и не е необходимо да държите структурата на директорията на компактдиска, за да работи това.
Забележка: За да работят актуализациите на Dell BIOS, установих, че е необходимо да се използва 32-битова версия на Windows.
Добавете елемента от менюто
Създайте влизане в менюто на PXE, като редактирате менюто "Употреби":
sudo vim /tftpboot/howtogeek/menus/utils.cfg
Добавете към него следното:
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
Поздравления: Вече имате WindowsPE на своя PXE сървър.:)
Забележете, че може да изглежда като окачването на файла "wim", но това не е така. Всъщност прехвърля 140 MB файл на клиента през TFTP, което отнема повече от обикновено малките файлове, които се прехвърлят по този начин.
Ето екранната снимка, за да докажете, че това се случи.
Конзола за възстановяване на Windows
Отново, както се споменава в обзора, макар да изглежда, че можете да стартирате процедурата за инсталиране на Windows по този начин, всъщност не можете да го завършите и това е възможно извън обхвата на това ръководство.
С това казах, само за да дам един пример за това защо това би било полезно, ще използваме тази среда, за да осъществим актуализация на BIOS на Dell.
Получете актуализацията, която трябва да изпълните, от уеб сайта на Dell и го поставете на Disk-On-Key. Поставете диска на ключа и PXE заредете клиента.
За да достигнете до конзолата за възстановяване, в главния прозорец, както е показано на снимката по-горе, кликнете върху "Напред".
Кликнете върху "Ремонт на компютъра".
Веднъж в командния ред, ще трябва да разберете какво "drive letter" WinPE реши да определи на вашия Disk-on-Key. За да направите това, трябва системата да изброи всички понастоящем зададени букви, като издава:
wmic logicaldisk get name
Сега с изключение на буквите A: и X: и може би дори C: (макар че не е даден), циклирайте с буквите на устройствата и потърсете Disk-on-Key, като издавате:
Driveletter: dir
След като откриете правилното устройство, изпълнете файла и трябва да видите нещо като следното:
Знам Кунг Фу …