天天看點

BIOS自檢

LINUX 啟動過程詳解

一、啟動過程

1.BIOS自檢

2.讀取MBR資訊

3.加載核心

4.核心執行init 程式,從/etc/inittab 中獲得run-level資訊

5.init 執行 /etc/rc.d/rc.sysinit

6.執行/etc/rc.d/rcN.d/[ks]

7.init 執行相應的run-level腳本

8.init 執行/etc/rc.d/rc.local

9.執行/bin/login,登陸登陸

POST上電自檢:是微機接通電源後,系統進行的一個自我檢查的例行程式。這個過程通常稱為POST上電自檢(Power On Self Test)。對系統的幾乎所有的硬體進行檢測。

POST是如何進行自檢測的?

主機闆在接通電源後,系統首先由(Power On Self Test,上電自檢)程式來對内部各個裝置進行檢查。在我們按下起動鍵(電源開關)時,系統的控制權就交由BIOS來完成,由于此時電壓還不穩定,主機闆控制晶片組會向CPU發出并保持一個RESET(重置)信号,讓CPU初始化,同時等待電源發出的POWER GOOD信号(電源準備好信号)。當電源開始穩定供電後(當然從不穩定到穩定的過程也隻是短暫的瞬間),晶片組便撤去RESET信号(如果是手動按下計算機面闆上的Reset按鈕來重新開機機器,那麼松開該按鈕時晶片組就會撤去RESET信号),CPU馬上就從位址FFFF0H處開始執行指令,這個位址在系統BIOS的位址範圍内,無論是Award BIOS還是AMI BIOS,放在這裡的隻是一條跳轉指令,跳到系統BIOS中真正的啟動代碼處。系統BIOS的啟動代碼首先要做的事情就是進行POST(Power On Self Test,加電自檢),由于電腦的硬體裝置很多(包括存儲器、中斷、擴充卡),是以要檢測這些裝置的工作狀态是否正常。

    這一過程是逐一進行的,BIOS廠商對每一個裝置都給出了一個檢測代碼(稱為POST CODE即開機自我檢測代碼),在對某個設定進行檢測時,首先将對應的POST CODE寫入80H(位址)診斷端口,當該裝置檢測通過,則接着送另一個設定的POST CODE,對此設定進行測試。如果某個裝置測試沒有通過,則此POST CODE會在80H處保留下來,檢測程式也會中止,并根據已定的報警聲進行報警(BIOS廠商對報警聲也分别作了定義,不同的設定出現故障,其報警聲也是不同的,我們可以根據報警聲的不同,分辨出故障所在。

POST自檢是按什麼順序進行檢測的?

POST自檢測過程大緻為:加電-CPU-ROM-BIOS-System Clock-DMA-64KB RAM-IRQ-顯示卡等。檢測顯示卡以前的過程稱過關鍵部件測試,如果關鍵部件有問題,計算機會處于挂起狀态,習慣上稱為核心故障。另一類故障稱為非關鍵性故障,檢測完顯示卡後,計算機将對64KB以上記憶體、I/O口、軟硬碟驅動器、鍵盤、即插即用裝置、CMOS設定等進行檢測,并在螢幕上顯示各種資訊和出錯報告。在正常情況下,POST過程進行得非常快,我們幾乎無法感覺到這個過程。

本文轉自  還不算暈  51CTO部落格,原文連結:

http://blog.51cto.com/haibusuanyun/751243

繼續閱讀