Windows PE na spouštěcím USB flash drive

January 20, 2018 | Author: Anonymous | Category: N/A
Share Embed


Short Description

Download Windows PE na spouštěcím USB flash drive...

Description

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

Windows PE na spouštěcím USB flash drive Shrnutí obsahu několika článků z mého blogu Itlog.cz, které se zabývaly problematikou vytvoření systému Windows PE pro správu počítačů s Windows 7.

1

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

Windows PE: jak si vyrobit a upravit spouštěcí USB flash drive Windows PE je „Windows Preinstallation Environment“ – zjednodušený základ Windows, určený pro přípravu instalací, instalace, záchranu dat ap. Zkráceně WinPE, nyní je aktuální verze 4.0 založena na Windows 8. Zde se zabývám verzí 3.0/3.1 z Windows 7 (SP1). UFD je zkratka pro USB flash drive. K čemu mi WinPE slouží? Například: jako prostředí záchranných Windows ke spouštění aplikací pro práci s disky – diskpart, driveimage XML, Seagate DiscWizard, pro záchrana dat z počítače s Windows, který se odmítá spustit. V uvedeném postupu se snažím maximálně zjednodušit práci s WinPE a vytvořit systém, do kterého lze jednoduše přidávat další nástroje bez nutnosti opakovaně upravovat základní spouštěcí obraz Windows PE (boot.wim)

USB Flash Drive (UFD) Ve Windows 7 nebo Windows 8 připojím UFD a spustím Cmd prompt jako administrátor. Následujícími příkazy vytvořím spustitelný (active) UFD, formátovaný v souborovém systému FAT32. Znak # je třeba nahradit číslem, které odpovídá jednotce USB disku. Použijeme nástroj DISKPART – všechna data budou z UFD zrušena! diskpart list disk select disk # clean create partition primary select partition 1 active format quick fs=fat32 assign exit

Kopie souborů WinPE 3.0/3.1 Toto je asi časově nejnáročnější část celého postupu. Windows PE verze 3.0 je součástí Windows Automated Installation Kit (WAIK) pro Windows 7, kterýžto balík je ke stažení na stránkách http://www.microsoft.com/Downloads/details.aspx?familyid=696DD665-9F764177-A811-39C26D3B3B34&displaylang=en nebo v češtině zde: http://www.microsoft.com/cs-cz/download/details.aspx?id=5753 (KB3AIK_CS.iso má 1,2 GB) K tomu jsem přidal rozšíření pro SP1: http://www.microsoft.com/enus/download/details.aspx?id=5188 anglicky, česky zde: http://www.microsoft.com/cscz/download/details.aspx?id=5188 (waik_supplement_cs-cz.iso má 885,4 MB) Celkem tedy více než 2 GB kódu ke stažení, použil jsem české verze. Instalace WAIK je popsána na stránkách Microsoftu dostatečně a podrobně, takže se jí zde nezabývám. WAIK mám instalovaný ve virtuálním testovacím prostředí – na serveru Windows 2008 R2, což je 64 bitový systém. WinPE vytváříme „univerzální“ pro systémy 32 bitové (x86), protože 64 bitové WinPE nedovolí spustit aplikace 32 bitové, jednoduše pro ně nesimulují prostředí. Po instalaci WAIK spustím z nabídky Start Deployment Tools Command Prompt a zadám příkazy: 2

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

copype.cmd x86 c:\winpe_x86 copy c:\winpe_x86\winpe.wim c:\winpe_x86\ISO\sources\boot.wim xcopy C:\winpe_x86\iso\*.* /e G:\

kde G: je USB disk, připravený v minulém kroku. UFD se základem WinPE je nyní funkční. Funguje většina síťových karet.

Nástroje Potřebné nástroje na UFD disk kopíruji do samostatných složek.

Nabídka PStart Windows PE nemá standardně desktopové prostředí, ve výchozím nastavení se spustí okno příkazového řádku (cmd). Osvědčilo se mi použití programu PStart, kterým tento „nedostatek“ odstraním a zvýším komfort spouštění programů. Podobně by bylo možné použít pro tento účel například Salamander freeware verze 1.52 a definovat si uživatelskou nabídku v Salamandru. Stále jsme v prostředí Windows 7. PStart získáme u autora http://www.pegtop.net/start/ a nainstalujeme s volbou Portable setup a cílové umístění zvolíme na disk USB do složky PStart.

