+ All Categories
Home > Documents > Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1...

Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1...

Date post: 19-Mar-2018
Category:
Upload: nguyenngoc
View: 240 times
Download: 7 times
Share this document with a friend
37
Podrobný start systému Windows 2000/XP a řešení možných chybových stavů Semestrální projekt předmětu OS1 Vypracoval(a): Jana Molnárová Obor: AI Forma: Kombinovaná Ročník: 1 Datum: 10. 12. 2007 E-mail: [email protected]
Transcript
Page 1: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

Podrobný start systému Windows 2000/XP a řešení možných chybových stavů

Semestrální projekt předmětu OS1

Vypracoval(a): Jana MolnárováObor: AIForma: KombinovanáRočník: 1Datum: 10. 12. 2007E-mail: [email protected]

Page 2: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

2

1.0 ÚVOD .................................................................................................................................3

2.0 PRE-BOOT SEKVENCE, START POČÍTAČE ...............................................................4

2.1. POST.............................................................................................................................5

3.0 BOOTOVACÍ SEKVENCE, START SYSTÉMU .............................................................8

3.1 Nástroj Recovery Console ..............................................................................................9

3.2 NTLDR .........................................................................................................................11 3.2.1. ARC cesty..............................................................................................................13

4.0 KERNEL LOAD (NATAŽENÍ JÁDRA SYSTÉMU)......................................................20

4.1. Smss .............................................................................................................................22

5.0 PŘIHLAŠOVACÍ SEKVENCE........................................................................................23

5.1 Winlogon.exe ...............................................................................................................23

5.2 Přihlašování uživatele z pohledu security...................................................................25

6.0 PROČ WINDOWS PADAJÍ A CO JE TO BSOD...........................................................27

6. 1 Analýza dump souborů ..............................................................................................29

7.0 ZÁVĚR ..............................................................................................................................34

8.0 PŘÍLOHY..........................................................................................................................35

Příloha 1 - Seznam všech souborů potřebných pro start systému....................................35

9.0 SEZNAM POUŽITÉ LITERATURY, ZDROJE A LINKY ..........................................37

9.1. Seznam použité literatury a zdroje ............................................................................37

9.2. Linky ........................................................................................................................... 37

Vysvětlivky

Tímto stylem je psán text popisující normální start systému (bootovací proces)

Tímto stylem je psán text, který reaguje na vzniklé problémy. Důvodem takového rozdělení je přehlednost, text je opticky oddělený, ale zároveň neodtrhuje pozornost a neruší.

Page 3: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

3

1.0 Úvod

Cílem této práce je porozumět celému pozadí procesu startu systému běžného domácího/pracovního počítače s operačním systémem Windows 2000 nebo XP. Podle mého názoru je to stále aktuální téma a není to tak jednoduchá věc, jak se na první pohled může zdát. Navíc, pokud člověk tomuto procesu rozumí, má možnost hodně věcí ovlivnit - od času, potřebného k nastartování systému, přes řešení vzniklých chyb až po šetření systémových prostředků nebo optimalizaci programů a výkonu. Během své každodenní práce jsem nasbírala velké množství pokladů k tomu, abych byla schopná takový proces pochopit, popsata rozvést a snad také přiblížit i ostatním čtenářům srozumitelnou a ucelenou formou.

Page 4: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

4

2.0 Pre-boot sekvence, start počítače

Hned jak stiskneme tlačítko Power, provede zdroj energie autotest, ve kterém zkontroluje zda jsou v pořádku všechna napětí a hodnoty. Pokud ano, vyšle procesoru signál „Power Good“ a pokračuje v inicializaci. Pokud ne, počítač nenaběhne. S příchodem signálu „Power Good“ se ukončí zasílání signálu RESET, a tím je dán pokyn procesoru, že může začít zpracovávat první instrukce. Nejdříve začne zpracovávat kód ROM BIOSu, který je šestnáct bajtů dlouhý a nachází se v nejvrchnější části paměti ROM na adrese FFFF:0000. Kód bsahuje pouze Jump instrukci na aktuální adresu programu ROM BIOS.

Pokud odmítne počítač startovat už v téhle chvíli, často bývá příčinou zdroj a jeho výměnou nebo pokud není poškozený, tak odpojením některých zařízení pro odlehčení, vše spravíme. Z praxe také vím, že tenhle stav způsobuje zamáčklé či zapadlé tlačítko Reset.

Pre-boot sekvence pokračuje. ROM BIOSu nařídí základní test hardware pro ověření základních funkcí. Chyby, které by se v tomto bodě bootovacího procesu vyskytly, by byly oznámeny zvukovými signály, protože dosud není inicializovaný systém videovýstupu.

Bohužel, pro „pípání“ PC speakeru, neboli zvukové signály neexistuje žádný standard, ale několik velkých firem jako Phoenix nebo American Megatrends uvádí seznam všech možných stavů v manuálech k základním deskám nebo na svých webových stránkách. V praxi to tedy znamená najít manuál, nebo otevřít bednu počítače (case), prohlédnout základní desku a najít čip k BIOSu. V drtivé většině případů na něm bude samolepka a na ní nápis AMI nebo Phoenix. Jako příklad dávám ukázku nejběžnějších zvukových kódů AMI BIOSu:

3 x krátký tón Chyba v prvních 64K paměti5 x krátký tón Chyba procesoru10 x krátký tón Chyba CMOS1 dlouhý, 2 krátké Chyba video BIOS ROM nebo chybí grafická karta1 dlouhý, 3 krátké Chybný součet paměti nad 64 KB1 dlouhý, 8 krátké Chyba grafické karty, není nebo je poškozena2 krátké Selhání POSt testu1 dlouhý POST dokončil všechny testy

Tabulka 2.1.: Zvukové signály AMI BIOSu

Úplný seznam zvukových signálů AMI BIOSu, Phoenixu a dalších větších firem přikládám jako linky na konci dokumentu ve zdrojích, protože jsou celkem rozsáhlé. Jen u firmy Phoenix jsem napočítala celkem 166 možných stavů.

Někteří výrobci hotových počítačových sestav jako např. firma Dell už do svých nových počítačů speaker vůbec nedávají. Zvukové signály byly nahrazeny blikáním malých LED diodek, které jsou umístěné viditelně na přední straně krytu počítače. V manuálu pak najdeme přehlednou tabulku s jejich vysvětlením.

Page 5: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

5

Vyhledávač zařízení může vyžadovat zavedení vlastních ROM BIOS rutin přímo z připojeného zařízení, takto zavádí své ovladače většina grafických karet. Startovací rutiny BIOSu kontrolují paměťový prostor C000:0000 až C780:0000 video ROM a chyby v této paměti jsou zobrazeny v podobě textové zprávy jako je např. tato: XXXX ROM Error (kde XXXX označuje špatný adresový segment) ROM BIOS následně zjistí zda jde o teplý nebo studený start. Pro toto zjištění se provedou rutiny BIOSu, které zjišťují hodnotu dvou bytů na adrese 0000:0472. Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ROM BIOS provede úplný POST test. V opačném případě, když jde o teplý start je v POST testech vypnut test paměti.

2.1. POST

POST je zkratka pro Power On Self Test a jedná se o malý diagnostický program, který testuje všechen hardware zda je přítomný a připravený k práci. Pokud se nevyskytne žádná chyba, která by byla zastavila testovací proces, většina tohoto testování je uživateli skryta a probíhá velmi rychle. Vzniklé chyby oznamuje dvěma způsoby – již zmíněnými zvukovými signály nebo pokud je inicializována grafická karta chybovými hlášeními. Výsledky těchto tří testů jsou viditelné i uživateli:

Inicializace videokarty (a od tohoto okamžiku i zobrazování konfiguračníchinformací nebo chybových hlášení, pokud je to potřeba)

Identifikace BIOSu, zobrazení verze, výrobce a data Test všech paměťových čipů, přičemž se zobrazuje průběh načítání dostupné

instalované paměti

V tuto chvíli máme nahoře na obrazovce informace o výrobci naší základní desky, verzi BIOSu, (ve většině případů) Energy Star logo a dole sériové číslo BIOSu.

Obrázek 2.1.: Start počítače, identifikace desky a BIOSu

Page 6: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

6

Chyby, které se během POST testů vyskytnou mohou být klasifikovány jen do dvou stavů: jako kritické nebo nepodstatné a do těch nepodstatných patří i informování uživatele o průběhu inicializace. Kritické chyby ukončí bootovací proces a upozorní uživatele na vzniklý stav zvukovými signály nebo chybovým hlášením. Nepodstatné chyby zobrazí chybovéhlášení, ale povolí systému pokračovat dál v bootovacím procesu. Pro představu přikládám ukázku nejčastějších viditelných chybových hlášení Award BIOSu:

Informační, které nezastaví bootovací proces, ale informují uživatele:

HARD DISK initializing Některé pevné disky potřebují více času pro inicializaciMEMORY SIZE HAS CHANGED SINCE LAST BOOT

Velikost RAM paměti počítače se změnila od posledního spuštění (zvětšila nebo zmenšila)

Press ESC to skip memory test Pokud chcete zastavit test paměti, stiskněte klávesu Escape

Press TAB to show POST screenPokud chcete přepnout obrazovku z klasické na zobrazení konfigurace programu POST, stiskněte klávesu TAB (umožňují jen některé BIOSy)

Tabulka 2.2.: Informační hlášení, které běh systému nepřeruší

