PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Operativni sustavi (https://forum.pcekspert.com/forumdisplay.php?f=36)
-   -   Windows XP boot process (https://forum.pcekspert.com/showthread.php?t=16953)

Cataphract 29.01.2005. 21:54

Windows XP boot process
 
vrlo je popularno tweakati sve i svašta kako bi se boot proces XPa ubrzao za par sekundi. na netu ima tone tweakova, ali nisam vidio da je itko ikada opisao Windows XP boot process. so, ako vas je oduvijek zanimalo što se sve događa od trenutka kada pritisnete power button do logon sounda tekst ispod je za vas.



XP boot process se sastoji od 5 faza. to su redom:
  • 1. preboot sekvenca
    . . . a)Power On Self Test
    . . . b) boot device i MBR
    . . . c) boot sektor
    . . . d) NTLDR

    2. boot sekvenca
  • . . . a) inicijalna boot loader faza
    . . . b) faza selekcije operativnog sistema
    . . . c) faza detekcije hardvera
    . . . d) faza odabira hardware profila/konfiguracije

    3. sekvenca loadanja kernela
    . . . a) loadanje ntoskrnl.exe
    . . . b) loadanje hal.dll
    . . . c) loadanje HKEY\LOCAL_MACHINE\SYSTEM
    . . . d) selekcija control seta
    . . . e) loadanje device drivera

    4. sekvenca inicijacije kernela

    . . . a) kreiranje hardware keya
    . . . b) kreiranje clone control seta
    . . . c) pokretanje device drivera
    . . . d) startanje servisa

    5. logon sekvenca
    . . . a) local security authority
    . . . b) loadanje servisa
    . . . c) zapisivanje clone control set i last known good configuration



. . . 1. preboot sekvenca: započinje u trenutku kada pritisnete power gumb. računalo zatim u POST fazi traži osnovne hardverske komponente (RAM, CPU, tipkovnica, ...). BIOS zatim traži boot device. kada ga pronađe - locira i pokreće Master Boot Record, čija je zadaća lociranje i inicijalizacija Boot sektora na aktivnoj, odnosno sistemskoj, particiji. stvar preuzima NTLDR koji se nalazi na boot sektoru i započinje

. . . 2. boot sekvenca: nakon što je NTLDR pokrenut, on u initial boot loader fazi prikuplja informacije o hardveru i driverima, a također pokreće i mini file system drivere kako bi kasnije mogao koristiti FAT, FAT32 ili NTFS particije za loadanje OSa. kada je to napravio, NTLDR u fazi selekcije operativnog sustava gleda u boot.ini datoteku i ako u njoj nađe da postoji dual-boot konfiguracija prikazuje meni za odabir operativnog sustava. meni se po defaultu prikazuje 30 sekundi, a zatim se pokreće defaultni OS. ukoliko ne postoji dual boot, ne prikazuje se ništa već se pokreće jedini OS. u fazi detekcije hardvera ntdetect.com detektira com i paralell portove, floating-point koprocesor, floppy disk, tipkovnicu, miša, SCSI i video adaptere. prikupljene podatke tada šalje NTLDRu koji će ih kasnije predati Kernelu kako bi ih ovaj mogao zapisati u registry. slijedeća na redu je faza odabira hardware profila/konfiguracije. ukoliko postoji više hardverskih profila NTLDR prikazuje ekran za odabir. u slučaju da postoji samo jedan profil, podizanje sustava se nastavlja korištenjem defaultnog profila. nakon završetka boot sekvence, započinje

. . . 3. sekvenca loadanja kernela.. u ovoj sekvenci NTLDR loada ntoskrnl.exe, no ne pokreće ga. zatim loada hal.dll, HKEY\LOCAL_MACHINE\SYSTEM, odabire koji Control Set pokrenuti, te loada sve device drivere čija je Start vrijednost 0x0. točan redoslijed po koje NTLDR pokreće drivere nalazi se u HKEY\LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder. kada su svi driveri loadani, počinje