Automatické spuštění nabídky po startu Windows PE Jako administrátor si připojíme obraz Windows (wim) a upravíme dávku startnet.cmd. Nejprve musíme přimontovat obraz do adresáře na disku se souborovým systémem ntfs, například c:\util\win\mounted imagex /mountrw G:\sources\boot.wim 1 c:\util\win\mounted

Spustím Notepad a otevřu soubor c:\util\win\mounted\windows\system32\startnet.cmd Obsahuje nejspíš pouze jenom příkaz wpeinit, doplníme následující kód: wpeinit @echo off for %%p in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%p:\PStart\ set w=%%p %w%:\PStart\PStart.exe

Uložíme nový obsah startnet.cmd, odpojíme boot.wim příkazem imagex /unmount /commit c:\util\win\mounted

Konečně můžeme UFD vyzkoušet. Předtím nebo kdykoliv později lze v „plných“ Windows UFD připojit, spustit z něj PStart a pouhým přetažením ikon přidávat aplikace umístěné na UFD do nabídky. PStart používá relativní cesty, takže aplikace jsou na správném místě i na počítačích s rozdílnými konfiguracemi disků a přiřazení písmen logických disků.

3

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

Příště něco o změně nastavení výchozího rozlišení displeje ve Windows PE, přidání ovladače pro síťovou kartu a také o spuštění nabídky bez okna příkazového řádku.

4

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

Windows PE: jak zvýšit základní rozlišení displeje 800×600 bodů Windows PE ve verzi 3.1 (z Windows 7 SP1), kterou se právě zabývám, používá „univerzální“ základní rozlišení pro displej 800×600 bodů. To je docela málo pro řadu programů, které ve Windows PE potřebuji spustit. Naštěstí lze jednoduše rozlišení přizpůsobit aktuálně připojenému displeji pomocí volně dostupného programu SetRes – autor Ian Sharpe, http://www.atrandom.iansharpe.com/setres.php, verze SetRes Single_V2_3 GPL3.zip

Stačí zavolat z příkazové řádky a doplnit požadované parametry rozlišení, barevné hloubky a opakovací frekvence. Vyzkoušené hodnoty pro často používané displeje lze jednoduše přidat do úvodní nabídky PStart, kterou jsem uvedl v předchozím příspěvku:

5

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

6

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

USB Flash Drive s Windows PE: jak doplnit další systémy? EasyBCD! Dnešní UFD (USB Flash Drive) mají kapacitu, o jaké se nám před lety ani nezdálo. Není problém vytvořit „záchranný“ systém s Windows PE a doplnit ho spoustou nástrojů pro Windows a stále zbývá spousta místa. Přemýšlel jsem, jak doplnit UFD původně vytvořený pro spouštění Windows PE o možnost spuštění i jiných záchranných systémů, založených na OS Linux nebo jiných OS. Nabízí se možnost konfigurovat spouštění pomocí GRUB4DOS, ale do toho se teď nechci pouštět. Naštěstí lze doplnit nabídku systému Windows o další položky a spustit systém z obrazu disku ISO nebo VHD či WIM. Uznávám, že použití nástroje příkazové řádky bcdedit, není úplně snadné a jednoduché. Naštěstí je tu grafické rozhraní EasyBCD, které nám tuto práci usnadní.

Plně nám zde postačí k vyzkoušení nekomerční verze EasyBCD: http://neosmart.net/EasyBCD/ pro komerční použití je třeba nakoupit potřebné licence (Easy BCD + Deployment License). Program nainstalujeme ve Windows 7 nebo 8, spustíme a do editoru načteme definiční soubor BCD z našeho USB, protože to, co editor po spuštění zobrazuje, to je startovací nabídka aktuálně spuštěných Windows! Takže z nabídky File | Select BCD Store otevřeme z USB soubor \boot\bcd

7

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

Dalším krokem je volba Add New Entry a podle konkrétního obrazu (VHD, ISO, WIM) volíme a konfigurujeme v sekci Portable/External Media