Obrázek 2.2.: Kritická chyba - ROM checksum error

Příklady kritických chyb, které vyžadují interakci s uživatelem, nebo úplně zastaví bootovací proces:

CMOS battery failed CMOS baterie už není funkční, prosím vyměňte jiKeyboard error or no keyboard present

Chyba inicializace klávesnice. Buď chybí (není správně zapojená) nepracuje správně nebo jsou permanentně stisklé některé klávesy.

Memory Test Fail POST test narazil na chybu během testování RAM paměti

No boot device was foundInsert a system disk into drive A: and press Enter... Systém nenalezl MBR a nemůže pokračovat ve startu systému

Primary master hard disk fail POST test narazil na chyby pevného disku během testůSYSTEM HALTED. (CTRL-ALT-DEL) TO REBOOT...

Bootovací proces musel být přerušen a počítač musí být restartován stiskem kláves CTRL + Alt + Delete.

Tabulka 2.3.: Kritické chyby, které zastaví bootovací proces

Page 7: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

7

Pokud se počítač zastavil v této fázi bootování, bude nejlepší, když si opíšeme chybové hlášení a výrobce BIOSu a pokusíme se najít vysvětlení na webových stránkách výrobce nebo u odborníků. Některá dobře vybavená servisní centra mívají k dispozici zvláštní debugovací POST rozšiřující kartu, která obsahuje seznam kódů všech nejpoužívanějších výrobců základních desek a odhalit příčinu pro ně bývá otázkou několika minut, nicméně většina těchto hlášek je intuitivní a uživatel zvládne nápravu sám.

Pokud se nevyskytla žádná chyba, pokračujeme v bootovacím procesu. BIOS vyhledá a přečte konfigurační informace uložené v CMOS. CMOS je malá oblast paměti, která je napájena z malé baterie umístěné na základní desce. Nejdůležitější informací v CMOS je pro start systému proces pořadí zařízení, která budou zkoušena pro zavedení operačního systému (disketa, CD/DVD nebo pevný disk). Na obrazovce v ten okamžik můžeme vidět tabulku konfigurace počítače, ve které je například typ procesoru, disky a mechaniky, velikost základní paměti nebo porty.

Obrázek 2.3.: Tabulka konfigurace

Page 8: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

8

3.0 Bootovací sekvence, start systému

BIOS zjišťuje, zda úplně první sektor na zařízení, které bylo na prvním místě v pořadíobsahuje Master Boot Record (MBR), nejčastěji je to pevný disk. Master Boot Record je úplně první sektor na cylindru 0, hlavě 0, sektoru 1 a zabírá 512 bajtů. Pokud je tento sektor nalezen, je narhán do paměti na adresu 0000:7C00 a konec MBR je otestován na přítomnost hodnoty 55AA, která se nazývá End of Sector marker, tedy v překladu něco jako ukazatel konce. Pokud tato hodnota chybí, BIOS tento stav vyhodnotí jako poškozený MBR nebo nový pevný disk, který ještě nebyl formátován a vypíše na obrazovku příslušné chybové hlášení. Když není MBR na prvním zařízení vůbec nalezen, opakuje BIOS celý postup hledání u zařízení, které je nastaveno jako druhé, případně třetí v pořadí.

MBR je rozdělen na dvě části. Partition tabulku, která popisuje rozvržení pevného disku a Partition loader, což je program potřebný pro pokračování v bootovacím procesu. Instalace více operačních systémů na jednom počítači obyčejně zahrnuje i nahrazení originálního loaderu bootovacím loaderem programu, který uživateli umožňuje vybrat konkrétní disk pro další kroky procesu. Pokud je MBR zaveden do paměti předá se řízení inicializace Partition loaderu, který zabírá většinu z jeho 512 bajtů. Partition loader zjistí v partition tabulce kterýoddíl je označen jako aktivní a poté prohlédne první sektor této oblasti, zda obsahuje Boot Record. Partition tabulka je 64 bajtů dlouhá datová struktura, která uchovává informace o typu a lokaci jednotlivých oddílů na pevném disku. Každý zápis o oddílu je 16 bajtů dlouhý a začíná na přesně daném místě, pokud tolik oddílů nemáme definováno, obsah daného zápisujsou samé nuly.

Boot Record je také 512 bajtů dlouhý a pokud ohlásí na konci opět hodnotu 55AA, MBR ukončí řízení inicializace a předá ho Boot Recordu. Hlavní úkol Boot Recordu je vyhledatsoubory operačního systému. Pro DOS/Windows 95/98/ME je to IO.sys, pro systém Windows NT/2000/XP je to NTLDR. Obsah Boot Recordu závisí na formátu souborového systémupevného disku. Pokud je to FAT, Windows zapíší kód pro čtení FAT systému a Boot Record obsahuje informace typu počet bajtů na sektor, počet sektorů na cluster apod. Pokud je to NTFS, kód Boot Sectoru obsahuje přesně tolik kódu, aby dokázal číst strukturu disku a splnil svůj úkol - nalézt NTLDR.

V případě chybného MBR, partition tabulky nebo kontrolní hodnoty se bootovací proces přeruší s chybovou hláškou, která může vypadat například takto:

Obrázek 3.1.: Chybný MBR

Page 9: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

9

NO ROM BASIC – SYSTÉM HALTED nebo No Boot Device Available (press F1 to retry boot) nebo No Boot Sector on Hard Disk nebo Missing Operating System neboInvalid partition table neboError loading operating system

Všechna tato chybová hlášení znamenají to samé - bootovací proces nemůže dál pokračovat, protože nenašel nic, čemu by předal řízení a co by nastartovalo (v tuto chvíli zatím) jakýkoliv systém. Velké procento případů má na svědomí zapomenuté médium (disketa, CD/DVD) v mechanice, které neobsahuje žádný systém a bootovací proces je nastavený tak, aby prohledával disketovou mechaniku nebo CD/DVD mechaniku dříve než pevný disk. Tady je řešení snadné, odstraňte médium, stiskněte klávesu enter a pokračujte v bootovacím procesu.

Pokud to médiem není, může být na vině samotný pevný disk a je ho potřeba nahradit, nebo je v pořádku, ale není na něm žádný operační systém, nebo tam systém měl být a teď je poškozen. Pokud chceme nainstalovat nový operační systém, stačí vložit originální bootovací CD s operačním systémem Windows 2000/XP a postupovat podle instrukcí na obrazovce, nebo můžeme použít speciálně upravenou bootovací disketu v kombinaci s originálním instalačním CD, pokud nám pouhé pozorování instalačního procesu nestačí a chceme některé věci ovlivnit. Další možnosti jak nainstalovat nový systém jsou například instalace pomocí sítě, bezodpovědní instalace nebo nahrání celé nové image disku pomocí programu nějaké třetí strany, např. pomocí aplikace Norton Ghost. Předmětem této práce je však standardní bootovací proces a náprava vzniklých chyb, takže se budeme zabývat poslední možností: Operační systém měl být nalezen a je poškozený.

3.1 Nástroj Recovery Console

K opravě poškozeného systému Windows 2000/XP nám slouží nástroj Recovery Console. Tento nástroj je v principu upravený příkazový řádek s omezenými funkcemi. Umožňuje přístup ke svazkům se systémem souborů NTFS, FAT a FAT32, výpis služeb, nastartovat nebo zastavit službu pro další spuštění systému, přistupovat do rootu disku, do systémového rootu a do složky /cmdcons a dokáže opravit boot sektor nebo masterboot record. Jak spustit nástroj Recovery Console?

Předpokládejme, že máte v BIOSu povolené bootování z CD. Vložte originální bootovací CD systému Windows 2000 nebo XP a na úvodní obrazovce stiskněte klávesu F10, nebo pro možnosti opravy systému stiskněte klávesu R, a poté klávesu K. Spustíte tak Konzolu pro zotavení.. Zvolte číslo instalace systému Windows, kterou chcete opravit, a poté zadejte heslo administrátora. (Pokud nebylo heslo administrátora zadáno, stiskněte pouze klávesu enter)

Page 10: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

10

Malé upozornění: Pokud zadáte heslo třikrát špatně, nástroj Recovery Console se ukončí a restartuje počítač.

Obrázek 3.2.: Nástroj Recovery Console

Pro obnovu MBR/Boot sektoru zadejte příkaz fixmbr a fixboot. Pro ukončení nástroje a restartování počítače zadejte příkaz exit. Úplný seznam příkazů nástroje Recovery Console přikládám na konci dokumentu v sekci zdroje jako link.

Nástroj Recovery Console jde přidat do úvodní spouštěcí nabídky systému zadáním příkazu Winnt32.exe s parametrem /cmdcons, bohužel ne chvíli, kdy je systém poškozen, ale předvídavě předem. Existuje i možnost, že nám nástroj Recovery Console nepomůže, sám se ukončí a počítač musí být přeinstalován. To se stane ve chvíli, kdy schází nebo je poškozená databáze účtů SAM a není možné ověřit účet administrátora, který se pokouší o přihlášení.

