Windows Registry HOWTO
19. Březen 2001, 00:00 (22927x zobrazeno)Skrze modifikaci hodnot uložených v registrech můžeme provádět celou řadu zajímavých činností, které ve finále častou vedou k podstatnému zvýšení výkonu systému nebo lepšímu nastavení aplikací. V některých případech je práce s registry tou poslední možností, jak se vyvarovat přeinstalování celého operačního systému. Využití registrů je opravdu široké, ale nepředbíhejme ...
Základní informace
Registry (přesněji Windows Registry) jsou databází, do které si Windows (95/98/Me/NT/2000) ukládají všechna svá nastavení. V registrech najdeme nastavení týkající se veškerého používaného hardwaru a softwaru, dále pak nastavení týkající se vzhledu plochy, konkrétních uživatelů atd. Jakmile uživatel provede jakoukoliv změnu v systému prostřednictvím Ovládacích panelů, změnu v asociování souborů, systémových politikách nebo v instalovaném softwaru, tak všechny tyto změny se promítnou zpětně do registrů. Windows Registry mají tedy pro chod systému zcela zásadní význam.
Registry jsou jako databáze fyzicky uloženy na pevném disku v několika souborech. Z těchto souborů se jejich obsah natahuje při startu operačního systému do paměti. Přesné umístění těchto souborů závisí na použitém operačním systému.
- Pod MS Windows 95/98 a Me jsou registry uloženy v adresáři Windows (typicky c:\windows) ve dvou skrytých souborech s názvem USER.DAT a SYSTEM.DAT Jak už napovídají názvy těchto souborů v souboru SYSTEM.DAT jsou uložena nastavení týkající se systému, v souboru USER.DAT pak nastavení týkající se uživatelů. Pokud v systému pracuje více uživatelů a každý z nich má svůj profil, tak každý z těchto uživatelů má vytvořen svůj vlastní soubor s názvem USER.DAT, který je uložen v \Windows\Profiles\username\USER.DAT
- Pod Windows NT a Windows 2000 je obsah registrů uložen v adresáři %SystemRoot%\System32\Config a skládá se ze šesti souborů: DEFAULT.DAT, SAM.DAT, SECURITY.DAT, SOFTWARE.DAT, SYSTEM.DAT a NTUSER.DAT Oproti Win95 & spol., které jsou určeny spíše pro provozování na lokálním PC nebo pouze jako klient, jsou registry Windows NT a 2000 složitější, právě o nastavení týkající se práv, bezp. politik apod. Registry systému Windows NT/2000 nejsou v žádném případě kompatibilní s registry Windows 95/98/Me. Při přechodu od Win95 na Win NT je nutné reinstalovat všechny 32 bitové aplikace a znovu vytvořit zástupce (ikony) na pracovní ploše pro všechny uživatele.
Obsah registrů nemůžeme editovat přímo, ale pomocí nástroje nazvaného editor registrů (Registry Editor), který najdete v adresáři Windows, soubor regedit.exe. Editor registrů je standardním nástrojem dodávaným s Windows, kromě něj je možné samozřejmě použít i jiný editor dodávaný nezávislým výrobcem viz dále.
Struktura registrů
Registry resp. údaje v nich uložené jsou hierarchicky uspořádány do stromové struktury. Viz obrázek 1.
![]() |
| Obrázek jedna |
Základní strom tvoří šest hlavních "větví" označovaných jako "Handle keys". Jsou to
- HKEY_LOCAL_MACHINE
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_DYN_DATA
- HKEY_USERS
- HKEY_CURRENT_USER
Obsah registrů
V HKEY_LOCAL_MACHINE jsou uloženy informace vztahující se k typu hardwaru počítače a softwaru, který je na něm provozován. Dále pak informace týkající se bezpečnosti, uživatelských práv a sdílení.
V HKEY_CLASSES_ROOT jsou uloženy informace nezbytné pro běh aplikací. Jedná se konkrétně o tyto údaje:
- Všechny přípony souborů a asociace mezi aplikacemi a dokumenty
- Jména všech ovladačů
- Řetězce používané jako ukazatele na text, který reprezentují
- Čísla CLASS ID
- Informace vztahující se k DDE a OLE
- Ikony používané pro aplikace a dokumenty
V HKEY_CURRENT_CONFIG je uložen aktuální hardwarový profil. Data pro tento profil se mapují z HKEY_LOCAL_MACHINE. Pokud systém používá pouze jeden hardwarový profil, což je běžné třeba ve Win95, tak obsah HKEY_CURRENT_CONFIG je stejný jako obsah HKEY_LOCAL_MACHINE\Config\001.
Obsah HKEY_DYN_DATA se trochu liší od ostatních Handle Keys. Zde jsou uloženy informace používané pro řízení hardwaru. Tyto informace se dynamicky zjišťují a nastavují při startu počítače. Jsou uloženy v RAM a nezapisují se na disk.
V HKEY_USERS najdeme informace o standardních uživatelských nastaveních, uživatelích systému a o aktuálně přihlášeném uživateli.
HKEY_CURRENT_USER obsahuje informace o aktuálně přihlášeném uživateli. Příslušné informace se do HKEY_CURRENT_USER mapují z HKEY_USERS.
Nástroje pro editaci registrů
Kromě standardního, již dříve zmíněného editoru registrů dodávaného spolu s operačním systémem Windows můžeme pro práci se registry použít i jiné programy od nezávislých výrobců. Řada z nich obsahuje i nějaké další nadstandardní funkce, které vám mohou velmi ulehčit práci. Mezi tyto nadstandardní funkce patří například možnost vytváření bookmarků, porovnávání obsahu, komprese apod. Přehled vybraných programů viz tabulka jedna.
Problémy s registry a jejich řešení
Vzhledem k povaze informací, které jsou v registrech uloženy asi nikoho nepřekvapí když řeknu, že jakékoliv jejich poškození může mít pro celý operační systém resp. aplikace v něm nainstalované zcela fatální následky. K poškození registrů může dojít například když:
- do systému instalujeme nové aplikace a ovladače
- dojde k hardwarové chybě způsobené např. selháním zařízení (disku, paměti apod)
- často instalujeme a odinstalováváme větší množstvi aplikací
- instalovaná aplikace obsahuje chyby a špatně modifikuje obsah registrů
- nastane nevhodný zásah ze strany uživatele
Abychom se vyhnuli těmto a podobným problémům, obsahují Windows různé bezpečnostní mechanismy s jejichž pomocí můžeme těmto událostem předcházet nebo je i zcela vyřešit.
Např. Windows 95 vytváří při každém startu operačního systému záložní kopie souborů s registry a ukládá je pod názvem USER.DA0 a SYSTEM.DA0 do adresáře s Windows. Při havárii stačí jen příslušné soubory nahradit těmito kopiemi a vše je v pořádku.
Ve Windows 98 máme pro manipulaci s registry tzv. Registry Checker (scanregw.exe), který jednou za den zazálohuje registry do souboru s příponou .CAB Ty se pak ukládají do \Windows\sysbckup První záloha se jmenuje RB00.CAB, druhá RB001.CAB atd. Zálohují se kopie souborů za posledních pět dní. Tento interval si můžete nastavit v souboru scanreg.ini
Kromě tohoto pravidelného zálohování si můžete kdykoliv zazálohovat i aktuální stav registrů, stačí jen spustit Registry Checker. Obnova při havárii je poměrně jednoduchá. Nabootujete do režimu MS-DOS a spustíte MS-DOSovou verzi programu Registry Checker, kterou najdete v \Windows\Command. Tento program se jmenuje scanreg a je nutné ho spouštět s parametrem /restore. Pak si jen vyberete příslušnou záložní kopii a je to hotovo.
Registry můžeme také zazálohovat ručně. Pomocí Editoru Registrů (regedit) vyexportujeme obsah do textového souboru s příponou .REG To se provede tak, že v editoru registrů zvolíte položku Registry/Export Registry File ... Restartujete do MS-DOSu a příkazem regedit /c jmeno_souboru.reg je můžeme zpátky naimportovat.
Pokud selžou všechny záložní kopie existuje ještě jeden způsob. Windows si po svém úspěšném nainstalování a prvním spuštění vytvoří záložní kopii souboru SYSTEM.DAT a uloží ji do kořenového adresáře disku z kterého se bootuje pod názvem SYSTEM.1ST Obnovením tohoto souboru sice přijdete o všechna nastavení, která jste učinili od nainstalování Windows, nicméně budete alespoň schopni nabootovat.
Tipy a triky
Modifikací hodnot v registrech také můžete mimo jiné dosáhnout zvýšení výkonu celého systému resp. jeho částí. Můžeme zrychlit připojení k internetu, nastavit si rychlost CD-ROM mechaniky na vyšší hodnotu než jen 4, modifikovat startovací menu, plochu, ikony používané v systému a mnoho jiných věcí. Tyto a podobné triky najdete například na http://registry.winguides.com





linkuj.cz
del.icio.us
rss - HOWTO