8

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

EasyBCD NeoSmart Technologies doplní vlastní kód \NST\AutoNeoGrubX.mbr a ošetří potřebné parametry potřebné ke spuštění zvolených obrazů disků nejrůznějších systémů. Vyzkoušel jsem systémy Windows (DaRT70.iso) i Linux (RunTimeLiveCD.iso, SeagateMedia.iso) Výpis výsledného nastavení BCD může obsahovat následující položky (View Settings), vypíšeme i příkazem bcdedit: bcdedit /store i:\boot\bcd /enum C:\Windows\system32>bcdedit /store i:\boot\bcd /enum Windows Boot Manager -------------------identifier {bootmgr} description Windows Boot Manager locale en-US inherit {globalsettings} default {default} displayorder {default} {0b9b6789-98c1-11e2-bf3a-d8d385e985da} {6a8ac167-98c7-11e2-bf3c-d8d385e985da} {94d5ca2c-98c7-11e2-bf3c-d8d385e985da} toolsdisplayorder {memdiag} timeout 4294967295 displaybootmenu Yes Windows Boot Loader ------------------identifier {default} device ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b41

9

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

-000476eba25f} path \windows\system32\boot\winload.exe description Windows PE Tools locale en-US inherit {bootloadersettings} osdevice ramdisk=[boot]\sources\boot.wim,{7619dcc8-fafe-11d9-b41 -000476eba25f} systemroot \windows detecthal Yes winpe Yes ems Yes Real-mode Boot Sector --------------------identifier {0b9b6789-98c1-11e2-bf3a-d8d385e985da} device boot path \NST\AutoNeoGrub0.mbr description Windows DaRT - recovery tools Real-mode Boot Sector --------------------identifier {6a8ac167-98c7-11e2-bf3c-d8d385e985da} device boot path \NST\AutoNeoGrub1.mbr description Seagate DiscWizard Real-mode Boot Sector --------------------identifier {94d5ca2c-98c7-11e2-bf3c-d8d385e985da} device boot path \NST\AutoNeoGrub2.mbr description DriveImage XML Linux C:\Windows\system32>

10

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

Windows PE: jak přidat ovladače pro síťovou kartu Windows PE verze pro Windows 7 (3.0) je na USB flash drive (f:\sources\boot.wim) a připojíme tento obraz do složky c:\util\win\mount. Ovladače jsou ve složce c:\util\win\drivers, mohou být v samostatných adresářích pro udržení přehlednosti. Použijeme příkazy imagex pro připojení obrazu a dism pro přidání ovladačů. Nakonec opět příkazem imagex změny v obrazu provedeme a obraz wim odpojíme. C:\util\win>imagex /mountrw f:\sources\boot.wim 1 c:\util\win\mount ImageX Tool for Windows Copyright (C) Microsoft Corp. All rights reserved. Version: 6.1.7600.16385 Mounting: [f:\sources\boot.wim, 1] -> [c:\util\win\mount]… [ 100% ] Mounting progress Successfully mounted image. Total elapsed time: 51 sec C:\util\win>DISM /image:c:\util\win\mount /Add-Driver /driver:c:\util\win\drivers /recurse Deployment Image Servicing and Management tool Version: 6.2.9200.16384 Image Version: 6.1.7601.17514 Probíhá vyhledávání balíčků ovladačů pro instalaci… Byly nalezeny balíčky ovladačů (6) pro instalaci. Instalace 1 z 6 – c:\util\win\drivers\e1c6232_11.15.16.0_442468B9EC91F926A693AD7 B05D54D0B3F86F105\e1c6232.inf: Balíček ovladače byl úspěšně nainstalován. Instalace 2 z 6 – c:\util\win\drivers\e1c6232_11.15.16.0_442468B9EC91F926A693AD7 B05D54D0B3F86F105\e1e6232.INF: Balíček ovladače byl úspěšně nainstalován. Instalace 3 z 6 – c:\util\win\drivers\e1c6232_11.15.16.0_442468B9EC91F926A693AD7 B05D54D0B3F86F105\e1k6232.inf: Balíček ovladače byl úspěšně nainstalován. Instalace 4 z 6 – c:\util\win\drivers\e1c6232_11.15.16.0_442468B9EC91F926A693AD7 B05D54D0B3F86F105\e1q6232.inf: Balíček ovladače byl úspěšně nainstalován. 11

