Linux系統開機過程解釋筆記

 · 1: 啓動電源後,主機第一步先做的就是查詢BIOS(全稱:basic input/output system 基本輸入輸出系統)信息。瞭解整個系統的硬件狀態,如CPU,內存,顯卡,網卡等。嗯,這一步windows算和它是一家。不分彼此。

  · 2: 接下來,就是主機讀取MBR(硬盤的第一個扇區)裏的boot loader了。這個可是重點哦,據說troubleshooting裏就會考這點,給個壞了的loader,叫你修正。windows不支持linux 的分區格式。所以,用windows的boot。ini是查不到linux的系統的。一般我裝系統都是先裝windows再裝linux,然後用grub 來做boot loader。兩個字:省心!因爲linux不像windows那麼小氣。grub可是支持windows分區格式的哦。

  · 3: 接上一步,主機讀取boot loader後,會讀取裏面的信息,知道誰跟誰是待在哪,假如主機想進入linux系統,讀取到linux核心是在/boot文件目錄中後,將此核心加載到內存中。開始了接下來的分析啓動之旅。

  · 4: OK,第一個運行程序是誰?就是/sbin/init程序。不信,就用top程序看下,是不是PID爲1的就是這個東東,它,可是萬物之祖啊,我簡稱它是女媧娘娘(不喜歡亞當夏娃)。

  · 5: init首先查找啓動等級(run-level)。因爲啓動等級不同,其運行腳本(也就是服務)會不同。默認的等級有以下幾項:

  0 - halt (系統直接關機)

  1 - single user mode (單人模式,用於系統維護時使用)

  2 - Multi-user, without NFS (類似3模式,不過少了NFS服務)

  3 - Full multi-user mode (完整模式,不過,是文本模式)

  4 - unused (系統保留功能)

  5 - X11 (與3模式類似,不過,是X終端顯示)

  6 - reboot (重新開機)

  (不要選擇0或4,6 否則,進步了系統的)

  · 6: OK。系統知道自己的啓動等級後,接下來,不是去啓動服務,而是,先設置好主機運行環境。讀取的文件是/etc/rc.d/rc.sysinit文件。那究竟要設置哪些環境呢?

  · 設置網絡環境/etc/sysconfig/network,如主機名,網關,IP,DNS等。

· 掛載/proc。此文件是個特殊文件,大小爲0,因爲它是在內存當中。裏面東東最好別刪。

  · 根據內核在開機時的結果/proc/sys/kernel/modprobe。開始進行周邊設備的偵測。

  · 載入用戶自定義的模塊/etc/sysconfig/modules/*.modules

  · 讀取/etc/sysctl。conf文件對內核進行設定。

  · 設定時間,終端字體,硬盤LVM或RAID功能,以fsck進行磁盤檢測。

  · 將開機狀況記錄到/var/log/dmesg中。(可以用命令dmesg查看結果)

  · 7: OK,接下來,就是啓動系統服務了,不同的run-level會有不同的服務啓動。到/etc/rc.d目錄中,不同的level會有不同的目錄。如啓動 3模式,會有個rc3.d目錄,裏面就保存着服務。其中,S(start)開頭的表明開機啓動,K(kill)開頭的表明開機不啓動。數字表示啓動順序。 數字越小,啓動越早。

  注意,他們都是連接到etc/rc.d/init.d/目錄中的相關文件。所以,想手工啓動某一服務,可以用"/etc/rc.d/init。 d/某個服務 start"啓動哦。相反,我們也可以把某個服務ln(鏈接命令)到不同run-level的目錄中。記得打上S或者K+數字哦。

  · 8: 讀取服務後,主機會讀取/etc/rc.d/rc.local文件。所以,如果需要什麼開機啓動的話,可以寫個腳本或命令到這裏面來。就不用像上面那麼麻煩。以後刪除也方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章