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



Podobné dokumenty
MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Nástroj Setup. Uživatelská příručka

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Téma 1: Bitová kopie systému. Téma 1: Bitová kopie systému

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického

NÁVOD NA INSTALACI KARTY PCTV DELUXE

Příručka k programu Computer Setup (F10) modely dx7500 Kancelářský počítač HP Compaq

2.2 Acronis True Image 19

Příručka k nástroji Computer Setup (F10) Počítače HP Elite 7000 MT Series PC

Činnost počítače po zapnutí

Program Computer Setup

eliška 3.04 Průvodce instalací (verze pro Windows 7) w w w. n e s s. c o m

INSTALAČNÍ POSTUP PRO APLIKACI ELIŠKA 4

Aktualizace softwaru Uživatelská příručka

Zálohování v MS Windows 10

Stručná instalační příručka SUSE Linux Enterprise Server 11

Instalace OS, nastavení systému

Nahrávání image flash do jednotek APT81xx, PPC81xx

Nastavení programu pro práci v síti

Konfigurace Windows 7

4.2. Odhlásit se Šifrování hesla Sepnutí výstupních relé Antipassback Zobrazení všech dat...

NÁVOD NA INSTALACI KARTY PCTV USB2

Téma 7: Konfigurace počítačů se systémem Windows 7 III. Téma 7: Konfigurace počítačů se systémem Windows 7 III

Konfigurace pracovní stanice pro ISOP-Centrum verze

Příručka pro uživatele ČSOB InternetBanking 24 a ČSOB BusinessBanking 24 Online s čipovou kartou v operačním systému Mac OS X

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

Návod pro připojení k síti VŠPJ prostřednictvím VPN Vysoká škola polytechnická Jihlava

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

Aktualizace softwaru Uživatelská příručka

Aktualizace softwaru Uživatelská příručka

aneb velice zjednodušené vysvětlení základních funkcí a možností systému Vypracoval: Tomáš Dluhoš tomas.d@centrum.cz

BRICSCAD V15. Licencování

Obsah. Kapitola 1 BIOS 9. Kapitola 2 Start počítače a POST testy 13. Kapitola 3 Setup 21. Úvod 7

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

Průvodce instalací modulu Offline VetShop verze 3.4

Aktualizace softwaru Uživatelská příručka

Αlpha 8 instalace a upgrade. Poznámky k instalaci Αlpha V8, Logical Medical Systems. GENNET s.r.o Kostelní Praha 7

SMTPServer - Příručka

BIOS. Autor: Bc. Miroslav Světlík

Operační systém. Rozdělení OS

2.1.2 V následujícím dialogovém okně zvolte Instalovat ze seznamu či daného umístění. stiskněte tlačítko Další

Aktualizace softwaru Uživatelská příručka

DŮLEŽITÉ INFORMACE, PROSÍM ČTĚTE!

Uživatelský manuál A4000BDL

MBus Explorer MULTI. Uživatelský manuál V. 1.1

Instalace systému Docházka 3000 na operační systém ReactOS Zdarma dostupné kompatibilní alternativě k systému Windows

Shrnutí Obecné Operační systém Microsoft Windows 7 Ultimate Centrální procesor

Obsah. Kapitola 1. Kapitola 2 KAPITOLA 3. Úvod 9

Instalace programu ProGEO

František Hudek. červen ročník

Instalace a první spuštění Programu Job Abacus Pro

Operační systémy (OS)

Operační systém MS Windows XP Professional

Aktualizace produktu: Instalace síťového operačního systému (NOS) do serveru HP Server tc2100

.NET Framework verze Program pro připojení ke vzdálené ploše (RDC) verze

Nejčastější HW a SW závady na PC

Windows - základy. Hlavním vypínačem na základní jednotce. K datům uloženým do výchozí složky.

Zapnutí a vypnutí počítače

MS Windows 7. Milan Myšák. Příručka ke kurzu. Milan Myšák

Patrol Management System 2.0

P D S - 5 P. Psychologický diagnostický systém. Instalační manuál. Popis instalace a odinstalace programu Popis instalace USB driverů

108Mbps Wlireless 11G+ PCI-Card. Instalační manuál P/N:

Instalace SQL 2008 R2 na Windows 7 (64bit)

Podzim Boot možnosti

Univerzální rezervační systém. Uživatelská příručka

Newsletter RIBTEC automatické aktualizace Praktická novinka v servisu a podpoře k softwaru RIBTEC od verzí 15.0

Windows 7 instalace krok za krokem

IFTER-EQU Instalační manuál

1. Úvod. 2. CryptoPlus jak začít. 2.1 HW a SW předpoklady. 2.2 Licenční ujednání a omezení. 2.3 Jazyková podpora. Požadavky na HW.

Možnosti programu. KAPITOLA 5 Možnosti

Vysoké učení technické v Brně Fakulta informačních technologií ITP Technika personálních počítačů Služby ROM BIOS a BootROM

Instalace programu ProVIS

A4300BDL. Ref: JC

František Hudek. únor ročník

Komu je tato kniha určena? Jak je kniha uspořádána? Konvence použité v té to knize. Část i základy Microsoft Windows XP Professional

Logická organizace paměti Josef Horálek

Registr práv a povinností

registrace Fyzické (tj. MAC) adresy

Redakční systém Joomla. Prokop Zelený

Návod na instalaci a použití programu

První použití notebooku GIGABYTE

Kapitola 1: Úvod. 1.1 Obsah balení. 1.2 Požadavky na systém. Česky

Registr práv a povinností

Téma 10: Správa hardwarových zařízení a ovladačů II

IT ESS II. 1. Operating Systém Fundamentals

Základní typy struktur výpočetních systémů

OD - 4H08 Rychlý návod

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Instalace, zálohování a obnova systému založeného na Windows XP embedded

Instalace Microsoft SQL serveru 2012 Express

Messenger. Novell 1.0 UMÍSTĚNÍ DOKUMENTACE K PROGRAMU NOVELL MESSENGER. STRUČ NÁ ÚVODNÍ PŘ ÍRUČ KA

Souborové systémy. Architektura disku

Možnosti využití Windows Server 2003

STATISTICA 10 Postup instalace plovoucí síťové verze s odpojováním licencí (BNET)

Vložení expiračního kódu do spojů ALCOMA

Informace o produktu Instalace programu MMS 3910 W. Konfigurační sada. Datum Platí pro Konfiguarční program MMS 3910W Version 2.01 f.f.

Správa zařízení Scan Station Pro 550 a Servisní nástroje zařízení Scan Station

Manuál QPos Pokladna V1.18.1

Transkript:

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: jana.molnarova@uhk.cz

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ší. 2

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, popsat a rozvést a snad také přiblížit i ostatním čtenářům srozumitelnou a ucelenou formou. 3

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ěti 5 x krátký tón Chyba procesoru 10 x krátký tón Chyba CMOS 1 dlouhý, 2 krátké Chyba video BIOS ROM nebo chybí grafická karta 1 dlouhý, 3 krátké Chybný součet paměti nad 64 KB 1 dlouhý, 8 krátké Chyba grafické karty, není nebo je poškozena 2 krátké Selhání POSt testu 1 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. 4

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ích informací 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 ový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 5

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 MEMORY SIZE HAS CHANGED SINCE LAST BOOT Press ESC to skip memory test Press TAB to show POST screen Některé pevné disky potřebují více času pro inicializaci Velikost RAM paměti počítače se změnila od posledního spuštění (zvětšila nebo zmenšila) Pokud chcete zastavit test paměti, stiskněte klávesu Escape Pokud 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 Keyboard error or no keyboard present Memory Test Fail No boot device was found Primary master hard disk fail SYSTEM HALTED. (CTRL-ALT-DEL) TO REBOOT... Tabulka 2.3.: Kritické chyby, které zastaví bootovací proces CMOS baterie už není funkční, prosím vyměňte ji Chyba inicializace klávesnice. Buď chybí (není správně zapojená) nepracuje správně nebo jsou permanentně stisklé některé klávesy. POST test narazil na chybu během testování RAM paměti Insert a system disk into drive A: and press Enter... Systém nenalezl MBR a nemůže pokračovat ve startu systému POST test narazil na chyby pevného disku během testů Bootovací proces musel být přerušen a počítač musí být restartován stiskem kláves CTRL + Alt + Delete. 6

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 7

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ápisu jsou 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 vyhledat soubory 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ému pevné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 8

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 nebo Invalid partition table nebo Error 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) 9

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 sntfs 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. 10

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. 11

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=20 default=multi(0)disk(0)rdisk(0)partition(4)\winnt [operating systems] multi(0)disk(0)rdisk(0)partition(4)\winnt="microsoft Windows 2000 Server" /fastdetect multi(0)disk(0)rdisk(0)partition(2)\winnt="microsoft Windows 2000 Professional" /fastdetect 12

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 /sos C:\="Microsoft Windows" Seznam přepínačů souboru Boot.ini přikládám na konci dokumentu v sekci linky. Pokud už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 BIOSu disk(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 0 partition(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ů 13

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 14

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 15

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 for Windows2000, press F8 (Pro řešení potíží nebo upřesnění možností spuštění stiskněte klá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íží 16

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.500 Loaded driver \WINNT\System32\ntoskrnl.exe Loaded driver \WINNT\System32\hal.dll Loaded driver \WINNT\System32\BOOTVID.DLL Loaded driver ACPI.sys Loaded driver \WINNT\System32\DRIVERS\WMILIB.SYS Loaded driver pci.sys Loaded driver isapnp.sys Loaded driver compbatt.sys Loaded driver \WINNT\System32\DRIVERS\BATTC.SYS Loaded driver intelide.sys Loaded driver \WINNT\System32\DRIVERS\PCIIDEX.SYS Loaded driver pcmcia.sys Loaded driver ftdisk.sys Loaded driver Diskperf.sys Loaded driver dmload.sys Loaded driver dmio.sys Did not load driver Media Control Devices Did not load driver Communications Port Did 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) 17

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 18

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\Service GroupOrder. 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 0x1 = System 0x2 = Auto 0x3 = Manual 0x4 = Disabled Ovladače jsou nahrány do paměti pomocí NTLDRL, inicializovány pomocí Ntoskrnl během inicializace jádra systému Ovladače jsou nahrány a inicilaizovány pomocí Ntoskrnl během inicializace jádra Nahrány a startovány automaticky po startu systému Ovladač je inicializován manuálně nebo pomocí jiného procesu Ovladač nebude inicializován Tabulka 2.4.: Pořadí ovladačů při startu systému 19

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 minijá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 20