Windows PE
Mis on Windows PE
Mis on Windows PE? Windows Preinstallation Environment (Windows PE) 3.0 on minimaalne Win32 operatsioonisüsteemi piiratud teenuseid, mis on ehitatud Windows 7 kernel. Seda kasutatakse, et valmistada arvutile Windowsi install, kopeerida ketale image võrgu failiserver, ning algatada Windows Setup.
Windows PE ei ole mõeldud esmase operatsioonisüsteemiga arvutile, kuid on selle asemel kasutatav eraldiseisva esiasennusympäristössä ja lahutamatu komponent teiste Setup ja taastamise tehnoloogiad, nagu Setup Windows 7 jaoks, Windows Deployment Services (Windows DS) , Systems Management Server (SMS) Operatsioonisüsteem (OS) Deployment Feature Pack ja Windows taastekeskkonna (Windows RE).
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öötavas Windows PE's
- PEImg - WindowsPE loomise tööriist,võrreldav DISMiga
- Wpeinit - käivitatakse WinPE laadimisel ning kasutatav unnatended installide jaoks.
Tööriistade lähem info inglise keeles on leitav siit http://technet.microsoft.com/en-us/library/cc749055(WS.10).aspx
Windows PE Image ehitamine
Esimeseks sammuks kohandatud Windows ® PE 3.0 Images on muuta baasi Windows PE Image (winpe.wim) kasutades Deployment Image hooldamine ja haldamine (DISM) tööriistu. DISM pakiblahti failid kohalikku kataloogi ning võimaldab teil lisada ja eemaldada pakette (vabatahtlikud komponendid ja keelepakettid). Lisaks saate lisada out-of-box draivereid. DISM pakub sama külge-ja lahtiühendamisde toimingute puhul ImageX.
Järgnev diagramm näitab, kuidas custom Windows PE Image on ehitatud.
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
Selle jutu koostas: Mattias Igalaan AK21