. . . 4. sekvenca inicijacije kernela - NTLDR koji je obavio sav posao do sada konačno inicijalizira ntoskrnl.exe, daje mu podatke o hardveru koje je prikupio ntdetect.com i prepušta mu kontrolu. ntoskrnl.exe koji je kernel operativnog sistema konačno dolazi na svoje i odmah pohranjuje te podatke u HKEY\LOCAL_MACHINE\HARDWARE - kreiranje hardware keya. kada već prčka po registryju, kreira clone control set. a kreira ga tako da napravi kopiju control seta koji je zapisan u podključu HKLM\SYSTEM\Select\Current. kada je gotov s tim, ntoskrnl.exe zatim prelazi na pokretanje device drivera koje je u prijašnjoj sekvenci (3) loadao NTLDR. zatim loada i odmah pokreće drivere čija je Start vrijednost 0x1. ako nema nikakvih errora započinje zadnja faza inicijalizacije kernela. ako kojim slučajem ipak dođe do greške, kernel u registryju - HKLM\SYSTEM\CurrenTControlSet\Services\naziv drivera ili servisa\ErrorControl - pogleda o kakvoj je grešci riječ i kako se ponašati (vidi slijedeći post). zadnja faza je startanje servisa u kojoj ntoskrnl.exe predaje kontrolu Session Manageru (Smss.exe) koji zatim pokreće instrukcije iz HKLM\SYSTEM\CurrentControlSet\SessionManager. ovo uključuje pokretanje programa i naredbi prije pokretanja servisa, kreiranje informacija o Paging Fileu, podrške za DOS aplikacije i pokretanje Win32 subsistema koji kontrolira I/O uređaje i video display. Win32 pokreće i WinLogon proces.

. . . 5. logon sekvenca započinje kada winlogon.exe pokrene local security authority (lsass.exe) koji prikaže logon dijaloški okvir. dok vi utipkavate lozinku service controller pogleda kaj ima u HKLM\SYSTEM\CurrentControlSet i pokreće sve servise čija je Start vrijednost 0x2. ovo traje* i nakon što opalite i dok gledate Heidi Klum ili kojeg već wallpaper komada imate. nakon što se svi servisi loadaju, vi dobijete komada i sve ikonice, pun tray koječega - login se smatra uspješnim i CloneControlSet se kopira u LastKnownGoodRecovery konfiguraciju unutar registrya.


*ovo traje pun kooratz i ovdje se može skinuti par sekundi jer XP po defaultu loada gomilu većini nepotrebnih servisa.
na http://www.blackviper.com/ možete naći sve o servisima i kako ih podesiti, uz gomilu korisnih stvari o XPu.

materijal korišten u pisanju: osobne bilješke s MOCa.

Cataphract 29.01.2005. 22:58

kod pokretanja drivera čija je Start vrijednost 0x1 mogući su errori. ukoliko dođe do errora, kernel iz
HKLM\SYSTEM\CurrenTControlSet\Services\ NazivDriveraIliServisa \ErrorControl pročita kako se ponašati prema tom erroru.
vrijednosti errora su 0x0, 0x1, 0x2 i 0x3.
  • 0x0 - greška se ignorira i boot proces se nastavlja bez zadržavanja.
    0x1 - korisnik se putem poruke na ekranu obavještava o grešci, dok se boot proces nastavlja
    0x2 - greška koja zaustavlja boot proces. slijedi automatski restart prilikom kojega se koristi LastKnownGood control set. ukoliko se greška dogodila pri korištenju LKG control seta, greška se ignorira i boot proces se nastavlja.
    0x3 - boot se prekida i resetira automatski. kao i kod 0x2 se koristi LKG control set. ukoliko je LKG korišten i greška se pojavi opet boot sekvenca se zaustavlja i prikazuje se error message.


u prethodnom postu sam također spomenuo hal.dll. Hardware Abstraction Layer služi kao nekakav prevoditelj u komunikaciji između operativnog sustava/aplikacija i hardware uređaja, a može ga pozvati ili sistemski kernel ili device driver hardverskog uređaja. aplikacije ne komuniciraju izravno s hardverom, već preko HALa.

sama datoteka se nalazi u C:\Windows\system32\hal.dll. a ukoliko ikada prilikom boota dobijete error "hal.dll is missing or corrupt", jednostavno stavite XP instalacijski cd u drive, bootajte s njega i odite u recovery konzolu, te otipkajte copy D:\i386\ha.dl_ C:\windows\system32\hal.dll i resetirajte komp.

Izopaceni 02.03.2005. 19:45

Brvao,sad konacno znam kaj sam jucer zbrisao...

demetrius 21.06.2005. 09:49

"sama datoteka se nalazi u C:\Windows\system32\hal.dll. a ukoliko ikada prilikom boota dobijete error "hal.dll is missing or corrupt", jednostavno stavite XP instalacijski cd u drive, bootajte s njega i odite u recovery konzolu, te otipkajte copy D:\i386\ha.dl_ C:\windows\system32\hal.dll i resetirajte komp." katapraht napisa
možda i meni pomogne ali za drugi problem,meni javlja lssas.exe can not be found kod podizanja sistema,to sam sprćkao brisanjem virusa po registriju,moram točno zapisat što mi javlja,ali kliknem ok i win xp normalno se podignu i rade,samo uvjek javljaju taj problemčić pri podizanju.

komer 09.07.2005. 22:28

malo pametujem:)heh stari post ali da ga ozivim:)

