Windows PE: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 87: Line 87:
Lahti pakitud ZIP kausta sisu paigaldame lihtsuse huvides "shell" kausta, ehk C:\winpe\mount\shell
Lahti pakitud ZIP kausta sisu paigaldame lihtsuse huvides "shell" kausta, ehk C:\winpe\mount\shell


pilt
[[Image:Shell.jpg]]


nu2menu.xml faili muutmine:
nu2menu.xml faili muutmine:

Revision as of 14:49, 20 April 2010

NB! Tegemist ei ole lõplikult valmis artikliga.


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 vanema 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.

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
  • 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 õige kausta sees, näiteks c:\winpe edasise puhul. 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 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 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 struktuur selline:

pilt
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

Tegemist on failiga,mis asendab wpeinit käivitamise sellega, mida on winpeshl failis kirjeldatud. Siinkohal on antud käsuks käivitada nu2menu.exe nimeline applikatsioon. Soovi korral saab antud faili täiendada sarnaselt avama ka teisi programme süsteemi käivitamisel.

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