歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 新手學堂:Linux操作系統的開機流程分析

新手學堂:Linux操作系統的開機流程分析

日期:2017/3/2 16:52:54   编辑:Linux服務器
首先加載BIOS的硬件信息,眾所周知BIOS即Basic Input/Output Setup的意思,每次你按下開機鍵,計算機首先就會加載BIOS的信息,開機時按del鍵可以進入BIOS進行設置,比如最常用的就是設置從硬盤啟動還是從光驅啟動或其他,相信裝過操作系統的人都知道這個。當然BIOS裡面還有相當多的信息,比如硬盤大小,電壓等。
 
  如果BIOS是設置從硬盤啟動的話,那麼讀完BIOS後會先去讀取第一個開機硬盤的頭一個扇區,就是MBR,估計有人聽過,即master boot record.引導程序如grub,lilo都裝在這裡。為什麼要讀取這些信息呢?想想你機器裡裝的多系統,如果沒有引導程序,機器就不知道他該啟動哪個系統,引導程序的作用正是提供幾個操作系統的選項,然後各個選項都指向了操作系統的啟動地址。
 
  機器從引導程序找到了linux內核後,就要開始載入linux內核了,linux系統的內核基本上安裝在/boot下,引導程序就會找到boot下的內核,並加載。
 
  加載完畢後,內核執行/sbin/init程序,而這個程序會根據/etc/inittab文件裡的信息選擇登入模式,一共有7種模式,分別以0——6數字表示。基本上我們用的linux裝有圖形界面的是用模式5.
 
  知道了登入模式後,就要開始讀取主機信息了,linux首先讀取/etc/rc.d/rc.sysinit,其中包括PATH路徑和一些LINUX操作系統最基本的信息。
 
  接下來就要開始加載各個模塊了,系統從/etc/modules.conf讀入模塊相關信息
 
  /sbin/init程序開始執行run-level中的各個腳本了,剛開始已經選擇了等如模式0——6,則就會執行/etc/rc.d/rc*.d裡的腳本了。進入/etc/rc.d/rc5.d文件夾,ls -l查看,會發現這裡都是指向rc.d/init.d裡面腳本的鏈接。由於各個登入模式都有不同的腳本啟動,而所有啟動的腳本都是來自於init.d裡。rc*.d裡的腳本名要麼是K開頭,要麼是S開頭,K表示kill,S表示start,S和K後面的數字代表啟動的優先級,越小越優先。
 
  到這裡差不多已經完成了開機的大部分任務,接著/sbin/init就要開始執行執行linux的個人化設定。這些個設定都保存在/etc/rc.d/rc.local裡

Copyright © Linux教程網 All Rights Reserved