Stanislav Jermář – Information Technology Blog

http://ITLog.cz

Instalace 5 z 6 – c:\util\win\drivers\e1c6232_11.15.16.0_442468B9EC91F926A693AD7 B05D54D0B3F86F105\e1r6232.inf: Balíček ovladače byl úspěšně nainstalován. Instalace 6 z 6 – c:\util\win\drivers\e1c6232_11.15.16.0_442468B9EC91F926A693AD7 B05D54D0B3F86F105\e1y6232.INF: Balíček ovladače byl úspěšně nainstalován. The operation completed successfully. C:\util\win>imagex /unmount /commit c:\util\win\mount ImageX Tool for Windows Copyright (C) Microsoft Corp. All rights reserved. Version: 6.1.7600.16385 Committing: [c:\util\win\mount]… [ 100% ] Committing Image progress Successfully committed image. Unmounting: [c:\util\win\mount]… [ 100% ] Mount cleanup progress Successfully unmounted image. Total elapsed time: 39 sec

.

12

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

Windows PE: spouštěč nabídky bez okna příkazové řádky Úprava spouštění PStart – bez okna Cmd Nedávno jsem zde popisoval začlenění nabídky PStart do Windows PE prostřednictvím kódu startnet.cmd. Druhá, dle mého soudu lepší možnost spuštění nabídky PStart, je z winpeshl.ini. Tento konfigurační soubor musíme nejprve vytvořit a umístit do obrazu Windows PE (wim). K tomuto účelu jsem připravil velice jednoduchý spouštěč, který nahradí dávku z předchozího řešení, vyhledá program PStart s ohledem na jeho aktuální umístění nezávisle na přiřazeném písmenu logického disku. startPStart.exe je naprogramován takto (PowerBasic Console Compiler): #CONSOLE OFF #COMPILE EXE #DIM ALL FUNCTION PBMAIN () AS LONG LOCAL strApp, strDir, strPath AS STRING LOCAL cDrive AS STRING * 1 LOCAL i AS INTEGER strApp = “PStart.exe” strDir = “PStart” strPath = “:\” + strDir + “\” FOR i = ASC(“A”) TO ASC (“Z”) IF ISFOLDER(CHR$(i) + strPath) THEN SHELL (CHR$(i) + strPath + strApp) EXIT FOR END IF NEXT i END FUNCTION

Přeložený spouštěč je zde: http://itlog.cz/dwn/startPstart.zip Nejprve musíme přimontovat obraz do adresáře na disku se souborovým systémem ntfs, například do složky c:\util\win\mounted imagex /mountrw G:\sources\boot.wim 1 c:\util\win\mounted

Spustíme Notepad a vytvoříme nový soubor c:\util\win\mounted\windows\system32\winpeshl.ini, s následujícím obsahem: [LaunchApps] %windir%\system32\netstart.exe,-prompt %windir%\system32\startPstart.exe

13

http://ITLog.cz

Stanislav Jermář – Information Technology Blog

Uložíme nový soubor winpeshl.ini z editoru Notepad a přidáme spouštěč startPstart.exe do složky c:\util\win\mounted\windows\system32. Odpojíme boot.wim s provedením změny příkazem imagex /unmount /commit c:\util\win\mounted

Windows PE se pak spustí nejprve s dotazem na aktivaci sítě na pozadí (netstart.exe -prompt) a potom program startPstart.exe vyhledá, na kterém logickém disku je program s nabídkou aplikací PStart.exe a spustí jej. Zdroj: Inspirací mi byl článek http://4sysops.com/archives/create-a-bootable-windows-pe-30-usb-drive-with-rescue-tools-part-2/ a diskuse pod příspěvkem.

Autor: Jmenuji se Stanislav Jermář, provozuji web IT log (http://itlog.cz) Mail: [email protected]

14

View more...

Comments

Copyright © 2020 DOCSPIKE Inc.