關於雙系統選單,NT系統啟動過程
預啟動階段
1. post過程-開機自檢:這是每個計算機的電源接通之後,必須要做的第一件事情.post將檢查硬體,是否有記憶體,是否有鍵盤以及scsi卡等等.雖然這是一個核作業系統無關的過程,但是他卻是保證系統正常啟動的第一個步驟.
2. 一旦自檢完成,計算即將查詢啟動裝置,並將MBR-main boot record(主引導紀錄)調入記憶體.
典型故障:
開機以後藍色畫面,"operating system not found",提示"invalid partition table"
這些錯誤資訊的出現是因為Mbr遭到破壞;
解決辦法:
用系統啟動盤(軟盤或者安裝光碟)啟動計算機,然後執行下面的命令:
Fdisk.exe /mbr
Fdisk /mbr這個命令可以在硬碟上無條件地寫入主載入程式和分割槽表,並且不對dos引導扇區-Dbr-dos boot record,檔案分配表和目錄區進行初始化;也就是說,執行fdisk/mbr後,可在不破壞硬碟上原有資料資訊的情況下,重建主載入程式和分割槽表;他對單純感染嵌入式引導區病毒的硬碟,可以起到清除病毒的作用;
Fdisk是ms-dos,windows 95/98/me中的標準命令,windows NT/2k/XP使用者,可以採用下面的辦法修復主引導紀錄:
啟動系統故障恢復控制檯,在命令提示符下面輸入fixmbr,在出現警告資訊的時候按Y鍵,最後輸入exit退出故障回覆控制檯;
3. 計算即將查詢活動分割槽,引導扇區,並將其裝入記憶體;
4. 開始呼叫Ntldr,Ntldr是系統載入器,他是第二階段的關鍵部分;
Plus:Mbr,或者說master boot record的縮寫,中文意思就是主引導紀錄,硬碟的0磁軌第一扇區稱為MBR,他的大小是512位元組,而這個區域可以分為兩個部分:i,pre-boot區(預啟動區),佔446位元組:ii,第二部分是partition table區(分割槽表)佔64個位元組,該區相當於一個小程式,作用是判斷那個分割槽被標記為活動分割槽,然後去讀取那個分割槽的啟動區,並執行該區中的程式碼.最後兩個位元組是一個識別符號,用來表明這個扇區的結束,其二進位制數值為0x55AA.
啟動階段
1. 當Ntldr開始執行之後,它首先將處理器的真實模式改為32位平滑記憶體模式;
解釋:真實模式和32位平滑記憶體模式:
兩者都是電腦系統的定址方式.真實模式指的就是16位模式,執行比較穩定.平滑記憶體模式則在定址範圍和速度上有明顯的優勢.
2. 啟動小檔案系統(例如fat,ntfs),以便從磁碟上訪問檔案;
3. 隨後,Ntldr將訪問第一個檔案:boot.ini檔案,並且根據檔案的內容在螢幕上顯示啟動選單;
4. 如果使用者選擇的不是win2k(或者winXp)作業系統,那麼Ntldr將呼叫bootsect.dos,將控制權交給她,並且啟動所操作的系統,否則,Ntldr將執行Ntdetect.com檔案;
典型故障
當妳選擇了其他作業系統之後,出現了錯誤資訊:I/O error accessing bot sector file
Muti(0)disk(0)rdisk(0)partiton(1)BOOTSS
這種情況是由於找不到啟動分割槽造成的,一般出現在安裝了多個作業系統的計算機上.當妳在已有的作業系統-例如win98上安裝win2k的時候,安裝程式會將原有的啟動分割槽(一般為0分割槽)儲存成bootsect.dos,然後安裝程式會將win2k的啟動分割槽放到0分割槽上.因此,bootsect.dos是在啟動的過程中建立的,無法像其他丟失的檔案一樣可以從光碟上面複製過來,那麼,如何解決這種情況?
為原來的作業系統重新生成一個啟動分割槽.例如:對於win98,只需要用win98的啟動盤啟動系統,然後在命令提示符下輸入sys c:,
建立bootsect.dos:
a,將win2k安裝光碟放入光碟機,啟動計算機;
b,在出現歡迎螢幕後,按兩次R鍵;
c,當安裝程式執行到修復任務選想的時候,選擇"檢查啟動扇區"選項,然後將光條移動到"繼續(執行所選任務)"上按回車;
d,跟隨安裝嚮導繼續,最後會看見"安裝程式已完成修復"的提示;
e,Reset;
5. Ntdetect.com將收集計算機硬體方面的資訊,這些硬體包括:計算機ID號,適配卡型別,顯示卡,鍵盤以及滑鼠,軟盤,com口和並口等等.一旦資訊收集完成,Ntdetect.com會將資訊傳遞給Ntldr,並將資訊寫入登錄檔中的hkey local machinehardware分支;
可以看到:啟動階段呼叫了3個非常重要的檔案:Ntdetect.com,boot.ini和bootsect.dos.而這個過程也是安裝了多個作業系統經常出現問題的地方;
典型故障
計算機啟動時:
沒有出現啟動選單;
這種情況是將顯示作業系統列表的時間設為0秒引起的.解決的辦法是,我的電腦,屬性,高階,啟動故障恢復,顯示作業系統列表...(修改時間數值)
典型故障
當計算機啟動的時候出現:
Ntldr is missing,press any key to restart...
Ntldr檔案丟失,出現錯誤會造成這個故障,其它類似的故障還有,Ntdetect.com is missing..等等,利用下面的解決辦法:
-利用win2k安裝光碟,這個檔案存放在系統安裝光碟的i386目錄下面,因此,只要將其複製到硬碟就可以了;
a,放入win2k光碟,啟動win2k安裝;
b,出現歡迎介面的時候,按R;
c,win2k修復選項介面中,按R;
d,當提示選擇修復選項的時候,按M;(手動修復)
e,選擇 驗證win2k系統檔案;
f,選擇 繼續(執行所選任務),然後回車,
g,出現緊急修復盤介面:如果你有緊急修復盤的話,插入緊急修復盤,根據提示修復安裝,reset;
h,如果沒有緊急修復盤,按L,用光碟修復;
使用控制檯:輸入map,記下win2k安裝光碟所在的光碟機磁碟機代號L;
輸入: copy L:i386ntldr c:
提示是否覆蓋,Y;
輸入exit重新啟動;
核心呼叫階段
1. 在這個階段,Ntldr將呼叫Ntoskrnl.exe,並將由Ntdetect.com收集的硬體資訊傳遞給它,同時被呼叫的還有hal.dll檔案.如果你有多個硬體配置檔案,當執行到這一步的時候,你會在螢幕上看到要求選擇硬體配置檔案的資訊.另外,Ntldr也將從登錄檔中呼叫所有啟動值為0x0的裝置驅動程式.如果你在boot.ini檔案中有" /sos"引數,一般在" /fastdetect"後面,那麼妳將看到呼叫裝置列表;
典型故障
啟動的時候出現錯誤資訊:"Ntoskrnl.exe missing or corrupt on bootup"(ntoskrnl.exe丟失或者損壞)
如果出現下列情形之一,會出現ntoskrnl.exe錯誤出現:
-新增加了一個硬碟或者改變了原有的分割槽,例如:刪除了原來的一個分割槽或者將原來的兩個分割槽合併,都可能導致boot.ini檔案中的[bot loader]部分的default值丟失或者無效,從而在啟動過程中無法找到啟動所需的檔案;
Ntoskrnl.exe檔案被刪除或者被損壞;
解決辦法
使用啟動盤啟動作業系統,編輯boot.ini檔案,檢察與下面一行類似的命令中是否有錯誤:
muti(0)disk(0)rdisk(0)partition(1)WINNT="microsoft windows 2000 professional" /fastdetect
這一行表示在第一個ide硬碟上rdisk(0)的第一個分割槽上partition(1)裝有win2k,大家可以根據這個規律來查詢自己的boot.ini檔案中的數值是否正確;
如果沒有發現錯誤,請將win2k安裝光碟放入光碟機,然後再命令列輸入:
expand x:i386ntoskrnl.ex_ c:ntoskrnl.exe
回車,提示檔案已經釋放,取出光碟,reset;
典型故障
Hal.dll is missing...
這個故障是因為缺少hal.dll檔案引起的,解決的辦法是:
a,啟動故障回覆控制檯;
b,輸入: expand x:i386hal.dl_ c:windowssystem32hal.dll
c,輸入exit,回車;
2. 核心初始化.這一步將對核心以及上一步中呼叫的硬體驅動程式進行初始化.
plus:Hal.dll,是英文hardware abstraction layer,硬體抽象層的縮寫,這種技術提供了驅動程式與硬體之間的藉口,可以防止應用程式直接訪問計算機系統記憶體,cpu以及硬體裝置(如音效卡和顯示卡),從而使系統可以跨越多種硬體平臺執行;
服務呼叫階段
這個階段將啟動會話管理器(smss.exe),會話管理起將讀取必須呼叫的程式列表,在登錄檔的bootExecute項中,然後設定記憶體分頁並且啟動win32子系統;
win32子系統啟動階段
一旦win32子系統啟動,會自動執行winlogon.exe,同時移動本地安全管理(lsass.exe)並且顯示登陸對話方塊.然後回執行服務控制器SCreg.exe,服務控制器會檢察登錄檔中啟動值為0x2的服務專案,然後呼叫這些服務,值為0x3的服務表示需要手動啟動,值為0x4的服務表示禁用;
使用者登陸階段
最後就是使用者登陸階段了,一旦使用者可以登陸進系統,那麼也就表明整個啟動過程已經結束,成功登陸之後,當前設定也被自動儲存為"最後一次正確配置-last known good"以備以後使用;
如何啟動故障恢復控制檯
1. 使用win2k光碟啟動計算機;
2. 在歡迎介面中按R;
3. 按c選擇使用故障恢復控制檯修復win2k安裝;
4. 輸入需要修復的windows所在磁碟機代號前的序號,回車;
5. 輸入管理員口令,回車
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245292/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android 系統啟動過程Android
- Linux系統啟動過程Linux
- Android系統啟動流程(四)Launcher啟動過程與系統啟動流程Android
- Android系統啟動過程剖析Android
- FreeBSD系統啟動過程(轉)
- 作業系統啟動的過程作業系統
- 定製多系統啟動選單
- Win98和WinXP雙系統啟動選單的恢復(轉)
- 【作業系統2】作業系統啟動過程與異常/中斷,系統呼叫作業系統
- 多系統啟動選單的修復EasyBootboot
- 【系統安全003】NT驅動框架框架
- Android系統啟動流程(三)解析SyetemServer程式啟動過程AndroidServer
- Android系統原始碼分析--Activity啟動過程Android原始碼
- Android系統原始碼分析--Process啟動過程Android原始碼
- 巧用NT Loader實現多作業系統啟動 (轉)作業系統
- Win10雙系統怎麼變回單系統_win10電腦雙系統怎麼改成單系統Win10
- 關於安裝VMware以及Linux作業系統過程Linux作業系統
- Win7與Ubuntu雙系統安裝過程Win7Ubuntu
- Android系統原始碼分析–Zygote和SystemServer啟動過程Android原始碼GoServer
- Android系統原始碼分析--Zygote和SystemServer啟動過程Android原始碼GoServer
- 剖析Linux系統啟動的後臺全過程 (zt)Linux
- 雙系統的安裝和啟動原理(轉)
- 系統 儲存過程儲存過程
- 關於使用者註冊系統的Refactoring(重整)過程
- 作業系統動態庫呼叫過程作業系統
- Android系統程式Zygote啟動過程的原始碼分析(3)AndroidGo原始碼
- mac裝win10雙系統的詳細過程MacWin10
- 蘋果電腦帶有雙系統Mac/Win,如何更改預設啟動系統?蘋果Mac
- 移動端禁用系統預設選單
- 系統啟動, init
- 基於雙核的雙系統製作
- 電腦裝雙系統設定預設啟動win10系統的方法Win10
- Androd 系統原始碼-3:應用啟動過程的原始碼分析原始碼
- 圖解 Android 系列(一)揭祕 Android 系統啟動過程圖解Android
- Win10雙系統怎麼改啟動項名稱 win10雙系統修改啟動項名稱的步驟Win10
- MySQL 的啟動選項和系統變數MySql變數
- Oracle 最簡單的隨系統自動啟動Oracle
- win10安裝centos7系統以及雙系統啟動項的恢復Win10CentOS