linux啓動順序

image.png

啓動第一步:加載BIOS
接通電源後系統的控制權就交由BIOS來完成,系統會運行一個自我檢查的例行程序,
先加載BIOS信息,BIOS中包含了自檢程序,中斷程序、配置信息、
運行POST(Power-On-Self-Test))自檢,主要檢查硬件的好壞
eg:硬盤壞道將致使電腦系統文件損壞或丟失,電腦沒法啓動或死機,
eg:內存條未插緊,
eg:BIOS程序損壞

啓動第二步:讀取MBR
Master Boot Record主引導記錄,可裏面卻存放了預啓動信息、分區表信息。
系統將其複製到內存中。其實被複制到物理內存的內容就是Boot Loader,
而具體到你的電腦,那就是lilo或者grub了。
eg:MBR文件損壞

啓動第三步:Boot Loader
Boot Loader,Grub、Lilo和spfdisk是常見的Loader。
系統讀取內存中的grub配置信息,依照配置信息來啓動不一樣的操做系統。
eg:centos7中使用的是grub2

啓動第五步:加載內核
創建Linux內核,基於Linux的程序應該能夠正常運行了。

啓動第六步:用戶層init依據inittab文件來設定運行等級
內核被加載後,第一個運行的程序即是/sbin/init,
該文件會讀取/etc/inittab文件,並依據此文件來進行初始化工做。
其實/etc/inittab文件最主要的做用就是設定Linux的運行等級,

啓動第七步:init進程執行rc.sysinit
/etc/rc.d/rc.sysinit腳本程序,包括設定PATH、設定網絡配置,啓動swap分區、設定/proc等等。
這裏面的腳本夠看幾天的

啓動第八步:啓動內核模塊
依據/etc/modules.conf文件或/etc/modules.d目錄下的文件來裝載內核模塊。

啓動第九步:執行/etc/rc.d/rc.local
你若是打開了此文件,裏面有一句話,讀過以後,你就會對此命令的做用一目瞭然:
#THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES(此文件是爲了兼容性目的而添加的)
#It is highly advisable to create own systemd services or udev rules(建議建立本身的systemd服務或udev規則)
#to run scripts during boot instead of using this file.(在引導期間運行腳本而不是使用此文件)。
Linux留給用戶進行個性化的地方。你能夠把你想設置和啓動的東西放到這裏。

啓動第十步--執行/bin/login程序,進入登陸狀態
此時,系統已經進入到了等待用戶輸入username和password的時候了,
你已經能夠用本身的賬號登入系統了。

啓動的三種方法:shell

1、把啓動程序的命令添加到/etc/rc.d/rc.local文件中centos

2、把寫好的啓動腳本添加到目錄/etc/rc.d/init.d/,而後使用命令chkconfig設置開機啓動。bash

3、把啓動程序的命令添加到/etc/rc.d/rc.sysinit 文件中網絡

init是全部進程的頂層ide

init讀取/etc/inittab,執行rc.sysinit腳本this

/etc/profile ~/.bash_profile 是在啓動一個交互登錄shell的時候被調用。centos7

etc/bashrc ~/.bashrc 是在一個交互的非登錄shell啓動的時候被調用。spa

~/.bash_logout 在用戶註銷登錄的時候被讀取操作系統

相關文章
相關標籤/搜索