BartPE: virtuální HDD na CD
autor : Pavel   www.craftcom.net   (18.6.2005)



Velké množství pluginů v BartPE potřebuje pro svoji činnost vytvářet a/nebo zapisovat do souboru. Klasickým způsobem je překopírování celé složky pluginu do ramdisku; tam si spuštěný program zapíše potřebné informace. Pokud ovšem potřebujeme současně pracovat s více takovými pluginy, pak nám narůstá požadavek na velikost ramdisku. Existuje však i jiné řešení v podobě virtuálního pevného disku, umístěného na CD.
 


Virtuální disk


S pojmem virtuální disk se můžeme setkat např. ve VMware, kde je disk realizován souborem na disku fyzického počítače. Takový disk je pak přístupný z VMware.
Díky práci pana Ken Kato (stránky autora), existuje ovladač VDK driver do Windows, který nám umožní použít virtuální disk i bez spuštění VMware. Stáhneme archiv s ovladačem, v současné době se jedná o vdk32-050406.zip.

 

Vytvoření virtuálního disku

Vytvoření virtuálního disku si ukážeme v tomto průvodci.


Je velmi důležité zatrhnout
Split disk into 2 GB files, tím vytvoříme tzv. sparse disk (bez této volby nám nebude fungovat).


Pojmenujeme soubor, který bude simulovat virtuální disk, např.
HDD.vmdk (přípona .vmdk je důležitá!).


Tím se vytvoří 2 soubory:
hdd.vmdk a hdd-s001.vmdk. Do složky, kde jsou umístěny, nakopírujeme ještě soubory vdk.exe a vdk.sys (najdeme je v zip archivu vdk32).


Spustíme VMware a nabootujeme ze spouštěcí (záchranné) diskety Win98 a spustíme příkaz
fdisk.


Vytvoříme oddíl DOS (volba 1), oddíl bude primární (volba 1) a bude mít maximální velikost.


Restartujeme virtuální počítač a opět bootujeme ze stejné diskety, nyní provedeme formátování.


Ukončíme VMware a připojíme virtuální disk k fyzickému počítači. V adresáři, kde máme výše zmíněné 4 soubory, spustíme z příkazového řádku příkazy:
vdk install
vdk start
vdk open 0 hdd.vmdk /RW


Poslední příkaz připojí virtuání disk v režimu RW (Read/Write), který nám umožní jak z disku číst, tak i zapisovat.


Že je disk opravdu připojený lze ověřit např. v Průzkumníku, na disk lze zapisovat, což si vyzkoušíme např. kopírováním souboru (na obrázku instalační soubor WinRARu).


Pokud potřebujeme virtuální disk odebrat, použijeme příkaz
vdk close 0.


* I když jsme ve VMware vytvořili disk o velikosti 100 MB (nastavení velikosti 0,1 GB), je použit díky nezatržení Allocate all disk space now tzv. spare disk, tj. velikost souboru ve kterém je realizován se dynamicky zvětšuje s jeho obsahem. Protože jsme v našem případě nakopírovali na disk jen jeden soubor (instalaci WinRaru), je jeho velikost menší než 2 MB (přesto na disk můžeme v BartPE uložit více dat, viz dále ...).



Plugin pro BartPE

Na úvod uvedu, že myšlenky a postupy v tomto článku nejsou původní, ale jsou inspirovány fórem 911cd.net/forums. Předkládaný plugin
HDDonCD je moje práce, navazuje a čerpá z práce mnoha jiných ...

Podmínkou správné činnosti pluginu je existence ramdisku v BartPE (ramdisk nesmí mít souborový systém NTFS s kompresí; samotný NTFS nevadí) a možnost spouštět tzv. autorun soubory (povolený plugin Startup Group, tj. autorun).
Pokud pro vytvoření BartPE použijeme soubory WinXP SP2, pak bude systémový disk ze kterého bootujeme (CD) označen
X:
Otevřeme soubor
hdd.vmdk v Poznámkovém bloku a doplníme cestu k souboru hdd-s001.vmdk, který bude umístěn na BartPE CD, podle obrázku.


* V případě, že nepoužijeme WinXP SP2, pak je systémový disk obecně jiný než X:, v takovém případě ztrácíme univerzálnost tohoto řešení a je nutné po nabootování BartPE z CD změnit výše uvedenou cestu v hdd.vmdk ručně.

Nyní máme nachystány oba soubory pro virtuální disk (
hdd.vmdk a hdd-s001.vmdk), spolu s ovladačem (vdk.exe a vdk.sys).

Stáhněte si plugin HDDonCD a uložte ho do složky plugin (plugin\hddoncd). Nakopírujte výše zmíněné 4 soubory do složky files (plugin\hddoncd\files).




Použití pluginu


Po nabootování BartPE z CD se spustí soubor autorun_hddoncd.cmd, který zajistí nakopírování všech potřebných souborů na ramdisk (typicky
B:) a připojení virtuálního disku, příkazem :
vdk open 0 hdd.vmdk /undo /P:1 /L:Q:

* Virtuální disk zůstane uložen na CD, do ramdisku se nakopíruje hdd.vmdk (obsahuje informace potřebné k připojení virtuálního disku). V ramdisku se ještě vytvoří 2 soubory s příponou *.redo, které obsahují změny (vytvoření/zápis souboru) na virtuálním disku.

Použitím přepínače /UNDO nastavíme virtuální disk do zvláštního režimu pseudo RW (Read/Write), kdy jakýkoli zápis na tento virtuální disk je přesměrován do nově vytvořeného souboru s příponou *.redo

Plugin obsahuje soubory
hddon.cmd a hddoff.cmd, pro "ruční" ovládání virtuálního disku. První z nich připojí virtuální disk, druhý ho odpojí (lze provádět libovolně dle potřeby).

 

Praktické využití pluginu

Uvedeným způsobem práce s virtuálním diskem jsme schopni použít i "velké" programy nebo pluginy umístěné před vytvořením BartPE na virtuálním disku, a případné změny v jejich souborech nebo vytvoření nových souborů nezbytných pro jejich činnost se vše realizuje v ramdisku, přičemž není nutné tyto programy nebo pluginy před jejich spuštěním do ramdisku kopírovat.

Pro vysvětlení: pokud používáme plugin, který má 6 MB a po spuštění vytvoří 2 KB soubor, musí se při "klasickém" použití celý nakopírovat do ramdisku. Pokud takový plugin umístíme na virtuální disk, pak při spuštění daného programu dojde k vytvoření zmíněného 2 KB souboru v ramdisku (v soubou s příponou *.redo) a stačí nám podstatně menší ramdisk.

Další výhodou je použití souboru hddoff.cmd, který uvolní disk a veškeré změny se "zahodí", tj. disk se po opětovným připojení souborem hddon.cmd dostane do výchozího stavu.

 

Námět na rozšíření funkčnosti

Další zajímavou možností použití je virtuální disk se souborovým systémem NTFS s kompresí, přesunout do něj celou složku Programs (těsně před vytvořením iso souboru BartPE nebo jeho vypálením na CD), což se hodí zejména v situaci, kdy používáme upravenou verzi BartPE, tzv. BartRAM, viz rubrika BartPE RAM. Celý postup je ale o něco složitější, neboť musíme změnit hodnoty systémových proměnných v BartPE, jako např. %ProgramDrive%, ...

 

Hodně úspěchů přeje Pavel

© 2005 - 2007 Pavel Kříž, www.craftcom.net