Windows PE: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 41: Line 41:


----
----
[[File:Capture.jpg]]
[[Pictures:Capture.png]]
===Algse WinPE süsteemi loomine===
===Algse WinPE süsteemi loomine===



Revision as of 08:39, 10 October 2011

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

Building a Windows PE Image

Esimeseks sammuks kohandatud Windows ® PE 3.0 piltide on muuta baasi Windows PE pilt (winpe.wim) kasutades Deployment Image hooldamine ja haldamine (DISM) tööriist. DISM ekstraktid failid kohaliku kataloog ning võimaldab teil lisada ja eemaldada pakette (vabatahtlik komponendid ja keelepakette). Lisaks saate lisada out-of-box draivereid. DISM pakub sama külge-ja lahtiühendamine toimingute puhul ImageX.

Järgnev diagramm näitab, kuidas custom Windows PE pilt on ehitatud.


Pictures:Capture.png

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