Windows Server 2003 啟動(dòng)中常見(jiàn)錯(cuò)誤的解決方法
摘要:在Windows Server 2003啟動(dòng)過(guò)程中,會(huì)出現(xiàn)各種各樣的問(wèn)題,本文介紹了操作系統(tǒng)啟動(dòng)過(guò)程的幾個(gè)階段,收集了一些經(jīng)常出現(xiàn)的錯(cuò)誤,并結(jié)合 Windows 操作系統(tǒng)啟動(dòng)過(guò)程,針對(duì)這些錯(cuò)誤提出了解決方法。
當(dāng)診斷一個(gè)系統(tǒng)啟動(dòng)錯(cuò)誤時(shí),判斷系統(tǒng)是在哪一階段出現(xiàn)錯(cuò)誤非常關(guān)鍵,系統(tǒng)啟動(dòng)過(guò)程根據(jù) CPU 架構(gòu)不同略微有些差異,下面我們簡(jiǎn)單介紹一下 x86-based 系統(tǒng)啟動(dòng)過(guò)程的幾個(gè)階段:
1. Pre-Boot Sequence
2. Boot Sequence
3. Kernel Load Sequence
4. Kernel Initialization Sequence
5. Logon Sequence
6. Plug and Play detection
階段 1: Pre-Boot Sequence
在計(jì)算機(jī)加電后開(kāi)始準(zhǔn)備啟動(dòng)操作系統(tǒng)之前,有一個(gè) Pre-Boot Sequence 的過(guò)程,主要是計(jì)算機(jī)的 BIOS 中配置的設(shè)備引導(dǎo)順序?qū)ふ覇?dòng)設(shè)備,Pre-Boot Sequence 可以分下以下步驟:
(1)系統(tǒng)加電自檢:主要監(jiān)測(cè)主板、CPU,內(nèi)存及其他計(jì)算機(jī)所使用的硬件設(shè)備的信息;
(2)找到合適的啟動(dòng)設(shè)備并加載MBR,MBR中有分區(qū)表和主引導(dǎo)代碼,通過(guò)主引導(dǎo)代碼定位到活動(dòng)分區(qū);
(3)通過(guò) MBR 找到活動(dòng)分區(qū)后,從活動(dòng)分區(qū)中加載 BOOT SECTOR 到內(nèi)存并執(zhí)行其中的代碼;
(4)通過(guò) BOOT SECTOR 找到 NTLDR 文件,加載 NTLDR 到內(nèi)存中并執(zhí)行;
可能出現(xiàn)的問(wèn)題及解決方法:
(1)MBR 損壞
現(xiàn)象 - 分區(qū)表不正確
現(xiàn)象 - 主引導(dǎo)代碼損壞
現(xiàn)象 - NTDETECT.COM 搜集硬件信息失敗
原因:
由于病毒或者其他人為的誤編輯導(dǎo)致引導(dǎo)硬盤(pán)的 MBR 損害;
解決方法:
利用Windows PE系統(tǒng)引導(dǎo)計(jì)算機(jī)后,使用 WinHex 工具對(duì)引導(dǎo)磁盤(pán)的 MBR 進(jìn)行修復(fù)操作;
(2)硬件配置不正確
現(xiàn)象:主板報(bào)錯(cuò);
原因:關(guān)鍵的硬件損害或者配置不正確,如內(nèi)存條損壞;
解決方法:要通過(guò)進(jìn)一步硬件故障檢測(cè),針對(duì)不同硬件故障做不同處理;
(3)找不到活動(dòng)分區(qū)
現(xiàn)象:按照設(shè)備啟動(dòng)順序遍歷后,最后停在如下界面:
原因:可能是通過(guò) fdisk 工具編輯磁盤(pán)分區(qū)表后沒(méi)有指定活動(dòng)分區(qū);
解決方法:利用Windows PE系統(tǒng)引導(dǎo)計(jì)算機(jī)后,使用 WinHex 工具對(duì)引導(dǎo)磁盤(pán)的 MBR 的分區(qū)表進(jìn)行編輯,指定正確的分區(qū)表?xiàng)l目的屬性為活動(dòng)分區(qū),然后重新引導(dǎo)操作系統(tǒng);
(4)NTLDR 文件缺失或損壞
現(xiàn)象:如下圖所示,輸出錯(cuò)誤信息“NTLDR is missing”;
原因:NTLDR 文件被病毒刪除或損害,或者文件系統(tǒng)損壞,導(dǎo)致了 NTLDR 文件的損壞;
解決方法:可以通過(guò)系統(tǒng)恢復(fù)或者 Windows Server 2003 引導(dǎo)盤(pán) NTLDR 文件;
(2)BIOS 配置不正確
現(xiàn)象:
原因:
解決方法:根據(jù)實(shí)際情況調(diào)整 BIOS 配置;
階段 2: Boot Sequence
當(dāng) Pre-Boot Sequence 的階段完成后,開(kāi)始進(jìn)入 Boot Sequence 階段??梢苑窒乱韵虏襟E:
(1)NTLDR 將 CPU 工作模式從 Real-Mode 切換至 Protected-Mode,然后啟動(dòng)文件系統(tǒng)驅(qū)動(dòng)用于 支持計(jì)算機(jī)上的文件系統(tǒng);
(2)NTLDR 讀取 BOOT.INI 文件內(nèi)容,用于創(chuàng)建初始化引導(dǎo)選項(xiàng),如果選擇的是 Windows Server 2003, Windows NT 之外的操作系統(tǒng),BOOTSECT.DOS 文件被讀入內(nèi)存,用于加載其他的操作系統(tǒng),Windows Server 2003 引導(dǎo)過(guò)程中斷;
(3)當(dāng)系統(tǒng)初始化引導(dǎo)選項(xiàng)被選中后,根據(jù)該引導(dǎo)項(xiàng)對(duì)應(yīng)的磁盤(pán)號(hào)和分區(qū)號(hào)定位啟動(dòng)卷;
(4)從啟動(dòng)卷中找到 NTDETECT.COM 文件,NTDETECT.COM 檢測(cè)系統(tǒng)基本的硬件配置信息并且把配置信息寫(xiě)入注冊(cè)表中的 HKEY_LOCAL_MACHINE 鍵,NTDETECT.COM 識(shí)別的硬件包括并不僅限于 串口、并口、鍵盤(pán)、鼠標(biāo)、軟盤(pán)、SCSI 適配器 和 顯卡;
(5)將控制權(quán)交給 NTOSKRNL.EXE,進(jìn)入下一階段;
可能出現(xiàn)的問(wèn)題及解決方法:
(1)啟動(dòng)文件缺失或損壞
現(xiàn)象:
原因:NTLDR,BOOT.INI,BOOTSECT.DOC,NTDETECT.COM 或 NTOSKRNL.EXE中的一個(gè)缺失或損壞,導(dǎo)致操作系統(tǒng)無(wú)法正常啟動(dòng),一般情況下,通過(guò)錯(cuò)誤信息能準(zhǔn)確的判斷是那個(gè)文件缺失或損壞;
解決方法:可以通過(guò)系統(tǒng)恢復(fù)自動(dòng)修復(fù);
(2)BOOT.INI 配置不正確
現(xiàn)象:
原因:人為誤編輯 BOOT.INI 文件或者修改了磁盤(pán)配置;
解決方法:利用Windows PE系統(tǒng)引導(dǎo)計(jì)算機(jī)后,檢查 BOOT.INI 文件內(nèi)容,并根據(jù)實(shí)際情況重新配置;
(3)硬件無(wú)法識(shí)別或者配置不正確
現(xiàn)象:界面錯(cuò)誤信息指向 NTDETECT.COM
原因:
解決方法:需要進(jìn)一步排查具體原因,可以通過(guò)逐個(gè)移除新加硬件和相應(yīng)驅(qū)動(dòng)程序來(lái)定位;
關(guān)于此階段中一些重要的啟動(dòng)文件說(shuō)明:
BOOT.INI
用于在系統(tǒng)啟動(dòng)過(guò)程中創(chuàng)建系統(tǒng)選擇菜單,每個(gè)系統(tǒng)項(xiàng)在文件中都有對(duì)應(yīng)的條目與之對(duì)應(yīng),記錄了該系統(tǒng)的啟動(dòng)分區(qū)。BOOT.INI 文件一般為位于根目錄,具有系統(tǒng)屬性和隱藏屬性。
BOOTSECT.DOS
一個(gè)選項(xiàng)配置文件,在部署了多操作系統(tǒng)的環(huán)境中,如果選擇引導(dǎo)的是 Windows Server 2003, Windows NT 之外的操作系統(tǒng),這個(gè)文件會(huì)被加載。BOOTSECT.DOS 文件位于根目錄下,具有系統(tǒng)屬性和隱藏屬性。
NTDETECT.COM
用于檢測(cè)操作系統(tǒng)已經(jīng)安裝的硬件設(shè)備,并且將這些硬件設(shè)備的信息添加到注冊(cè)表。NTDETECT.COM 文件位于系統(tǒng)分區(qū)的根目錄下,具有系統(tǒng)屬性、隱藏屬性和只讀屬性。
NTOSKRNL.EXE
用于加載 Windows Server 2003 操作系統(tǒng),NTOSKRNL.EXE 文件位于 %windir%/system32。
階段 3: Kernel Load Sequence
當(dāng) Boot Sequence 的階段完成后,NTDETECT.COM 搜集的所有信息都傳遞給了 NTOSKRNL.EXE,Kernel Load Sequence 可以分下以下步驟:
(1)NTOSKRNL.EXE 加載并初始化;
(2)初始化執(zhí)行子系統(tǒng),啟動(dòng)類(lèi)型為 System-Start 的設(shè)備驅(qū)動(dòng)程序;
備注:這里說(shuō)的執(zhí)行子系統(tǒng),是指 Process And Thread Manager、Virtual Memory Manager、I/O Manager、Object Manager、Runtime Libraries 以及其他需要工作在內(nèi)核態(tài)的服務(wù)。
(3)為運(yùn)行原生應(yīng)用程序準(zhǔn)備系統(tǒng)環(huán)境;
備注:這里說(shuō)的原生應(yīng)用程序,需要解釋一下,Windows 操作系統(tǒng)提供兩種類(lèi)型的 API,一種是我們通常所說(shuō)的 Windows API,所有的 Windows 程序都需要依賴(lài) Windows API,另一種是 Native API,一些 Windows 組件如內(nèi)核驅(qū)動(dòng)程序 和 系統(tǒng)進(jìn)程(如csrss.exe)依賴(lài) Native API 。
(4)運(yùn)行 SMSS.EXE
關(guān)于此階段中一些重要的啟動(dòng)文件說(shuō)明:
NTOSKRNL.EXE 在這一階段的作用非常關(guān)鍵,它主要用于完成以下功能:
(1)加載 HAL.DLL (Hardware Abstraction Layer,是一個(gè) Kernel-Mode 庫(kù)),用于提供低級(jí)別的硬件交互接口,Windows 組件和第三方的設(shè)備驅(qū)動(dòng)程序依賴(lài) HAL 與底層硬件設(shè)備通信;
(2)加載操作系統(tǒng)Control Set,Control Set 用于控制系統(tǒng)配置信息(如列出需要被加載的設(shè)備驅(qū)動(dòng)程序);
(3)加載低級(jí)別的設(shè)備驅(qū)動(dòng)程序(如磁盤(pán)驅(qū)動(dòng)程序 disk.sys);
可能出現(xiàn)的問(wèn)題及解決方法:
現(xiàn)象:
原因:硬件設(shè)備驅(qū)動(dòng)程序不匹配,或者安裝了有 BUG 的安全、加密、過(guò)濾、第三方磁盤(pán)管理軟件、存儲(chǔ)管理軟件;
解決方法:知道是做了什么變更后出現(xiàn)的就比較好解決,回退操作,也可以借組于系統(tǒng)的 “最后一次正確配置”的高級(jí)選項(xiàng);
階段 4: Kernel Initialization Sequence
Kernel Initialization Sequence 主要?jiǎng)?chuàng)建 HKEY_LOCAL_MACHINE\HARDWARE 注冊(cè)表項(xiàng),運(yùn)行高優(yōu)先級(jí)的子系統(tǒng)和服務(wù),可以分下以下步驟:
(1)一旦 Kernel 成功加載后,會(huì)創(chuàng)建 HKEY_LOCAL_MACHINE\HARDWARE 注冊(cè)表項(xiàng),這個(gè)注冊(cè)表項(xiàng)用于指定系統(tǒng)啟動(dòng)時(shí)的硬件設(shè)備的配置信息;
(2)初始化隨 Kernel 加載的設(shè)備驅(qū)動(dòng)程序;
(3)運(yùn)行高優(yōu)先級(jí)的子系統(tǒng)和服務(wù);
備注:高優(yōu)先級(jí)的子系統(tǒng)包括并不僅限于 POSIX Subsystem,OS/2 Subsystem。
可能出現(xiàn)的問(wèn)題解決方法:知道是做了什么變更后出現(xiàn)的就比較好解決,回退操作,也可以借組于系統(tǒng)的 “最后一次正確配置”的高級(jí)選項(xiàng);
階段 5: Logon Sequence
smss.exe(Session Manager System)是 Logon Sequence 中的一個(gè)非常關(guān)鍵的角色,可以分下以下步驟:
(1)創(chuàng)建系統(tǒng)環(huán)境變量;
(2)啟動(dòng) Win32 Subsystem 的 Kernel-Mode 部分(win32k.sys)和 User-Mode 部分(csrss.exe);
(3)啟動(dòng)在注冊(cè)表項(xiàng) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems 中列出的子系統(tǒng);
(4)smss.exe 運(yùn)行 winlogon.exe(Windows Logon Manager);
備注:附上對(duì) winlogon.exe 程序功能的說(shuō)明:
winlogon.exe is a system service that enables logging on and off of users. It is also responsible for loading user profile.
It invokes GINA( Graphical Identification and Authentication) which displays login prompt. The GINA accepts the user login credentials and passes it back to Winlogon.
Winlogon then Starts Lsass.exe (the Local Security Authority) and passes login credentials to LSA. LSA determine which user account databases is to be used for authentication eg: Local SAM or Active Directory in case you are in a windows domain.
(5)用戶(hù)權(quán)限驗(yàn)證通過(guò)后, smss.exe 運(yùn)行 Service.exe(Services Subsystem,SCM);
(6)Service.exe 遍歷 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services,啟動(dòng)類(lèi)型為“自動(dòng)運(yùn)行”的服務(wù)。
可能出現(xiàn)的問(wèn)題及解決方法:
(1)登陸失敗
現(xiàn)象:
原因:用戶(hù)權(quán)限信息驗(yàn)證不通過(guò);
解決方法:嘗試找回權(quán)限信息,注意是否是域控導(dǎo)致,終極解決方案就是利用 PE 進(jìn)入系統(tǒng)后用工具重置密碼;
(2)服務(wù)啟動(dòng)失敗
現(xiàn)象:
原因:原因太多,不一一枚舉,cmd 輸入 eventvwr.msc 打開(kāi) System Log 查看具體詳情;
解決方法:根據(jù) System Log 記錄對(duì)癥下藥;
階段 6: Plug and Play Device Detection
Plug And Play Device Detection 是一個(gè)系統(tǒng)自動(dòng)檢測(cè)新增 PnP 設(shè)備并為 PnP 設(shè)備自動(dòng)查找驅(qū)動(dòng)程序嘗試使之能夠正常功能的過(guò)程,可以分下以下步驟:
(1)檢測(cè)啟動(dòng)過(guò)程中新增的設(shè)備,自動(dòng)為設(shè)備分配系統(tǒng)資源;
(2)如果設(shè)備是 PnP 并且可以從對(duì)應(yīng)的 Driver.cab 文件中找到對(duì)應(yīng)的驅(qū)動(dòng)程序,則提取驅(qū)動(dòng)程序并自動(dòng)安裝;
可能出現(xiàn)的問(wèn)題及解決方法:
PnP 設(shè)備無(wú)法正常工作
現(xiàn)象:
原因:驅(qū)動(dòng)程序不匹配;
解決方法:找到匹配的驅(qū)動(dòng)程序并安裝;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Windows 2000 server光盤(pán)啟動(dòng)安裝過(guò)程詳細(xì)圖解
- Win2008中SqlServer2008 無(wú)法打開(kāi)錯(cuò)誤日志文件導(dǎo)致無(wú)法啟動(dòng)的解決方法
- Windows Server 2012 R2 服務(wù)管理器自啟動(dòng)功能的關(guān)閉方法
- Windows server利用批處理腳本判斷端口啟動(dòng)tomcat的方法
- Dell?R630服務(wù)器安裝windows?server?2019服務(wù)器系統(tǒng)+制作U盤(pán)啟動(dòng)+服務(wù)器配置
- windows server 2019 程序開(kāi)機(jī)自啟動(dòng)的幾種實(shí)現(xiàn)方法
- windows server 無(wú)法正常啟動(dòng)修復(fù)的兩種方式
相關(guān)文章
Windows下maven安裝配置圖文教程(包括本地化倉(cāng)庫(kù)配置)
這篇文章主要介紹了Windows下maven安裝配置圖文教程(包括本地化倉(cāng)庫(kù)配置),本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-05-05Windows2008 AHCI功能開(kāi)啟方法(提升硬盤(pán)加速)
AHCI 全名Advanced Host Controller Interface,是 Intel 所主導(dǎo)的一項(xiàng)技術(shù),可以發(fā)揮SATA 硬盤(pán)的潛在加速功能,大約可增加30%的硬碟讀寫(xiě)速度,所以在主板和硬盤(pán)都支持的情況下還是開(kāi)啟該功能。2009-07-07windows7服務(wù)器上weblogic啟動(dòng)失敗異常解決方法
windows7服務(wù)器上weblogic啟動(dòng)失敗異常:/Java/jre6/lib/ext/QTJava.zip was unexpected at this time,接下來(lái)介紹詳細(xì)解決方法,需要的朋友可以參考下2013-01-01Windows下Apache+MySQL+PHP運(yùn)行環(huán)境的安裝圖文方法
Windows下Apache+MySQL+PHP的安裝方法,剛開(kāi)始學(xué)習(xí)php的朋友最好能自己掌握下,如果已經(jīng)會(huì)了不想花時(shí)間用在建設(shè)平臺(tái)上面,可以直接用一些php運(yùn)行環(huán)境包,例如phpnow等。2010-04-04詳解IIS中URL重寫(xiě)工具的匹配URL-規(guī)則模式(rule patterns)
rule patterns規(guī)則模式在IIS的URL重寫(xiě)模塊中,是較為關(guān)鍵的設(shè)置。只有規(guī)則模式的URL匹配成功時(shí),其他的規(guī)則才能起到作用。規(guī)則模式的匹配URL設(shè)置主要是匹配URL中的路徑部分,一般使用正則表達(dá)式和通配符對(duì)URL路徑進(jìn)行匹配,下面會(huì)仔細(xì)的說(shuō)明2017-03-03Windows平臺(tái)的 PHP 報(bào)錯(cuò) Fatal error: Class COM not found in 的解決方法
這篇文章主要介紹了Windows平臺(tái)的 PHP 報(bào)錯(cuò) Fatal error: Class COM not found in 的解決方法,需要的朋友可以參考下2014-08-08通過(guò)網(wǎng)站統(tǒng)計(jì)或系統(tǒng)監(jiān)視器查看IIS并發(fā)連接數(shù)
如果要查看IIS連接數(shù),最簡(jiǎn)單方便的方法是通過(guò)“網(wǎng)站統(tǒng)計(jì)”來(lái)查看,“網(wǎng)站統(tǒng)計(jì)”的當(dāng)前在線人數(shù)可以認(rèn)為是當(dāng)前IIS連接數(shù);如果要想知道確切的當(dāng)前網(wǎng)站IIS連接數(shù)的話,最有效的方法是通過(guò)windows自帶的系統(tǒng)監(jiān)視器來(lái)查看2013-01-01Windows Server 2019 遠(yuǎn)程控制的配置與管理圖文教程
這篇文章主要介紹了Windows Server 遠(yuǎn)程桌面功能,RDP協(xié)議,以及實(shí)驗(yàn)拓?fù)鋱D與說(shuō)明。再說(shuō)明了如何配置遠(yuǎn)程桌面服務(wù),包括創(chuàng)建遠(yuǎn)程訪問(wèn)賬戶(hù),開(kāi)啟遠(yuǎn)程桌面服務(wù),刪除默認(rèn)賬戶(hù)權(quán)限,最后驗(yàn)證遠(yuǎn)程桌面服務(wù)2023-05-05