Windows PE
Tutvustus
Windows Preinstallation Environment on minimiseeritud windowsi versioon, mis on mõeldud Windows operatsioonisüsteemide hulgipaigalduseks ja ettevalmistustegevusteks operatsioonisüsteemi installeerimise jaoks.See loodi asendamaks MS-DOS keskkonda Windowsi paigaldamisel.
Ajalooliselt on seda kasutanud arvutitootjad ja suure IT struktuuriga ettevõtted, kus on palju tööjaamu.Tänapäevaks on sellest saanud tasuta tööriist, mis sisaldub Windows AIK toolkitis.
Alates Vista koodibaasil loodud Windows PE versioonist on süsteem paindlikum ja suudab ka peale üleslaadimist tunda ära uut riistvara, mille tugi esimese põlvkonna versioonides puudus. Samuti on juba algselt olemas võrgutugi, mis suurendab funktsionaalsust veelgi. Toetatakse nii 32 kui 64 bitiseid draivereid.
Lisaks algselt mõeldud ülessannete täitmiseks on võimalik sellele lisada juurde tarkvara ja kasutusmugavust. Tänu WIM failiformaadile on võimalik loodud
süsteemi paigaldada CD plaadile ning ka (buutivatele)USB seadmetele.
Ajalugu
Üldistavalt võib Windows PE versioonid kokku võtta järgnevalt:
Windows PE versioon 1.0 kuni 1.6 põhinevad peamiselt Windows XP koodibaasil
Windows PE versioon 2.0 loodi Windows Vista koodibaasil, ning tõi kaasa suuri muudatusi (korduvkirjutatav RAMdisk ja väiksem ruumikasutus). Peale Vista SP1 tuli välja WinPE versioon 2.1 ning Vista SP2´ga kaasnes WinPE versioon 2.2.
Windows PE versioon 3.0 on loodud Windows 7 koodibaasil. Saadaval Windows AIK tööriistade hulgas.
Omadused ja spetsiifika
Lisaks sellele, et WinPE's ei ole paljusid tava Windowsi komponente, on sellel veel mõningad piirangud. Ühe asjana on sellele sisse ehitatud kuni 72 tunnine tööaeg, pärast mida tehakse automaatselt restart. Samuti ei toetata vähemlevinud võrguprotokolle ja domeenikeskkonda. Oluline erisus on ka selles, et kõik süsteemis tehtavad muudatused kaovad peale restartimist, ning jäävate muutuste jaoks on vaja seda WAIK või PEimg tööriistadega muuta. Samuti tuleb ära märkida,et puudub tugi .NET applikatsioonidele, mis seab piirangud mõne tarkvara lisamisele WinPE'sse. Samuti ei tööta WinPE's .msi installipaketid.
Windows PE's sisalduvad käsureatööriistad :
- BCDEdit - boot seadistuste muutmise ja loomise tööriist
- Bootsect - kõvaketta boot sektori parandamiseks,loomiseks
- Oscdimg - .iso faili loomise tööriist, kasutame ka selles õpetuses
- DiskPart - partitsioonide haldamise tööriist.
- Drvload - driverite laadimise tööriist töötavad Windows PE's
- PEImg - WindowsPE loomise tööriist,võrreldav DISMiga
- Wpeinit - käivitatakse WinPE laadimisel ning kasutatav unnatended installide jaoks.
Windows PE loomine
Järgnevalt seletan, kuidas luua graafilise kasutajaliidesega versioon Windows PE'st, millega saab lisaks ImageX paigaldamisele ka diagnostikat teostada.
Samuti, kuidas lisada programme, mille abil tegevusi ja kasutamist lihtsustada.
Vajalikud komponendid
- WAIK link millest kasutame copype, DISM ja oscdimg tööriistu.
- Virtuaalmasin (VirtualPC , VirtualBox)
- nu2menu (link)
- Kõvaketta testimise utiliit nt. HDTune free ( link)
- Failihaldur nt. Freecommander (link) vaja läheb .ZIP versiooni
NB!
Artikkel eeldab, et osatakse Command Prompt'is algtasemel orienteeruda ja selle tööloogika on selge.Näited on toodud täispikkade asukohtadega, mida aga saab lühendada,kui operatsioone teha sama kausta sees, kuhu töös olev versioon lahti pakitakse.
Asukohad on näitlikud ja asja sujuvuse huvides võib ka kogu tegevuse läbi viia kohas, kus pole tarvis administraatoriõigusi failimuutusteks.
Juhul,kui midagi ei tööta, kontrollida et takistuseks ei ole administraatoriõiguste puudumine.
Algse WinPE süsteemi loomine
Peale WAIK installeerimist tuleb käivitada Deployment Tools Command Prompt (Vista ja 7 puhul administraatori õigustes ! )
copype.cmd <arhitektuuritüüp> <sihtkaust>
ehk
copype.cmd x86 c:\winpe
WinPE mountimine ehk "lahti pakkimine"
Eelmise liigutusega öeldud sihtkohta luuakse kaustastruktuur, kus läheb esialgu vaja faili winpe.wim. Command Prompt aknas sisestada järgmine rida:
Dism /Mount-Wim /WimFile:<winpe.wim faili asukoht> /index:1 /MountDir:<koht,kuhu see fail lahti pakitakse>
ehk
Dism /Mount-Wim /WimFile:C:\winpe\winpe.wim /index:1 /MountDir:C:\winpe\mount
Peale seda tegevust on wim faili sisu etteantud kaustas lahtiselt, ning seda saab hakata muutma oma soovidele vastavalt.Siinkohal asukohas C:\winpe\mount.
WinPE muutmise protsess sisaldab üldjuhul vajalike asjade kopeerimist lahti pakitud faili struktuuri ning ilma graafilise liidese lisamiseta polegi vaja muud teha. Seda juhul, kui kasutada WAIK toolkitiga kaasa tulnud tööriistu, nagu ImageX, mis on käsurea põhised utiliidid. Juhul, kui tahta kasutusmugavust parandada ja luua keerukam süsteem, mis sisaldab erinevaid programme, on kasulikum see lahendada mingi graafilise liidesega, millest ühte võimalust siinkohal tutvustuseks kasutan.
Tööriistade lisamine algsele WinPE põhjale
Kasutame programme FreeCommander, siinkohal ZIP variandina, et hoida asi portatiivne: http://www.freecommander.com/FreeCommander200902a.zip
Teiseks on kasulik omada kõvaketta diagnostika võimalust, mille puhul aitab välja erakasutuseks tasuta HDTune: http://www.hdtune.com/files/hdtune_255.exe
Kolmandaks lisame ka ImageX tööriista, mida saab kasutada wim failide paigaldamiseks ja loomiseks.
Failide kopeerimine
Programmide sihtkohaks on siinkohal C:\winpe\mount\Program Files ja ImageX tuleks paigutada windows\system32 kausta.
- Enne FreeCommanderi kausta kopeerimist sihtkohta soovitan selle alamkaustast LNG ära kustutada kõik failid peale inglise keele.Üldiselt tuleks WinPE loomisel kõigi lisatavate programmide maht vähendada miinimumini, kuid säilitada funktsionaalsus.Mida väiksem .wim fail, seda kiirem on süsteemi üles laadimine.
- HDTune lisamiseks tuleb see programm installeerida ja installi kaustast kopeerida WinPE programmikausta HDTune.exe fail.
- ImageX.exe fail asub Program Files\ Windows AIK\ Tools\ x86 \ kaustas.
Peale nende kopeerimist peaks olema Program Files kausta sisu selline:
Graafilise liidese loomine
Siinkohal kasutame nu2menu nimelist shelli. http://www.nu2.nu/nu2menu/#download Lahti pakitud ZIP kausta sisu paigaldame lihtsuse huvides "shell" kausta, ehk C:\winpe\mount\shell
nu2menu.xml faili muutmine:
Kuna algne fail on väga pikk, siis siinkohal sobivalt vähendatud versioon:
<?xml version="1.0"?> <NU2MENU ID="Nu2MenuSystem001" AUTHOR="Henk de Jong" DATE="2005-02-17, 20:15" VERSION="V0.350" COPYRIGHT="(c)2003-2005 Nu2 Productions" REMARK="ALL NODES ARE CASE-SENSITIVE!!!!!"> <MENU ID="mainmenu"> <MITEM TYPE="ITEM" CMD="RUN" FUNC="@GetWinDir()\system32\notepad.exe" PARM="1">Notepad</MITEM> <MITEM TYPE="SEPARATOR"></MITEM> <MITEM TYPE="POPUP" MENUID="admin">Admin</MITEM> <MITEM TYPE="SEPARATOR"></MITEM> <MITEM TYPE="ITEM" CMD="RUN" FUNC="@GetProgramDrive()\Program Files\HDTune.exe" PARM="0">HD Tune</MITEM> <MITEM TYPE="ITEM" CMD="RUN" FUNC="@GetProgramDrive()\Program Files\FreeCommander\FreeCommander.exe" PARM="0">FreeCommander</MITEM> <MITEM TYPE="ITEM" CMD="RUN" FUNC="@Null( @ChangeDir('c:\temp')@ChangeDir('c:\tmps')@ChangeDir('c:\tmp') )cmd.exe">Cmd</MITEM> <MITEM TYPE="ITEM" CMD="RUN" FUNC="@ShowRunDialog()">Run...</MITEM></MENU> <MENU ID="admin"> <MITEM TYPE="ITEM" CMD="RUN" FUNC="@GetWinDir()\system32\notepad.exe @GetProgramDir()\nu2menu.xml">Edit menu</MITEM> <MITEM TYPE="ITEM" CMD="HIDEFROMTASKBAR">Hide from taskbar</MITEM> <MITEM TYPE="ITEM" CMD="SHOWINTASKBAR">Show in taskbar</MITEM> <MITEM TYPE="ITEM" CMD="RELOAD">Reload menu</MITEM> </MENU> </NU2MENU>
Tähelepanu tuleb pöörata <MITEM TYPE="ITEM" CMD="RUN" FUNC="@GetProgramDrive()\Program Files\HDTune.exe" PARM="0">HD Tune</MITEM> ja järgnevale reale, kus on kirjeldatud programmide sihtkohad. Täpsem info, mida antud XML failiga veel teha saab, asub
http://www.nu2.nu/nu2menu/#rules.
GUI käivitusfail
WinPE mount kaustas asuvasse windows\system32 kausta tuleb luua fail winpeshl.ini, mille sisu on järgmine :
[LaunchApp] AppPath = %SYSTEMDRIVE%\shell\nu2menu.exe [LaunchApps] %SYSTEMDRIVE%\shell\nu2menu.exe
Selle faili sisu näitab, mida peab käivitama algse command akna asemel.Vajaduse korral saab sinna lisada ka muid käivitavaid asju.
Süsteemikomponentide lisamine
Et need lisatud programmid ka töötaksid, on WinPE´le vaja lisada ka tugipaketid mis võimaldavad graafilise kasutajaliidesega programmidel töötada.
Et lisamine toimiks sujuvamalt tuleks kopeerida järgnevad failid WAIK installikaustast nt. c:\winpe kausta:
- Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs\winpe-hta.cab
- Program Files\Windows AIK\Tools\PETools\x86\WinPE_FPs\en-us\winpe-hta_en-us.cab
Seejärel sisestada command aknas järgmine käsk:
dism /image:<lahti pakitud WinPE asukoht> /Add-Package /PackagePath:<cab faili asukoht>
praegusel juhul
dism /image:C:\winpe\mount /add-package /packagepath:c:\winpe\winpe-hta.cab
ja
dism /image:C:\winpe\mount /add-package /packagepath:c:\winpe\winpe-hta_en-us.cab
Muudetud struktuuri kokkupanek
Järgneva käsuga saab mount kaustas olevast struktuurist jälle wim fail:
Dism /Unmount-Wim /MountDir:<lahti võetud WinPE failide asukoht> /Commit
ehk
Dism /Unmount-Wim /MountDir:C:\winpe\mount /Commit
See protsess võib võtta päris kaua, ning käsurea aknas ei toimu midagi, kuid protsess siiski käib, kannatust.
Järgmise sammuna tuleb luua .wim failist .iso fail, mida saab plaadile kirjutada ja virtuaalmasinas testimiseks kasutada.
- 1. kopeeri winpe.wim fail algsest asukohast ISO\sources kausta ehk:
copy c:\winpe\winpe.wim c:\winpe\iso\sources\boot.wim
- 2. loo boot.wim failist .iso fail:
oscdimg -n -bC:\winpe\etfsboot.com <ISO kausta asukoht> <valmis faili asukoht>
ehk
oscdimg -n -bC:\winpe\etfsboot.com c:\winpe\iso c:\winpe_valmis.iso
NB! -bC: ei ole kirjaviga,vaid süntaksi eripära.
Valminud Windows PE testimine virtuaalmasinas
Kasutada saab virtuaalmasinat, mis suudab .iso failist buutida. Levinumad nagu VirtualPC ja VirtualBox suudavad seda. Lõpp-produkt peaks välja nägema selline:
Kokkuvõte
Windows Preinstallation Environment on vägagi võimekas keskkond tegemaks Windowsi süsteemide hulgipaigaldust ning kasulik tööriist riistvara diagnostikaks ja andmete päästmiseks, kui arvuti enda operatsioonisüsteem ei tööta.
Nagu näha, ei ole süsteemi endale käepäraseks ehitamine keeruline ning võimalik on luua igasuguse loogika ja tööpõhimõttega versioone.
Loomisprotsessis on saab kasutada ka mitmeid abistavaid programme, mis võimaldavad Windows PE's käima saada ka keerukamad programmid, nagu veebibrauserid jms. Levinumatest võib nimetada Depedency Walker ja ProcessMonitor .
Lingid
What is Windows PE? http://technet.microsoft.com/en-us/library/cc766093(WS.10).aspx
Windows Preinstallation Environment http://en.wikipedia.org/wiki/Windows_Preinstallation_Environment
Windows PE help fail WAIK kataloogis - Windows AIK\Docs\CHMs\WinPE.chm
Windows PE Tools and Settings - http://technet.microsoft.com/en-us/library/cc749055(WS.10).aspx