1>,post過程開機(jī)自檢:這是每個(gè)計(jì)算機(jī)的電源接通之后,必須要做的第一件事情.post 將檢查硬件,是否有內(nèi)存,是否有鍵盤以及scsi卡等等.雖然這是一個(gè)和操作系統(tǒng)無關(guān)的過程,但是他卻是保證系統(tǒng)正常啟動(dòng)的第一個(gè)步驟.
2>,一旦自檢完成,計(jì)算即將查找啟動(dòng)設(shè)備,并將MBR mainbootrecord(主引導(dǎo)紀(jì)錄)調(diào)入內(nèi)存.
典型故障:開機(jī)以后藍(lán)屏,"operating system not found",提示"invalidpartitiontable"
這些錯(cuò)誤信息的出現(xiàn)是因?yàn)镸br遭到破壞;
解決辦法:用系統(tǒng)啟動(dòng)盤(軟盤或者安裝光盤)啟動(dòng)計(jì)算機(jī),然后執(zhí)行下面的命令:
Fdisk.exe/mbr
Fdisk/mbr這個(gè)命令可以在硬盤上無條件地寫入主引導(dǎo)程序和分區(qū)表,并且不對(duì)dos引導(dǎo)扇區(qū)Dbr (dos boot record),文件分配表和目錄區(qū)進(jìn)行初始化;也就是說,執(zhí)行fdisk/mbr后,可在不破壞硬盤上原有數(shù)據(jù)信息的情況下,重建主引導(dǎo)程序和分區(qū)表;他對(duì)單純感染嵌入式引導(dǎo)區(qū)病毒的硬盤,可以起到清除病毒的作用; Fdisk是msdos,windows95/98/me中的標(biāo)準(zhǔn)命令,windowsNT/2k/XP用戶,可以采用下面的
辦法修復(fù)主引導(dǎo)紀(jì)錄:
啟動(dòng)系統(tǒng)故障恢復(fù)控制臺(tái),在命令提示符下面輸入fixmbr,在出現(xiàn)警告信息的時(shí)候按Y鍵,最后輸入exit退出故障回復(fù)控制臺(tái);
3>,計(jì)算即將查找活動(dòng)分區(qū),引導(dǎo)扇區(qū),并將其裝入內(nèi)存;
4>,開始調(diào)用Ntldr,Ntldr是系統(tǒng)加載器,他是第二階段的關(guān)鍵部分;
Plus:Mbr,或者說(masterbootrecord)的縮寫,中文意思就是主引導(dǎo)紀(jì)錄,硬盤的0磁道第一扇區(qū)稱為MBR,他的大小是512字節(jié),而這個(gè)區(qū)域可以分為兩個(gè)部分:i,preboot區(qū)(預(yù)啟動(dòng)區(qū)),占446字節(jié):ii,第二部分是partitiontable區(qū)(分區(qū)表)占64個(gè)字節(jié),該區(qū)相當(dāng)于一個(gè)小程序,作用是判斷那個(gè)分區(qū)被標(biāo)記為活動(dòng)分區(qū),然后去讀取那個(gè)分區(qū)的啟動(dòng)區(qū),并運(yùn)行該區(qū)中的代碼.最后兩個(gè)字節(jié)是一個(gè)標(biāo)識(shí)符,用來表明這個(gè)扇區(qū)的結(jié)束,其二進(jìn)制數(shù)值為0x55AA.
[啟動(dòng)階段]
1>,當(dāng)Ntldr開始運(yùn)行之后,它首先將處理器的實(shí)模式改為32位平滑內(nèi)存模式;
解釋:實(shí)模式和32位平滑內(nèi)存模式:
兩者都是電腦系統(tǒng)的尋址方式.實(shí)模式指的就是16位模式,運(yùn)行比較穩(wěn)定.平滑內(nèi)存模式則在尋址范圍和速度上有明顯的優(yōu)勢.
2>,啟動(dòng)文件系統(tǒng)(例如fat,ntfs),以便從磁盤上訪問文件;
3>,隨后,Ntldr將訪問第一個(gè)文件:boot.ini文件,并且根據(jù)文件的內(nèi)容在屏幕上顯示啟動(dòng)菜單;
4>,如果用戶選擇的不是win2k(或者winXp)操作系統(tǒng),那么Ntldr將調(diào)用bootsect.dos, 將控制權(quán)交給她,并且啟動(dòng)所操作的系統(tǒng),否則,Ntldr將運(yùn)行Ntdetect.com文件;
[典型故障:]
1,當(dāng)妳選擇了其他操作系統(tǒng)之后,出現(xiàn)了錯(cuò)誤信息:I/O error accessing bootsect or file Muti(0)disk(0)rdisk(0)partiton(1)//BOOTSS
這種情況是由于找不到啟動(dòng)分區(qū)造成的,一般出現(xiàn)在安裝了多個(gè)操作系統(tǒng)的計(jì)算機(jī)上. 當(dāng)妳在已有的操作系統(tǒng)例如win98上安裝win2k的時(shí)候,安裝程序會(huì)將原有的啟動(dòng)分區(qū)( 一般為0分區(qū))保存成bootsect.dos,然后安裝程序會(huì)將win2k的啟動(dòng)分區(qū)放到0分區(qū)上. 因此,bootsect.dos是在啟動(dòng)的過程中創(chuàng)建的,無法像其他丟失的文件一樣可以從光盤上面復(fù)制過來,那么,如何解決這種情況? 為原來的操作系統(tǒng)重新生成一個(gè)啟動(dòng)分區(qū).例如:對(duì)于win98,只需要用win98的啟動(dòng)盤啟動(dòng)系統(tǒng),然后在命令提示符下輸入sysc:, 創(chuàng)建bootsect.dos:
a,將win2k安裝光盤放入光驅(qū),啟動(dòng)計(jì)算機(jī);
b,在出現(xiàn)歡迎屏幕后,按兩次R鍵;
c,當(dāng)安裝程序運(yùn)行到修復(fù)任務(wù)選想的時(shí)候,選擇"檢查啟動(dòng)扇區(qū)"選項(xiàng),然后將光條移動(dòng)到"繼續(xù)(執(zhí)行所選任務(wù))"上按回車;
d,跟隨安裝向?qū)Ю^續(xù),最后會(huì)看見"安裝程序已完成修復(fù)"的提示;
e,Reset;
5>,Ntdetect.com將收集計(jì)算機(jī)硬件方面的信息,這些硬件包括:計(jì)算機(jī)ID號(hào),適配卡類型,顯卡,鍵盤以及鼠標(biāo),軟盤,com口和并口等等.一旦信息收集完成,Ntdetect.com會(huì)將信息傳遞給Ntldr,并將信息寫入注冊表中的hkeylocalmachine/hardware分支; 可以看到:啟動(dòng)階段調(diào)用了3個(gè)非常重要的文件:Ntdetect.com,boot.ini和Bootsect.dos.而這個(gè)過程也是安裝了多個(gè)操作系統(tǒng)經(jīng)常出現(xiàn)問題的地方;
[典型故障:]計(jì)算機(jī)啟動(dòng)時(shí):
沒有出現(xiàn)啟動(dòng)菜單;
這種情況是將顯示操作系統(tǒng)列表的時(shí)間設(shè)為0秒引起的.解決的辦法是,我的電腦,屬性, 高級(jí),啟動(dòng)故障恢復(fù),顯示操作系統(tǒng)列表...(修改時(shí)間數(shù)值),我的解決方法是按F8鍵進(jìn)入,選擇操作系統(tǒng)列表。
[典型故障:]當(dāng)計(jì)算機(jī)啟動(dòng)的時(shí)候出現(xiàn):
Ntldr is missing,press any key to restart...
Ntldr文件丟失,出現(xiàn)錯(cuò)誤會(huì)造成這個(gè)故障,其它類似的故障還有,Ntdetect.comismissing..等等,利用下面的解決辦法:
利用win2k安裝光盤,這個(gè)文件存放在系統(tǒng)安裝光盤的i386目錄下面,因此,只要將其復(fù)制到硬盤就可以了;
a,放入win2k光盤,啟動(dòng)win2k安裝;
b,出現(xiàn)歡迎界面的時(shí)候,按R;
c,win2k修復(fù)選項(xiàng)界面中,按R;
d,當(dāng)提示選擇修復(fù)選項(xiàng)的時(shí)候,按M;(手動(dòng)修復(fù))
e,選擇驗(yàn)證win2k系統(tǒng)文件;
f,選擇繼續(xù)(執(zhí)行所選任務(wù)),然后回車,
g,出現(xiàn)緊急修復(fù)盤界面:如果你有緊急修復(fù)盤的話,插入緊急修復(fù)盤,根據(jù)提示修復(fù)安裝,reset;
h,如果沒有緊急修復(fù)盤,按L,用光盤修復(fù);
使用控制臺(tái):輸入map,記下win2k安裝光盤所在的光驅(qū)盤符L;
輸入:copy L:/i386/ntldr c:/
提示是否覆蓋,Y;
輸入exit重新啟動(dòng);
[內(nèi)核調(diào)用階段]
1,在這個(gè)階段,Ntldr將調(diào)用Ntoskrnl.exe,并將由Ntdetect.com收集的硬件信息傳遞給它,同時(shí)被調(diào)用的還有hal.dll文件.如果你有多個(gè)硬件配置文件,當(dāng)運(yùn)行到這一步的時(shí)候,你會(huì)在屏幕上看到要求選擇硬件配置文件的信息.另外,Ntldr也將從注冊表中調(diào)用所有啟動(dòng)值為0x0的設(shè)備驅(qū)動(dòng)程序.如果你在boot.ini文件中有"/sos"參數(shù),一般在"/fastdetect"后面,那么妳將看到調(diào)用設(shè)備列表;
[典型故障]
啟動(dòng)的時(shí)候出現(xiàn)錯(cuò)誤信息:"Ntoskrnl.exe missing or currupt on bootup" (ntoskrnl.exe丟失或者損壞)
如果出現(xiàn)下列情形之一,會(huì)出現(xiàn)ntoskrnl.exe錯(cuò)誤出現(xiàn):
新增加了一個(gè)硬盤或者改變了原有的分區(qū),例如:刪除了原來的一個(gè)分區(qū)或者將原來的兩個(gè)分區(qū)合并,都可能導(dǎo)致boot.ini文件中的[bootloader]部分的default值丟失或者無效,從而在啟動(dòng)過程中無法找到啟動(dòng)所需的文件;
Ntoskrnl.exe文件被刪除或者被損壞;
[解決辦法:]
使用啟動(dòng)盤啟動(dòng)操作系統(tǒng),編輯boot.ini文件,檢察與下面一行類似的命令中是否有錯(cuò)誤:
muti(0)disk(0)rdisk(0)partition(1) /WINNT="microsoftwindows2000professional"/fastdetect
這一行表示在第一個(gè)ide硬盤上rdisk(0)的第一個(gè)分區(qū)上partition(1)裝有win2k,大家可以根據(jù)這個(gè)規(guī)律來查找自己的boot.ini文件中的數(shù)值是否正確;
如果沒有發(fā)現(xiàn)錯(cuò)誤,請將win2k安裝光盤放入光驅(qū),然后再命令行輸入:
expand x:/i386/ntoskrnl.ex_ c:/ntoskrnl.exe
回車,提示文件已經(jīng)釋放,取出光盤,reset;
[典型故障:]Hal.dllismissing...
這個(gè)故障是因?yàn)槿鄙賖al.dll文件引起的,解決的辦法是:
a,啟動(dòng)故障回復(fù)控制臺(tái);
b,輸入:expand x:/i386/hal.dl_ c:/windows/system32/hal.dll
c,輸入exit,回車;
加載內(nèi)核階段,ntldr加載稱為WindowsXP內(nèi)核的ntokrnl.exe;系統(tǒng)加載了WindowsXP內(nèi)核但是沒有將它初始化,接著ntldr加載硬件抽象層(HAL,hal.dll),然后,系統(tǒng)繼續(xù)加載HKEY_LOCAL_MACHINE/system鍵,NTLDR讀取select鍵來決定哪一個(gè)ControlSet將被加載;控制集中包含設(shè)備的驅(qū)動(dòng)程序以及需要加載的服務(wù),NTLDR加載HKEY_LOCAL_MACHINE/system/service/...下start鍵值為0的最底層設(shè)備驅(qū)動(dòng)。當(dāng)作為ControlSet的鏡像的CurrentControlSet被加載時(shí),ntldr傳遞控制給內(nèi)核,初始化內(nèi)核
階段就開始了;
2,內(nèi)核初始化.這一步將對(duì)內(nèi)核以及上一步中調(diào)用的硬件驅(qū)動(dòng)程序進(jìn)行初始化.
初始化過程:
在初始化內(nèi)核階段開始的時(shí)候,彩色的WindowsXP的logo以及進(jìn)度條顯示在屏幕中央,在這個(gè)階段,系統(tǒng)完成了啟動(dòng)的3項(xiàng)任務(wù);
1>,內(nèi)核使用在硬件檢測時(shí)收集到的數(shù)據(jù)來創(chuàng)建了HKEY_LOCAL_MACHINE/HARDWARE鍵;
2>,內(nèi)核通過引用HKEY_LOCAL_MACHINE/system/Current的默認(rèn)值復(fù)制ControlSet來創(chuàng)建了CloneControlSet,CloneControlSet配置是計(jì)算機(jī)數(shù)據(jù)的備份,不包括啟動(dòng)中的改
變,也不會(huì)被修改;
3>,系統(tǒng)完成初始化以及加載設(shè)備驅(qū)動(dòng)程序,內(nèi)核初始化那些在加載內(nèi)核階段被加載的底層驅(qū)動(dòng)程序,然后內(nèi)核掃描HKEY_LOCAL_MACHINE/system/CurrentControlSet/service/...下start鍵值為1的設(shè)備驅(qū)動(dòng)程序,這些設(shè)備驅(qū)動(dòng)程序在加載的時(shí)候便完成初始化,如果有錯(cuò)誤發(fā)生,內(nèi)核使用ErrorControl鍵值來決定如何處理....
值為3時(shí),錯(cuò)誤標(biāo)志為危機(jī)/關(guān)鍵,系統(tǒng)初次遇到錯(cuò)誤會(huì)以LastKnownGoodControlSet重新啟動(dòng),如果使用LastKnownGoodControlSet啟動(dòng)仍然產(chǎn)生錯(cuò)誤,系統(tǒng)報(bào)告啟動(dòng)失敗,錯(cuò)誤信息將被顯示,系統(tǒng)停止啟動(dòng);
值為2時(shí)錯(cuò)誤情況為嚴(yán)重,系統(tǒng)啟動(dòng)失敗并且以LastKnownGoodControlSet重新啟動(dòng),如果系統(tǒng)啟動(dòng)已經(jīng)在使用LastKnownGood值,它會(huì)忽略錯(cuò)誤并且繼續(xù)啟動(dòng);
當(dāng)值是1的時(shí)候錯(cuò)誤為普通,系統(tǒng)會(huì)產(chǎn)生一個(gè)錯(cuò)誤信息,但是仍然會(huì)忽略這個(gè)錯(cuò)誤并且繼續(xù)啟動(dòng);
當(dāng)值是0的時(shí)候忽略,系統(tǒng)不會(huì)顯示任何錯(cuò)誤信息而繼續(xù)運(yùn)行;
plus:Hal.dll,是英文hardwareabstractionlayer,硬件抽象層的縮寫,這種技術(shù)提供了驅(qū)動(dòng)程序與硬件之間的借口,可以防止應(yīng)用程序直接訪問計(jì)算機(jī)系統(tǒng)內(nèi)存,cpu以及硬件設(shè)備(如聲卡和顯卡),從而使系統(tǒng)可以跨越多種硬件平臺(tái)運(yùn)行;
[服務(wù)調(diào)用階段]
這個(gè)階段將啟動(dòng)會(huì)話管理器(smss.exe),會(huì)話管理起將讀取必須調(diào)用的程序列表,在注冊表的bootExecute項(xiàng)中,然后設(shè)置內(nèi)存分頁并且啟動(dòng)win32子系統(tǒng); SessionManager啟動(dòng)了WindowsXP高級(jí)子系統(tǒng)以及服務(wù),SessionManager啟動(dòng)控制所有輸入,輸出設(shè)備以及訪問顯示器屏幕的Win32子系統(tǒng)以及Winlogon進(jìn)程,初始化內(nèi)核完畢
[win32子系統(tǒng)啟動(dòng)階段]
一旦win32子系統(tǒng)啟動(dòng),會(huì)自動(dòng)運(yùn)行winlogon.exe,同時(shí)移動(dòng)本地安全管理(lsass.exe) 并且顯示登陸對(duì)話框.然后回運(yùn)行服務(wù)控制器SCreg.exe,服務(wù)控制器會(huì)檢察注冊表中啟動(dòng)值為0x2的服務(wù)項(xiàng)目,然后調(diào)用這些服務(wù),值為0x3的服務(wù)表示需要手動(dòng)啟動(dòng),值為0x4 的服務(wù)表示禁用;
ServiceController最后執(zhí)行以及掃描
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Servives
聯(lián)系客服