Další možnosti jak opravit poškozený systém jsou nahrání celé nové image disku, pokud je k dispozici nebo použití bootovacího Windows live CD. Live CD je operační systém uložený na bootovatelném CD, který může být rovnou spuštěn bez nutnosti instalace na pevný disk nebo zdlouhavé konfigurace. Obrovskou výhodou je, že se počítač znovu vrátí ke svému původnímu systému hned jak je Live CD vyjmuto a počítač restartován. To je možné díky tomu, že data nejsou ukládána na pevný disk, ale do dočasné paměti, jako je RAM. První Live CD se objevilo zhruba před třemi lety s linuxovými distribucemi a dnes už tak můžeme přizpůsobit i systém Windows XP, který díky tzv. Preinstalled Environment (PE) může běžet přímo z CD/DVD, podobně jako jiné linuxové distribuce (například Knopixx). CD kromě samotného systému obsahuje nejrůznější utility třetích stran, které pomáhají uživatelům s řešením nejrůznějších problémů, podporu sítí (včetně klienta pro Netware a VNC) nebo různé monitorovací nástroje a velkou výhodou je bezproblémová podpora diskových oddílů s NTFS. Ne všechny linux Live CD si s NTFS poradí. Live CD si můžeme sestavit sami, pokud vlastníme originální Windows 2000/XP CD a je možné jej celkem pohodlně měnit nebo rozšiřovat pomocí utilit na stránkách internetu o další nástroje nebo ovladače. Více informací o live CD najdete na konci dokumentu ve zdrojích mezi linky.

Page 11: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

11

3.2 NTLDR

Pokračujeme v bootovacím procesu, který teď bude řídit NTLDR, protože jsme zvolili systém Windows 2000 nebo XP. Jde o skrytý systémový soubor, který se nachází v kořenovém adresáři systémového oddílu a je proveden ve čtyřech fázích:

Fáze inicializace Výběr operačního systému Detekce hardware Výběr hardwarové konfigurace

NTLDR ve fázi inicializace nejdříve startuje mini FAT a NTFS ovladače, které obsahuje přímo ve svém kódu. Kód Boot sektoru používaný doteď si nedokáže poradit ani s podadresáři a a prohledává pouze root disku. Pokud používáme SCSI disky, kód NTLDR si s jejich čtením sám poradit neumí a inicializuje soubor Ntbootdd.sys. Dále zapíná stránkování a přepínáprocesor z reálného do protected módu. V reálném režimu nedochází k žádnému překladu paměťových adres z virtuálních na fyzické s to znamená, že je přístupný pouze první megabajt fyzické paměti počítače. V protected módu a se zaplým stránkováním zpřístupňuje 32bitové adresování paměti a to znamená, že od této chvíle dokáže pracovat až se 4 GB fyzické paměti.

Celý proces inicializace systému se zastaví, pokud kód boot sektoru nedokáže NTLDR v rootu disku najít a vypíše toto chybové hlášení:

Obrázek 3.3.: Chybějící NTLDR

Naším řešením je opět nástroj Recovery Console. V příkazovém řádku konzoly napište příkaz map a potvrďte klávesou enter. Pak následují příkazy:

copy D:\i386\ntldr c:\ (enter)copy D:\i386\ntdetect.com c:\ (enter)

Všechny důležité soubory jsou zkopírovány, restartuje počítač. V případě, že by vám tento postup nepomohl, můžete zkusit místo kopírování souborů zadat v příkazovém řádku příkazy - fixmbr a poté fixboot nebo opět Windows live CD a přehrání souborů ze zálohy.

Page 12: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

12

NTLDR pokračuje v inicializaci a vyhledává soubory, které pro bezproblémový chod počítače existovat nemusí, ale pokud existují, tak ovlivňují start systému. Seznam souborů, potřebných pro start přikládám na konci dokumentu jako přílohu číslo 1. Pokud v této fázi nalézá „aktivní“ soubor Hiberfil.sys, předá se startovací proces kódu jádra, který se stará o hibernaci a postupně se obnoví systém do stavu před hibernací. Aktivní znamená, že jeho čas vytvoření se shoduje s časem posledního vypnutí systému. Soubor Hiberfil.sys mimo jiné obsahuje „full memory image“, tedy uloženou celou paměť ve chvíli hybernace a ARC cestu k boot partition, která byla použita pro start systému před hybernací. Pokud soubor Hiberfil.sys nalezen není, NTLDR pokračuje dál v inicializaci systému.

Další soubor, který NTLDR hledá je boot.ini a tím se také dostáváme k fázi číslo 2, výběru operačního systému. Pokud je boot.ini v kořenovém adresáři nalezen načte jeho obsah do paměti a když obsahuje záznamy o více než jednom operačním systému, zastaví se na tomto bodě a vyčká se na uživatelův výběr. Jestliže soubor boot.ini v kořenovém adresáři není, pokračuje v bootovací sekvenci nahráním systému z prvního oddílu prvního disku, kterým je běžně C:\.

Obrázek 3.4.: Výběr operačního systému

Boot.ini je systémový, skrytý a pouze pro čtení (read only a hidden), ale můžeme do něj zasahovat, když tyto atributy dočasně zrušíme. Standartně se nachází v rootu disku a může vypadat např. takto:

[boot loader]timeout=20default=multi(0)disk(0)rdisk(0)partition(4)\WINNT

[operating systems]multi(0)disk(0)rdisk(0)partition(4)\WINNT="Microsoft Windows 2000 Server" /fastdetectmulti(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

Page 13: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

13

multi(0)disk(0)rdisk(0)partition(1)\NTWORK="Windows NT Workstation, verze 4.00"multi(0)disk(0)rdisk(0)partition(1)\NTWORK="Windows NT Workstation, verze 4.00 [VGA]" /basevideo /sosC:\="Microsoft Windows"

Seznam přepínačů souboru Boot.ini přikládám na konci dokumentu v sekci linky. Pokuduživatel nevybere žádnou položku ze spouštěcí nabídky v určitém čase, zadaném v souboru Boot.ini jako položka timeout, Ntldr zvolí výchozí možnost, kterou je reprezentuje položka„default=“. Pokud čeká počítač příliš dlouho než sám vybere operační systém, stačí upravit soubor Boot.ini v některém vašem oblíbeném textovém editoru nebo pomocí grafických nástrojů ve Windows jako Msconfig, Startup and recovery nebo Bootcfg.exe, který se však poprvé objevil až ve Windows XP. Položka, která je zodpovědná za čas poskytnutý k výběru systému se jmenuje „timeout“ a patří do sekce [boot loader]. Všechny volby obsažené v Boot.ini se ukládají do hodnoty registru HKLM\System\CurrentControlSet\Control\SystemStartOptions.

3.2.1. ARC cesty

Pro výběr více systémů slouží ARC (Advanced Rics Computing) cesty jako např. tato: multi(0)disk(0)rdisk(0)partition(1). Jak to funguje?

multi or scsi(x)disk(z)rdisk(a)partition(b)\%SystemRoot%

multi(x) Pořadové číslo řadiče IDE nebo SCSI adaptéru s BIOS. (Vždy 0)scsi(x) Pořadové číslo pro kartu SCSI bez BIOSudisk(z) Pouze pro SCSI - disk ID. Při použití multi je toto nastavení vždy 0.rdisk(a) Číslo disku na řadičích IDE (EIDE), 0 první, 1 druhý... SCSI je vždy 0partition(b) Číslo oddílu 1,2,3,4... (primární oddíly jsou vždy před rozšířenými oddíly

a logickými disky)\%SystemRoot% Adresář s Windows. Nejčastější a výchozí nastavení je winnt

Tabulka 3.2.1.: Složení ARC cest

Obrázek 3.5.: Rozdělení disků

Page 14: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

14

C:\ = multi(0)disk(0)rdisk(0)partition(1)

D:\ = multi(0)disk(0)rdisk(0)partition(2) E:\ = multi(0)disk(0)rdisk(1)partition(3)

F:\ = multi(0)disk(0)rdisk(1)partition(1) G:\ = multi(0)disk(0)rdisk(1)partition(4)

H:\ = multi(0)disk(0)rdisk(1)partition(2)

I v téhle fázi inicializace se může stát, že se proces přeruší. Pokud soubor Boot.ini neexistuje a NTLDR nedokáže najít ani %systeomroot%, nebo přidáte/odeberete některou z partiton tabulek a zapomenete aktualizovat soubor boot.ini, objeví se toto chybové hlášení:

Obrázek 3.6.: Poškozený soubor Boot.ini

Nebo hlášení: Windows could not start because the following file is missing or corrupt: \winnt root\ system32\ntoskrnl.exe. Řešením je dohrání/update souboru boot.ini

Pokud máte originální bootovací CD, existuje ještě jeden způsob opravy. Vložte CD do mechaniky a restartujte počítač a v nabídce opět zvolte R pro nástroj Recovery Console.Zvolte systém, zadejte administrátorské heslo a počkejte až se objeví příkazový řádek. V něm pak napiště příkaz bootcfg /rebuild a sledujte instrukce na obrazovce. Příkazem exit ukončíte nástroj Recovery Console a počítač se restartuje.

Obrázek 3.7.: Příkaz bootcfg /rebuild

Page 15: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

15

Pokračujeme v bootovací sekvenci, kterou stále řídí NTLDR. V případě, že Boot.ini obsahuje nabídku několika různých systémů a vybereme DOS, Windows 95 nebo 98, NTLDR vyhledá a nahraje soubor Bootsect.dos, který hledá standartně v rootu systémového disku. Bootsect.dos pak inicializuje soubory IO.sys, MSDOS.sys a command.com. Tyto systémy však nejsou předmětem mé práce, takže opouštíme tuto cestu a předpokládejme, že zaváděným systémem je Windows 2000 nebo XP. Pro ně inicializuje NTLDR soubor Ntdetect.com a dostáváme se k posledním dvěma fázím NTLDR, detekci hareware a výběru hardwarového profilu.

Soubor Ntdetect.com provede detekci hardware, vytvoří seznam aktuálně nainstalovaných hardwarových komponent a vrací jej pro pozdější zahrnutí do registrů pod klíčem HKEY_LOCAL_MACHINE\HARDWARE. Ntdetect.dom se dotazuje (BIOSu) na informace typu:

Datum a čas, uložený ve CMOS

Druhy sběrnic (ISA, PCI, EISA apod.) a porty

Počet, velikost a typ pevných disků, existence disketové mechaniky

Druh a počet vstupních zařízení (myš, klávesnice)

Druh a parametry grafické karty

Získané informace jsou předané NTLDR a následně uložené v registrech, v klíči HKEY_LOCAL_MACHINE\HARDWARE\ DESCRIPTION, později po startu k použití.

Pro systém Windows 2000 je v tuto chvíli vidět černá obrazovka a v její spodní části narůstá postupně bílý pruh (starting Windows progress bar). U Windows XP už můžeme v tu samou chvíli vidět grafické prostředí a barevné logo.

Obrázek 3.8.: Startující Windows XP

Page 16: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

16

Obrázek 3.9.: Windows 2000 progress bar

Každý kousek Windows 2000 progress baru navíc znamená jeden celý úspěšně nahraný ovladač a standartně jich je něco kolem 80ti. (počet dílků nesouhlasí, na každý ovladač připadá 1.25% dílku). Pozor, ovladače jsou zatím jen nahrávány do RAM paměti, ale nejsou inicializovány. Pokud je zapnut přepínač Boot.ini /SOS, který způsobí vypsání názvů souborů místo grafické podoby bootu, ukazuje jen seznam nahrávaných ovladačů. Pokud se tento seznam na některém z nich zastaví, neznamená to, že je to ten, který způsobuje potíže.

Pod progress barem je zpráva „For troubleshooting and advanced startup options forWindows2000, press F8“ (Pro řešení potíží nebo upřesnění možností spuštění – stiskněteklávesu F8). Stiskne-li uživatel klávesu F8, nabídne mu systém rozšířenou nabídku spuštění

Obrázek 3.10.: Startovací nabídka systému Windows 2000 v případě potíží

Page 17: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

17

Stav nouze - Spustí systém jen s těmi nejzákladnějšími soubory a drivery, nenahraje podporu sítě. Co se spustí je v klíči HKLM\System\CurrentControlSet\Control\Safeboot\minimal. Ve stavu nouze můžeme využívat veškerá zařízení jen se základním nastavením (například grafickou kartu), ale i to stačí ke kontrole logů, protokolů, ke spuštění diagnostických programů nebo odstranění špatných driverů. Pokud nám nenabíhá systém ani ve stavu nouze, pak nám zbývá už jen Recovery Console a příkaz disable, protože driver, který pád systému způsobuje je zřejmě používán i pro režim nouze (opět například grafická karta)

Stav nouze s prací v síti - Spustí systém jen s těmi nejzákladnějšími soubory a drivery, ale i s podporou práce v síti. Co se spustí je v klíči HKLM\System\CurrentControlSet\Control\Safeboot\ network

Stav nouze s příkazovým řádkem - Spustí systém jen s těmi nejzákladnějšími soubory a drivery, nenahraje podporu sítě. Po dokončení spustí příkazový řádek (režim MS-DOS).

Při zavádění povolit protokolování - Tato možnost vytvoří zaváděcí protokol o procesu startu systému, který uloží do souboru ntbtlog.txt (pro systém Windows 2000 i XP) v rootu systému.

Příklad souboru logu:

Microsoft (R) Windows 2000 (R) Version 5.0 (Build 2195)2 11 2000 10:53:27.500Loaded driver \WINNT\System32\ntoskrnl.exeLoaded driver \WINNT\System32\hal.dllLoaded driver \WINNT\System32\BOOTVID.DLLLoaded driver ACPI.sysLoaded driver \WINNT\System32\DRIVERS\WMILIB.SYSLoaded driver pci.sysLoaded driver isapnp.sysLoaded driver compbatt.sysLoaded driver \WINNT\System32\DRIVERS\BATTC.SYSLoaded driver intelide.sysLoaded driver \WINNT\System32\DRIVERS\PCIIDEX.SYSLoaded driver pcmcia.sysLoaded driver ftdisk.sysLoaded driver Diskperf.sysLoaded driver dmload.sysLoaded driver dmio.sys

Did not load driver Media Control DevicesDid not load driver Communications PortDid not load driver Audio Codecs

Každý řádek, který začíná slovy Did not load driver... by nám měl napovědět kde je chyba. Pro analýzu těchto souborů existuje jen jeden nástroj jménem Bootlog Analyser, ale jeho nevýhdou je, že nelze sehnat samostatně a zdarma. (Je součástí balíku produktů jménem RegRun)

Page 18: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

18

VGA režim - Tato volba spustí systém s použitím základního VGA ovladače grafiky. Tato možnost spustí systém Windows v režimu 640 x 480 s aktuálním grafickým ovladačem (ne s ovladačem Vga.sys). Tento režim je užitečný, pokud bylo zobrazení nastaveno tak, že je daný monitor nezvládne.

Poslední známá dobrá konfigurace - Po každé úspěšně ukončené bootovací sekvenci, která končí přihlášením uživatele si systém automaticky vytvoří kopii seznamu aktuální kombinace ovladačů a systémových nastavení (HKLM\System\Control00n, kde 00n je následující volné číslo) a uloží je jako poslední známou dobrou konfiguraci a předchozí smaže. Tato uložená data mohou být použita příště, pokud přidání nového zařízení povede k chybnému startu systému. Volba last known good configuration neřeší problémy vzniklé po přihlášení, SAM databázi ani problémy se software.

Režim obnovení adresářových služeb - Tato možnost obnoví službu Active Directory na serveru - řadiči domény. Volba je dostupná pouze na řadiči domény.

Režim ladění - Při této volbě budou během spouštění systému zasílány informace sériovým kabelem jinému PC, na kterém běží nastavený ladící program, například Windbg.

Předpokládejme, že běh systému upravovat nechceme a klávesu F8 nepoužijeme. Proces inicializace systému stále řídí NTLDR a na řadě je jeho poslední fáze – výběr hardwarové konfigurace počítače. Pokud je v systému definováno více hardwarových profilů, zobrazí menu s nabídkou a čeká se na uživatelův výběr. Pokud používáme pouze jeden hardwarový profil, NTLDR tento krok přeskočí a menu nezobrazí.

Jeden z posledních úkolů, které NTLDR provede než odevzdá řízení startu počítače je nalézt soubory Ntoskrnl.exe a Hal.dll a nahrát je do paměti. Ntoskrnl.exe je mini-jádro systému a po jeho úspěšném nahrání mu NTLDR předá řízení a soubor Hal.dll (Hardware Abstraction Layer) bude oddělovat toto mini-jádro systému od hardware.

Tady se můžeme setkat s dalším přerušením bootovacího procesu nebo v extrému s BSOD, (více o BSOD v kapitole 6) a restartem počítače. Pokud dojde k poškození systémových souborů Ntoskrnl.exe nebo Hal.dll nebo některý ze souborů úplně chybí, objeví se toto chybové hlášení:

Obrázek 3.11.: System hive corruption

Page 19: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

19

Obrázek 3.12.: Poškozené systemové soubory nebo chybějící HAL.DLL

Řešením je opět Recovery Console a použití příkazů pro kontrolu nebo přehrání systémových souborů.

Pokud se nás žádná z výše uvedených chyb netýká, NTLDR pokračuje. Jak jsou postupně nahrávány ovladače zařízení do paměti, třídí je do skupin a zapisuje o nich informace do klíče registru HKLM\SYSTEM\CurentControlSetO\Services. Ovladače mají své přesně dané pořadí startu, a to je zapsané v klíči HKLM\SYSTEM\CurentControlSetO\Control\ServiceGroupOrder. Ty, které mají nastavenu startovací hodnotu Service_Boot_Start 0 (0x0) budou zavedeny jako první. Zapsáním informací o ovladačích práce NTLDR končí, předává řízení načtenému souboru Ntoskrnl.exe a opouští inicializaci systému.

Hodnoty v klíči HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

0x0 = Boot Ovladače jsou nahrány do paměti pomocí NTLDRL, inicializovány pomocí Ntoskrnl během inicializace jádra systému

0x1 = System Ovladače jsou nahrány a inicilaizovány pomocí Ntoskrnl během inicializace jádra

0x2 = Auto Nahrány a startovány automaticky po startu systému0x3 = Manual Ovladač je inicializován manuálně nebo pomocí jiného procesu0x4 = Disabled Ovladač nebude inicializován

Tabulka 2.4.: Pořadí ovladačů při startu systému

Page 20: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

20

4.0 Kernel load (natažení jádra systému)

Bootovací proces je přednán souboru Ntoskrnl.exe. Ntoskrnl.exe je považován za mini-jádro systému a spolu se souborem Hall.dll v této fázi startu počítače inicializují výkonné subsystémy a ovladače zařízení, připravují systém na start nativních aplikací a spouští smss.exe, který je zodpovědný za za vytvoření viditelného uživatelského prostředí.

Ntoskrnl je vykonáván ve dvou fázích - fáze 0 a 1 a jeho nejdůležitějším úkolem je zavolat hned na začátku fáze 0 funkci KiSystemStartup, která volá HalInitializeProcessor a KiInitializeKernel. Během fáze 0 jsou zakázána přerušení a smyslem této fáze je pouze vybudovat prostředí pro volání služeb ve fázi 1. Jsou inicializovány tyto subsystémy, označovány jako Executive:

Object Manager (vytváří, řídí a maže objekty, které představují zdroje systému, např procesy nebo vlákna)

Microkernel (v tuto chvíli Ntosrknl.exe a Hal.dll, některé ovladače) Security Reference Monitor (stará se o bezpečnostní politiku lokálního počítače) Memory manager (řídí virtuální paměť, kontroluje stránkování a umožňuje práci s

reálnou pamětí) Cache Controller (řídí operace s načítáním a předáváním bloků souborů v cache) I/O Manager (řídí vstup a poskytuje výstup pro různá zařízení) Process Manager (vytváří, ukončuje a pozastavuje procesy a vlákna programů)

Ve fázi 1 je zavolán soubor Hall.dll a jeho funkce HalInitSystem, která přebere řízení přerušení a oddělí jádro systému (nyní Ntoskrnl) od hardware. Zinicializuje se ovladač grafické karty Bootvid.dll, díky kterému se na obrazovce systému Windows 2000 objeví přibývající Starting Windows progress bar, tentokrát na bílém pozadí s logem. Windows XP mají tuto fázi inicializace také, ale místo bílé obrazovky vidíme opět již známou černou s logem, jako předtím vykreslil NTLDR.

Obrázek 4.1.: Grafický Windows progress bar

Page 21: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

21

Ani v tomto případě progres bar nepřibývá náhodně, ale o přesně daný počet procent za každý dokončený úkol:

Prvních 5% progress baru se objeví po inicializaci správce napájení, inicializaci systémového času a inicializaci zbylých procesorů, pokud v počítači nějaké jsou.

Na 10% přeskočí ve chvíli, kdy jádro inicializuje datové struktury plánovače a tabulku odesílání systémových služeb, správce objektů vytvoří kořenový adresář objektů (object manageru) „\“, adresář „\ObjectTypes“ a adresář mapování názvů zařízení DOSu. „\??“ pro Windows 2000 a “\Global??“ pro Windows XP. Monitor bezpečnostních referencí vytvoří adresář \Security a zapne auditování.

Je zavedena podpora jazyků (soubor Internat.exe), načte se soubor Ntdll.dll, správce cache inicializuje svá pracovní vlákna a do object manageru jsou nataženy klíče registrů pro pozdější použití. S inicializací Plug & Play poskočí progress bar o dalších 10%.

Inicializace subsystému pro lokální volání procedur a inicializace protokolovacího souboru bootlog.txt, (pokud byl systém spuštěn s protokolováním, parametrem /bootlog) posune progress bar o dalších 5%. Celkem jsme na 25%.

Nejvíce práce odvede a nejvíce procent na progress baru přibyde díky inicializaci I/O manažera. (Manažer vstupů a výstupů). Každý zavedený ovladač, který měl být inicializován při startu systému posune bar o 2% a standartně je jich 25. Windows progress bar tedy poskočí až na 75%. Je inicializováno WMI (Windows management instrumentation) a nakonec se v oboru názvů správce objektů vytvoří názvy zařízení systému MS-DOS jako symbolické názvy.

Spouští-li se počítač v bezpečném režimu, zaznamená se tato informace do registru a aktivuje se stránkování kódu v režimu jádra (v Ntoskrnl a ovladačích). Progress bar se posouvá na 80%.

Správce napájení inicializuje struktury napájení a to posune progress bar o dalších 5%.

Je vytvořeno vlákno příkazového serveru komunikující s LSASS (subsystém pro lokální ověřování zabezpečení) a progress bar je na 90%.

Posledním krokem, který posune progress bar na 100% je zavolání smss.

Page 22: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

22

4.1. Smss

SMSS (Session Manager), je zodpovědný za vytvoření viditelného uživatelského prostředí. Spouští grafický subsystém (Win32k.sys), Csrss.exe a přihlašovací proces (Winlogon). Běží v uživatelském módu, ale na rozdíl od jiných aplikací v tomto módu je nedílnou součástí operačního systému a to znamená, že je nativní a využívá jen výkonné vnitřní funkce. Vlákno smss vykonává mnoho dalších věcí:

Jsou startovány programy uvedené v HKLM\System\CurrentControlSet\Control\SessionManager\BootExecute, což je například checkdisk nebo se mohou dokončovat instalace, které nemohly být dokončené bez restartu systému (potřebují přepsat část systému, která byla používána nebo přesunout některé důležité sustémy)

Jsou-li nainstalovány terminálové služby, vytvoří se podaresář \Sessions. Jsou otevřeny známé .dll knihovny a vytvoří se objekt \Knowndlls

Vytvoří se dodatečné stránkovací soubory. Konfigurace je uložena pod klíčem HKLM\System\CurrentControlSet\Control\SessionManager\MemoryManagement\PagingFiles.

Inicializuje se registr, HKLM\SAM, HKLM\SECURITY, HKLM\SOFTWARE. I když jsou soubory na disku uvedeny v klíči HKLM\SYSTEM\CurrentControlSet\Control\hivelist, správce konfigurace je vytvořen tak, aby je hledal ve \windows\System32\Config

Vytvoří se systémové proměnné a jsou definovány v klíči HKLM\SYSTEM\CurrentControlSet\SessionManager\Enviroment.

Je zaveden Win32k.sys, který pracuje v režimu jádra. Inicializační kód ve Win32k.sys se používá k přepnutí obrazovky z režimu VGA na rozlišení definované výchozím profilem.

Spuuští se Csrss.exe. Csrss je client/server run-time subsystem a zodpovídá za okna konzolí, vytváření a odstraňování podprocesů a některé části 16bitového virtuálního prostředí systému MS-DOS.

Je volán Winlogon a spouští se přihlašovací proces

Bootovací proces se považuje za téměř za dokončený. Uživateli je zobrazeno dialogové okno Preparing network connections přesně ve chvíli, kdy subsystém služeb skončil s inicializací síťových služeb.

´

Obrázek 4.2.: Připraveno k přihlášení

Page 23: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

23

5.0 Přihlašovací sekvence

5.1 Winlogon.exe

Dostáváme se k poslední části startu systému, a to k přihlášení uživatele. Přihlášení nám zprostředkuje soubor Winlogon.exe, který je nahrán kernelem jako služba. Spouští Lsass a services.exe. Proces Winlogon koordinuje přihlášení, během přihlašování spouští uživatelův první proces, obsluhuje odhlášení a řídí různé další operace týkající se zabezpečení, včetně zadávání hesel během přihlášení, změny hesel a uzamykání či odemykání pracovní stanice. Proces Winlogon musí zajistit, že operace související s bezpečností nejsou viditelné pro žádný jiný aktivní proces a je to jediný proces, který zachycuje požadavek přihlášení přicházející z klávesnice.

Proces Winlogon spoléhá při získávání jména a hesla uživatelského účtu na grafickou identifikační a autentizační knihovnu nazývanou GINA (Graphical Identification and Authentication). Standardní knihovnou GINA je Msgina (\Windows\System32\Msgina.dll). Msgina je zodpovědná za standardní přihlašovací dialogové okno Windows. Tím, že Windows dovolují nahradit standardní GINA knihovnu jinými, (v klíči HKLM\Software\Microsoft\Windows\CurrentVerison\WinLogon\GinaDLL) umožňují systému používat rozdílné mechanismy pro identifikaci uživatelů. Výrobci software mohou dodat vlastní GINA knihovnu, která například používá pro identifikování uživatelů zařízení na rozpoznávání otisků prstů a jejich hesla získává ze zašifrované databáze.

Obrázek 5.1.: Zadávání uživatelského jména a hesla pro systém XP

Page 24: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

24

Obrázek 5.2.: Zadávání uživatelského jména a hesla pro systém 2000

Uživatel je vyzván ke stisku kombinace kláves ctrl + alt + delete a po získání uživatelského jména a hesla volá Winlogon proces Lsass, aby ověřil uživatelův pokus o přihlášení. Pokud je uživatel autentizován, aktivuje přihlašovací proces jeho jménem nadstavbu prostředí. Kromě podpory alternativních knihoven GINA může proces Winlogon zavádět i přídavné knihovny síťových poskytovatelů, kteří vyžadují sekundární autentizaci. Tato schopnost dovoluje získat identifikační a autentizační informace pro více síťových poskytovatelů najednou během normálního přihlášení: Uživatel přihlašující se do systému Windows může být současně autentizován i na unixovém serveru aniž by musel podstoupit další ověřování. Pokud není logovací proces přerušen změnou hesla nebo zadáváním nového, inicializace pokračuje. Předtím než je aktivní jakákoliv uživatelská aplikace, provádí proces Winlogon následující akce:

Vytváří a otevírá objekt window station (objekt \Windows\WindowStations\WinSta0 ve jmenném prostoru správce objektů), který reprezentuje klávesnici, myš a monitor. Proces Winlogon vytváří pro stanici jedinečnou bezpečnostní identifikaci, kterázajišťuje, že žádný jiný proces nemůže přistupovat k pracovní stanici bez výslovného souhlasu procesu Winlogon.

Vytváří a otevírá dvě pracovní plochy: aplikační pracovní plochu (\Windows\WinSta0\Default, známou jako pracovní plocha) a pracovní plochu procesu Winlogon (\Windows\WinSta0\Winlogon, známou jako zabezpečená pracovní plocha). Bezpečnost pracovní plochy Winlogon je zajištěna tím, že k ní může přistupovat pouze proces Winlogon. Na ostatní pracovní plochy přistupují proces Winlogon i uživatelé. Toto uspořádání znamená, že v okamžiku, kdy je aktivní zabezpečená pracovní plocha, nemá žádný jiný proces přístup k jakémukoliv kódu nebo datům z pracovní plochy. Windows používají tuto vlastnost k zabezpečení operací s hesly a k uzamknutí či odemknutí pracovní plochy. Dříve než se kdokoli může přihlásit do počítače, je viditelnou pracovní plochou plocha procesu Winlogon. Po přihlášení uživatele znamená jakékoliv stisknutí kláves Ctrl + Alt + Delete přepnutí z výchozí pracovní plochy zpět na plochu Winlogon a to také vysvětluje, proč všechna okna Vaší pracovní plochy po stisknutí kombinace Ctrl + Alt + Delete zmizí a vrátí se až poté, co opustíte dialogové okno opustíte. Sekvence Ctrl + Alt + Delete vždy předloží

Page 25: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

25

bezpečnou pracovní plochu řízenou procesem Winlogon. Tento mechanismus zabrání například programům typu trojský kůň v získání kontroly nad pracovní plochouv okamžiku stisknutí Ctrl + Alt + Delete.

Sestavení spojení LPC s portem LsaAuthenticationPort procesu Lsass. Toto spojení se použije k výměně informací během přihlášení, odhlášení a operací s heslem.

Jakmile se pracovní plocha procesu Winlogon během inicializace vytvoří, stává se z ní aktivní pracovní plocha. Když je zabezpečení plocha Winlogon aktivní, je vždy uzamknuta. Proces Winlogon plochu odemkne jen při přepnutí na pracovní plochu aplikace nebo na plochu spořiče obrazovky. Samozřejmě, pracovní plochu dokáže zamknout nebo odemknout jen proces Winlogon.

5.2 Přihlašování uživatele z pohledu security

Přihlašování začíná v okamžiku, kdy uživatel stiskne sekvenci Crl + Alt + Delete. Po jejím stisknutí zavolá proces Winlogon knihovnu GINA, aby získala z přihlašovacího dialogu jméno a heslo uživatele. Proces Winlogon vytvoří pro uživatele jedinečný místní přihlašovací identifikátor SID, který přiřadí této instanci pracovní plochy (klávesnici, obrazovce a myši). V případě, že je uživatel úspěšně přihlášen, dostane se identifikátor SID do tokenu přihlašovacího procesu a to je krok, který chrání přístup k pracovní ploše. Další přihlášení pod stejným účtem, ale na jiném počítači nebude moci zapisovat do pracovní plochy prvního počítače z toho důvodu, že druhé přihlášení bude mít jiný token pracovní plochy než ten z prvního přihlášení.

Z pohledu security jsou pro nás v tuto chvíli zajímavé především autentizační balíčky, které musí Winlogon získat od procesu jménem Lsass. Seznam balíčků se nachází v registrech pod klíčem HKLM\SYSTEM\CurrentControlSet\Control\Lsa. Jakmile balíček uživatele ověří, pokračuje proces Winlogon v přihlašovací operaci autentizovaného uživatele. Pokud žádný z balíčků neoznámí úspěšné ověření, přihlašovací proces se přeruší a uživateli je vypsána příslušné chybové hlášení.

Autentizační balíčky se používají dva: Kerberos a MSV1_0. Výchozím balíčkem na samostatném systému Windows je balíček MSV1_0 (\Windows\System32\Msv1_0.dll). Proces Lsass využívá MSV1_0 i na členských počítačích domény, které mají systém starší než Windows 2000, a na počítačích, které nejsou schopny po autentizaci lokalizovat doménový řadič. Do této kategorie spadají například přenosné počítače dočasně odpojené ze sítě. Autentizační balíček Kerberos (\Windows\System32\Kerberos.dll) se používá na počítačích, které jsou členy domény Windows. Kerberos pro Windows ve spolupráci s se službou Kerberos běžící na doménovém řadiči podporuje protokol Kerberos verze 5, revize 6.

Uživatel je ověřen a pokračujeme v startu systému. Winlogon vyhledá v registru hodnotu HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit a vytvoří proces, který spustí vše, co je obsahem tohoto řetězce. Hodnota může obsahovat několik programů typu .exe oddělených čárkami. Výchozí hodnotou je program Userinit.exe, který zavádí uživatelský profil, a vytvoří proces, který spustí to, co je obsahem hodnoty

Page 26: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

26

HKCU\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell, pokud tato hodnota existuje. Ve výchozím nastavení hodnota neexistuje a Userinit.exe spouští to, co je obsahem hodnoty HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell, což je program Explorer.exe. Po splnění tohoto úkolu program Userinit.exe končí (což je také důvod, proč není u procesu Explorer.exe nikdy vidět žádný mateřský proces).

Obrázek 5.3.: Přihlašování uživatele

Poté, co se uživatel přihlásí se aktualní stav se uloží jako „Last known good configuration“, můžeme říct, že je start systému úspěšný a hotový. Je aplikována user a computer policy a startují programy, dávky a nástroje z různých míst, např:

HKCU\Software\Policies\Microsoft\Windows\System\ScriptsHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunonceHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\RunHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunHKCU\Software\Microsoft\WindowsNT\CurrentVersion\Windows\RunHKCU\Software\Microsoft\Windows\CurrentVersion\RunHKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceprogramy v C:\Winnt\Profiles\All Users\Start Menu\Programs\StartUp

Obrázek 5.4.: Nastartováno

Page 27: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

27

6.0 Proč Windows padají a co je to BSOD

BSOD (Blue screen of death ) neboli „modrá obrazovka smrti“ se objeví přesně ve chvíli, kdy už se systém dostal do takového stavu, že nemůže dál pokračovat, neuložená data jsou ztracena a počítač musí být restartován. (Jedinou vyjímkou je BSOD po vyjmutí média, ze kterého systém právě četl nebo zpracovával data. Po vrácení média nám obrazovka ve většině případů zmizí.)

Obrázek 6.1.: BSOD

Pokud takovou obrazovku vidíte poprvé, restartujte počítač. S největší pravděpodobností opět nastartuje normálně a můžete pokračovat v práci. Pokud se však objevuje často, nebo po restartuopakovaně, je potřeba situaci řešit.

Modré obrazovky existují už od verze Windows 2.0 a až na pár drobností jako je například font se nemění. Jejich účelem je chránit jádro systému před poškozením a informovat uživatele o tom, že nastala tak vážná chyba, že práce systému byla přerušena. Každá "modrá smrt" by nám měla napovědět co se stalo a to pomocí chybových kódů, které vypíše na obrayovku a dump souborů, do kterých ukládá informace o systému v době pádu. I když stále přibývá administrátorů, kteří se zabývají analýzou těchto dump souborů, je pořád mnoho takových, co celý proces prohlásí za zbytečný nebo příliš složitý a nedělají nic. Je to škoda, protože analýza má cekem velkou úspěšnost a šikovný správce najde zdroj problému u 4 z 5ti analýz. Co ale stojí za většinou těchto chybových stavů?

Odborníci a firma Microsoft se shodují, že za 70% případů mohou ovladače. Instalace nových zařízení, upgrade stávajících ovladačů, ale i aktualizace systému, pokud má za úkol aktualizovat nějaké ovladače. Architektura systému Windows NT/2000/XP a Vista totiž může za to, že jsou všechny aplikace naprosto izolované od jádra systému a jejich špatný kód nebo pád nemůže poškodit stabilitu systému. Bohužel jedna z částí systému, pro které tohle omezení neplatí jsou ovladače zařízení. Ty mají přístup ke všem částem systému a pokud je ovladač špatně napsán, poškodí běh jádra systému, je zavolána funkce KeBugCeckEx a ta je zodpovědná za vykreslení modré obrazovky a zobrazení příslušného chybového kódu.

Page 28: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

28

Mezi další příčiny patří viry a bugy 15% a poslední větší skupinou jsou chyby hardware 10%. Chyby přímo v kódu systému z dílny Microsoftu mají 5%. Ze zkušenosti mohu říct, že pokud jsem někdy analyzovala dump soubory, tak z toho vyšly vždy jen špatné ovladače nebo chybný hardware (RAM paměti nebo pevný disk).

Chybová zpráva „Stop“ obsahuje kód chyby a její symbolický název, např.:STATUS_IMAGE_CHECKSUM_MISMATCH . Podíváme se na ty nejčastější trochu blíže:

IRQL_NOT_LESS_OR_EQUAL Úplně nejčastější. Objevuje se po instalaci špatného ovladače, po instalaci nového sw nebo hw.

INACCESSIBLE_BOOT_DEVICESystém nemůže najít zařízení ze kterého má startovat (vadný disk, chybějící startovací soubory)

PAGE_FAULT_IN_NONPAGED_AREAData která se snažíte zpracovat (už) nejsou v paměti, program se snaží zapsat kam nemá.

DRIVER_POWER_STATE_FAILUREPotíže s ovladačem při startu, vypínání nebo hibernaci.

UNKNOWN_HARD_ERROR Systému se nepodařilo načíst část registrů s informacemi o hardware

STATUS_IMAGE_CHECKSUM_MISMATCHNepřístupný disk, souborový systém a patří sem i poškozený page file.

Systém je standartně nastaven tak, že se snaží zapisovat informace o pádu pro ty, kteří chtějí zkoumat příčinu. Jak to máte nastaveno zjistíte, když otevřete Control panels, systém, záložku advanced a tlačítko settings u části nazvané Startup and recovery.

Existují tři možnsti výpisů dump souborů:

kompletní (full memory dump) výpis paměti(kernel memory dump) minimální (small memory dump nebo minidump).

Z minimálního výpisu se moc informací nedozvíme a používá se v případě, že máme málo místa na pevném disku. Velikost je 64kb pro 32-bitové systémy, 128kb pro 64-bitové systémy, maximálně 2 MB informací. Kernel dump uloží celý právě v tu chvíli používaný obsah RAM paměti, což může být kolem 100 MB pro počítače s méně jak 2 GB RAM a kompletní se pohybuje ve stovkách MB. Mezi ukládaná data kompletního výpisu patří:

Chybová Stop zpráva a její parametry Seznam načtených ovladačů Informace o procesech a vláknech procesů, obraz paměti procesů Obsah registrů pro vlákna Obsah zísobníku

Page 29: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

29

Každému vyhovuje něco jiného a volba je na uživateli. Vytvořený soubor na disku bude v rootu a jeho přípona .dmp.

Systém vytváří a zapisuje .dmp soubor na disk až po tom, co se restartuje. Je to schválně, ve chvíli problémů je naprogramován tak, aby použil minimum ovladačů co jsou potřeba. Kam informace uloží, když se .dmp soubor objeví až po restartu počítače? Cílem je page file (stránkovací soubor na disku) Page file je v tuhle chvíli otevřený a používaný (pokud je systém nastaven, aby ho používal a to je 99.9% ) a tak je teoreticky nejvhodnějším místem. Umístění jde změnit pomocí aplikace jménem Dr. Watson.

6. 1 Analýza dump souborů

Existují tři možnosti, jak získat informace o tom co se s naším systémem stalo.

První a nejméně náročná z nich je web oca.microsoft.com. (OCA je zkratka pro Online Crash Analysis ) Po tom, co systém opět restartuje, objeví se nám na ploše okno s dotazem o odeslání informací do firmy Microsoft, OCA týmu k analýze. Většinou to bývá jen minidump a žádné soukromé informace navíc se neodesílají. Microsoft by nám pak měl za normální situace poslat nějaké výsledky zpět, ale jak už bylo napsáno výše, minidump nám toho zrovna moc neprozradí, a tak ta snaha firmě Microsoft často nevychází nebo nám zašlou jen obecnou radu.

Druhou možností, je opsání si chybového kódu z modré obrazovky a vyhledání příslušného článku v Knowledge base firmy Microsoft nebo v TechNetu. (Tuto možnost využívají hlavně lidé, kteří se bojí odesílaných informací, a na podrobnější analýzu sami se necítí) Tenhle způsob nám také nedá moc práce, ale ani nemusí přinést výsledky, protože když zjistíme, že to opravdu byl ovladač, pořád neříkají jaký. Pokud jsme zrovna neinstalovali nové zařízení, jsme opět na začátku hledání.

Knowledge base http://support.microsoft.comTechNet http://www.microsoft.com/cze/technet nebo http://technet.microsoft.com/en-gb

Třetí a nejlepší možnost je program program Windbg. Program je zdarma ke stažení na internetové adrese http://www.microsoft.com/whdc/ddk/debugging a podporuje systémy Windows NT 4, Windows 2000, Windows XP a Server 2003 všech verzí. Vždy je dobré před analýzou zkontrolovat případné aktualizace a stáhnout soubory symbolů, které obsahují nejrůznější funkce, proměné a jména, která jsou pro každou verzi systému jiná. Soubory symbolů jsou samorozbalovací a patří do lokace \windows\symbols, ale Windbg je umí aktualizovat i automaticky. Zastaralé nebo špatné soubory symbolů mohou místo srozumitelného textu vypsat na obrazovku hromadu nečitelného strojového kódu.

Page 30: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

30

Obrázek 6.2.: Program Windbg

Program pracuje v textovém režimu na příkazy a po tom, co ho spustíme a otevřeme daný .dmp soubor, první příkaz, který napíšeme bude nejspíše

!analyzekterý nám zobrazí základní informace o systému před pádem nebo

!analyze –v který nám zobrazí informace v trošku detailnější podobě.

Další užitečné příkazy jsou:

!thread tid – prozkoumat aktuální thread !process 0 0 – seznam všech procesů !lm kv – seznam zavedených ovladačů !vm – obsazení paměti !help – nápověda příkazů

Úplný seznam příkazů přikládám na konci dokumentu ve zdrojích jako link.

Page 31: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

31

Jak vypadá takový minidump?

Microsoft (R) Windows Debugger Version 6.8.0004.0 X86Copyright (c) Microsoft Corporation. All rights reserved.

Loading Dump File [c:\windows\minidump\Mini120107-02.dmp]Mini Kernel Dump File: Only registers and stack trace are available

Symbol search path is: srv*c:\symboly*http://msdl.microsoft.com/download/symbolsExecutable search path is: c:\windows\i386Windows XP Kernel Version 2600 (Service Pack 2) MP (2 procs) Free x86 compatibleProduct: WinNt, suite: TerminalServer SingleUserTSBuilt by: 2600.xpsp_sp2_gdr.070227-2254Kernel base = 0x804d7000 PsLoadedModuleList = 0x805624a0

Debug session time: Sat Dec 1 17:20:26.562 2007 (GMT+1)System Uptime: 0 days 0:42:03.191

Loading Kernel SymbolsLoading unloaded module list

Unable to load image RtkHDAud.sys, Win32 error 0n2*** WARNING: Unable to verify timestamp for RtkHDAud.sys*** ERROR: Module load completed but symbols could not be loaded for RtkHDAud.sys

****************************************************************************** ** Bugcheck Analysis ** ******************************************************************************

Use !analyze -v to get detailed debugging information.BugCheck 1000008E, {c0000005, b8541bee, b555071c, 0}

Probably caused by : RtkHDAud.sys ( RtkHDAud+148bee )Followup: MachineOwner

1: kd> !analyze -v

KERNEL_MODE_EXCEPTION_NOT_HANDLED_M (1000008E)This is a very common bugcheck. Usually the exception address pinpoints the driver/function that caused the problem. Always note this address as well as the link date of the driver/image that contains this address. Some common problems are exception code 0x80000003. This means a hard coded breakpoint or assertion was hit, but this system was booted /NODEBUG. This is not supposed to happen as developers should never havehardcoded breakpoints in retail code, but ...If this happens, make sure a debugger gets

Page 32: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

32

connected, and the system is booted /DEBUG. This will let us see why this breakpoint ishappening.

Arguments:Arg1: c0000005, The exception code that was not handledArg2: b8541bee, The address that the exception occurred atArg3: b555071c, Trap FrameArg4: 00000000

Debugging Details:------------------EXCEPTION_CODE: (NTSTATUS) 0xc0000005 FAULTING_IP: RtkHDAud+148beeb8541bee 8982bc000000 mov dword ptr [edx+0BCh],eax

TRAP_FRAME: b555071c -- (.trap 0xffffffffb555071c)ErrCode = 00000002eax=00000001 ebx=863b5c30 ecx=863c2028 edx=00000000 esi=b85e1d08 edi=b85e1d08eip=b8541bee esp=b5550790 ebp=b5550794 iopl=0 nv up ei pl zr na pe nccs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010246RtkHDAud+0x148bee: b8541bee 8982bc000000 mov dword ptr [edx+0BCh],eax ds:0023:000000bc=???????? Resetting default scope

CUSTOMER_CRASH_COUNT: 2DEFAULT_BUCKET_ID: DRIVER_FAULTBUGCHECK_STR: 0x8EPROCESS_NAME: war3.exeLAST_CONTROL_TRANSFER: from b8514e6a to b8541bee

STACK_TEXT: b5550794 b8514e6a 00000000 864cdab8 863b5c30 RtkHDAud+0x148beeb55509fc b989102c 863b5c30 0000000c 864e3008 RtkHDAud+0x11be6ab5550a14 b989111c 864e3008 864cdab8 e19bfcac portcls!PcDispatchProperty+0x12eb5550aa0 b9cb0ec9 864e3008 0000000c e19bfcac ks!KspPropertyHandler+0x616b5550ac4 b988f1bd 864e3008 0000000c e19bfc20 ks!KsPropertyHandler+0x19b5550b0c b988f148 864cda38 898df5d8 864e3008 portcls!CPortPinWaveCyclicb5550b24 b9cb0f0f 898df5d8 864e3008 b5550b78 portcls!DispatchDeviceIoControl+0x44b5550b34 b9896b75 898df5d8 864e3008 898df690 ks!KsDispatchIrp+0x126b5550b48 b9896dd8 898df5d8 864e3008 b87c108e portcls!KsoDispatchIrp+0x40b5550b78 804e13d9 898df5d8 00000004 864e3008 RtkHDAud+0x3c808eb5550b88 b594c774 e1372758 00000000 864e3008 nt!IopfCallDriver+0x31b5550bd8 b594f2a2 864e3008 863b4960 e11e5658 sysaudio!ForwardIrpNode+0x1b2b5550c30 b9cb0f85 897669b8 864e3008 b5550c64 sysaudio!CPinInstanceb5550c40 804e13d9 897669b8 864e3008 806ff410 ks!DispatchDeviceIoControl+0x28b5550c50 8056f50b 864e3150 863dd838 864e3008 nt!IopfCallDriver+0x31b5550c64 80580fc1 897669b8 864e3008 863dd838 nt!IopSynchronousServiceTail+0x60b5550d00 80586eee 00002a94 00002348 00000000 nt!IopXxxControlFile+0x5efb5550d34 804dd99f 00002a94 00002348 00000000 nt!NtDeviceIoControlFile+0x2ab5550d34 7c90eb94 00002a94 00002348 00000000 nt!KiFastCallEntry+0xfc0012e800 00000000 00000000 00000000 00000000 0x7c90eb94

Page 33: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

33

STACK_COMMAND: kbFOLLOWUP_IP: RtkHDAud+148beeb8541bee 8982bc000000 mov dword ptr [edx+0BCh],eax

SYMBOL_STACK_INDEX: 0SYMBOL_NAME: RtkHDAud+148beeFOLLOWUP_NAME: MachineOwnerMODULE_NAME: RtkHDAudIMAGE_NAME: RtkHDAud.sysDEBUG_FLR_IMAGE_TIMESTAMP: 467ba10aFAILURE_BUCKET_ID: 0x8E_RtkHDAud+148beeBUCKET_ID: 0x8E_RtkHDAud+148beeFollowup: MachineOwner

Některé informace jsou užitečné a čitelné, jiné obsahují jen adresy v paměti nebo nesrozumitelný kód a moc nám toho neprozradí. Pomocí nejrůznějších příkazů, jako již výše zmíněný !analyze –v, se snažíme nalézt příčinu. Minidump se pokouší vyhodnotit situaci sámhned na začátku, v tomto případě řádkem:

Probably caused by : RtkHDAud.sys

Pro naší situaci tedy předpokládejme, že za pád systému opravdu může RtkHDAud.sys a že známe STOP kód chybového hlášení: STOP 0x0000008E. Pomocí Internetových vyhledávačů, webových stránek Microsoftu nebo u odborníků pak můžeme dohledat více informací a zjistit jak celý stav napravit. V našem případě chybu popisují tyto stránky:

http://support.microsoft.com/kb/315335

http://www.short-media.com/forum/showthread.php?t=50966

A říkají, že jeden nebo více modulů naší RAM paměti je chybný nebo je složení modulů nekompatibilní se systémem Windows XP. Řešením je otestovat paměťové moduly, najít vadný a vyměnit jej, případně vyzkoušet jiný slot pro modul nebo navýšit paměť, pokud je pro systém XP nedostačující. Pokusíme se tedy udělat co doporučují a znovu nastartujeme systém tentokrát snad už v normálním režimu.

Bohužel, tak jednoduché to vždycky není a může se stát, že nám tento postup nepomůže. Může se stát, že nám příští pád systému na tom samém místě vygeneruje úplně jiný dump soubor. Může se stát, že nám dump nepomůže vůbec... Analýza dump souborů je podle mého názoru tak trošku detektivní práce a ještě jednou připomínám, že celý proces je nutný až ve chvíli, kdy nám systém padá opakovaně v jednu konkrétní chvíli nebo nestartuje vůbec.

Page 34: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

34

7.0 Závěr

Díky této práci se může čtenář detailněji seznámit s celým procesem startu systému Windows 2000 nebo XP a alespoň z části ovlivnit jeho průběh nebo napravit běžné chybové stavy. Celý proces je opravdu složitý, nicméně pokud víme, ve které fázi co upravit nebo jaký nástroj k tomu použít, můžeme získat více výkonu, rychlejší start nebo stabilitu. Během startu systému může dojít k velkému množství chyb, ale pokud víme co je způsobuje nebo jim dokážeme předejít, náprava může být otázkou několika minut. Jsem si vědoma toho, že době psaní této práce už existuje nový systém Windows Vista a jeho proces startu se může v některých fázích lišit, nicméně i tak jsem přesvědčena, že jsou informace v této práci ještě stále užitečné.

Page 35: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

35

8.0 Přílohy

Příloha 1 - Seznam všech souborů potřebných pro start systému

NTLDRSkrytý systémový soubor, který řídí start systému Windows 200/XP

Boot.iniSkrytý a systémový soubor. Informace v tomto souboru slouží k výběru systémů při startu počítače. Soubor obsahuje čitelný text a je možné ho editovat.

Bootsect.dosSkrytý soubor, který se používá při startu systému u výběru jiného systému než Windows 2000/XP. Obsahuje informace o podobě pevného disku před instalací Windows 2000/XP.

Ntdetect.comSkrytý spustitelný soubor, který shromažďuje informace o používaném hardware a vytváří o něm detailní seznam. Seznam předává souboru NTLDR, který jej zapisuje do registrů.

Hiberfil.sysSkrytý soubor, který slouží pro hibernaci systému. (Uvedení počítače do zvláštního režimu spánku, kdy po jeho opětovném spuštění nastartuje do stavu, v jakém byl těsně před vypnutím) V souboru je uložen obsah RAM paměti před hibernací.

Ntbootdd.sysSkrytý a nepřepsatelný soubor, který je potřeba při startu systému z disků SCSI.

Ntoskrnl.exeHlavní a jediný soubor s mini-jádrem systému Windows 2000/XP

Hal.dllSoubor obsahující detailní informace o hardware a jeho přerušení.

Csrss.exeCsrss znamená client/server run-time subsystem (subsystém pro běh prostředí klient/server), který zodpovídá za okna konzolí, vytváření a odstraňování podprocesů a některé části 16bitového virtuálního prostředí systému MS-DOS.

Page 36: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

36

Internat.exeProces Internat.exe je spouštěn při spuštění systému a načítá různá národní prostředí určená uživatelem, zobrazuje na hlavním panelu ikonu "CZ" a umožňuje uživateli přepínat mezi národními prostředími.

Lsass.exeTento proces představuje místní server ověřování zabezpečení a generuje proces zodpovědný za ověřování uživatelů pro službu Winlogon..

Smss.exeTento proces představuje subsystém správce relace, který zodpovídá za spouštění uživatelských relací. Je zodpovědný za spouštění procesů Winlogon a Win32, Csrss.exe a nastavování systémových proměnných.

Explorer.exeTento proces představuje uživatelské prostředí. Explorer.exe je možné zastavit neborestartovat v programu Správce úloh i během práce s počítačem, pád systému většinou nezpůsobí.

Pagefile.sysStránkovací soubor systému. Používá se jako virtuální paměť ve chvíli, kdy fyzická RAM nestačí. Rezervuje si určité místo na pevném disku. (Doporučená velikost je dvojnásobek fyzické paměti)

Spoolsv.exeZařazovací služba (Spooler Service) zodpovídá za správu zařazování tiskových a faxových úloh.

Svchost.exeToto je obecný proces sloužící jako hostitel dalších procesů spouštěných z knihoven DLL. Proto je běžné, že běží více než jedna instance tohoto procesu.

ServicesTento proces představuje Správce řízení služeb, který je zodpovědný za spouštění, zastavování a interakci se systémovými službami.

Systemsystémový soubor konfiguračního nastavení na tomto počítači. Řídí sled natahování jednotlivých ovladačů a služeb.

Winlogon.exeTento proces je zodpovědný za správu uživatelských přihlášení a odhlášení.

Winmgmt.exeProces Winmgmt.exe je klíčovou součástí správy klientů v systému Windows 2000. Tento proces je spouštěn při připojení první klientské aplikace nebo trvale tehdy, pokud aplikace pro správu požadují jeho služby.

Page 37: Podrobný start systému Windows 2000/XP a řešení · PDF file6. 1 Analýza dump souborů ... Pokud je tato hodnota jiná než 1234h, znamená to, že jde o studený start. ... Invalid

37

9.0 Seznam použité literatury, zdroje a linky

9.1. Seznam použité literatury a zdroje

Kniha Windows Internals, třetí vydání od autorů Mark E. Russinovich and David A. Solomonhttps://www.microsoft.com/MSPress/books/6710.aspx

IT web LabMicehttp://labmice.techtarget.com

IT web Admin XPhttp://www.adminxp.cz

Materiály ze školení GOC7, Windows Internals http://www.gopas.cz/DetailKurzu.aspx?IDKurzu=4031

9.2. Linky

Seznam zvukových signálů AMI BIOSu, Phoenixu a dalších z kapitoly 1http://bioscentral.com/beepcodes/amibeep.htm

Bootovací diskety a CD k nejrůznějším Windows systémům z kapitoly 3, odstavce 1http://www.bootdisk.com

Seznam příkazů pro nástroj Recovery Console z kapitoly 3, odstavce 1http://hps.mallat.cz/view.php?cisloclanku=2004022501

Windows Live CD nebo Windows PE z kapitoly 3, odstavce 1http://www.nu2.nu/pebuilderhttp://www.nliteos.com/nlite.htmlhttp://www.ubcd4win.com/contents.htm

Boot.ini popis a přepínače z kapitoly 3http://www.adminxp.cz/windows2000/index.php?aid=46http://support.microsoft.com/kb/833721

Web, který se zabývá podrobnou analýzou dump souborů a jednotlivými příkazy programu Windbg z kapitoly 6http://www.dumpanalysis.org/blog/


Recommended