HAL je virtualno računalo koje predstavlja sučelje između NT jezgre i sklopovlja.
Na taj način NT jezgra putem stadardnih programskih poziva (API-korisničko programsko sučelje) neovisno o konfiguraciji računala i vrsti kompenenata, izdaje zadaće HAL-u koji pak putem upravljačkih programa (DLL) upravlja radom računala.

API- korisničko programsko sučelje predstavlja skup programskih poziva, odnosno standardnih funkcija, pomoču kojih se Windows programi sporazumjevaju

celduce 29.08.2005. 15:58

Kad se sam sjetim tog hal.dll i koliko sam puta ga brisao i kopirao default sa winxp cd-a.

Hrvoje xyz 30.03.2006. 13:42

d) NTLDR

to je meni jednom reko da je missing


a uglavnom kaze ovo

c) loadanje HKEY\LOCAL_MACHINE\SYSTEM

da je error u tom. :(

mat 08.05.2006. 18:00

jel postoji način za staviti neki drugi .ini file ispred boot.ini ili da stavim batch program U boot.ini i da mi se pokrene programcic jedan prije bootanja vindouza?

dalegic 17.04.2007. 20:43

problem
 
kad upalim komp i kad mi dodje boot pise mi dvaput windows media center edition kad u prvi udjem nista nece a kad u drugi udjem onda udje pa me zanjima mogu li kako maknit taj prvi media center edition
:goood:

Locutus of Borg 02.08.2007. 16:54

Citiraj:

Autor mat (Post 420927)
jel postoji način za staviti neki drugi .ini file ispred boot.ini ili da stavim batch program U boot.ini i da mi se pokrene programcic jedan prije bootanja vindouza?

mozda ce jos nekog zanimat ovo...
postoji datoteka (skripta) autoexec.bat na c:\, u nju je moguce napisat razlicite naredbe (kao u cmd-u) i moguce je pokrenut neke programe prije pokretanja windowsa, iako nikad nisam uspio nista napravit s tim dok sam eksperimentirao... ako se radi nLite-d instalacija windowsa, moguce je kod izrade image-a odabrat "do not parse autoexec.bat".. tu se moze dobit nekoliko mikrosekundi...

masha 14.08.2007. 20:42

zapravo,znam da se o ovome već naveliko pisalo i raspravljalo a možda je sad ovo i čisti offtopic,al užasno mi je bitno....da,i veliki sam laik šta se kompjutera i tih stvari tiče...
dakle,kako su već mnogi pisali prilikom paljenja laptopa javlja se ntldr is missing....
i sad svi vele kako treba formatirati i instalirati nove windowse...al meni je jeko,jako bitno ako je ikako moguće da mi programi i datoteke koje su na laptopu ostanu.
odnosno jel se može kako to negde snimiti ili kaj ja znam,ne kužim sve to skupa...al neću da mi se to obriše:(:(:(:(

Vuco 14.08.2007. 21:55

U pravilu ako napraviš repair Windowsa ne bi trebala ništa izgubiti od podataka. Neće biti ko stari Windowsi (tipa da ćeš moći sve programe pokrenut, morat ćeš nanovo instalirat) ali podaci sa te particije (mailovi, dokumenti etc.) ostaju.

Postupak je kao ko instalacije Windowsa, ali ne formatiraš particiju (imaš opciju repair prije negdje).

moonshadow 29.11.2007. 22:12

evo ovako meni treba pomoc oko butanja xp gamera 4.0, neznam dali se netko susreo s gamerom i kako on boota, no proces je sljedeci kod mene kod restartanja kompa stisnem f11 za odabiranje mjesta s kojega cu bootat a to su HDD ili DVD-RW ja odaberem DVD-RW i pokrenem bootanje no on mi napise MS-DOS:/> (ili tako nesto) ja ukucam C:/windows on onda onaj MS-DOS promijeni u C:/ e sada mene zanima kako da ja dalje instaliram to s toga cd-a trazio sam po netu nema nigdje objasnjenje (porbao sam install, instal, windows/system32 i itd.) pa ako znate molio bih odgovor

lkw_pkw 16.01.2008. 22:06

pozdrav!ja bih dodao jos jednu stavku kod boot procesa!
kad se particijski boot sektor ocitava u memoriju tj Ntldr(NTloader) procesor ga prebaciju u zasticeni mod rad pokrecu se sistemske datoteke boot.ini,informacije koje su zapisane unutar boot.ini datoteci definiraju Startup i eventualne opcije dual-boot sustava ako je dual-boot prisutan i pokrenut je Ntldr izvrsava se bootsec.dos datoteka ako racunalo ima SCSI kontroler tj ima prikljucen SCSI disk ili CD...ucitava se Ntbootdd.sys datoteka koja sadrzi SCSI boot drivere.


Sva vremena su GMT +2. Sada je 18:34.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger