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

Komentáře

Transkript

Windows PE na spouštěcím USB flash drive
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

Podobné dokumenty

taháci - Vrstevnice

taháci - Vrstevnice - brána pro spuštění aplikace pomocí „public static void main...“ - syntaxe třídy: [public/protected... ] [abstract] [static] class subJméno [extends/implements supJméno] { “tělo” statické/nestatic...

Více

Základ systému

Základ systému WINDOWS2000, WINDOWSXP, WINDOWSVISTA. Spouštěcí příkaz by tedy zněl např.: U.BAT DOS. Pro použití programu i v prostředích, kde není možné zjistit název pracovní stanice, je možné spouštět MRP univ...

Více

Antiviry 2013

Antiviry 2013 10.3.7 Pokročilé nastavení .................................................................................... 98 10.4 BEZPEČNÉ SKARTOVÁNÍ ............................................................

Více