Linux系統(tǒng)啟動(dòng)流程

內(nèi)核引導(dǎo)

當(dāng)計(jì)算機(jī)打開電源后,首先是BIOS開機(jī)自檢织阅,按照BIOS中設(shè)置的啟動(dòng)設(shè)備(通常是硬盤)來啟動(dòng)。



操作系統(tǒng)接管硬件以后始藕,首先讀入 /boot 目錄下的內(nèi)核文件蒲稳。

運(yùn)行init

運(yùn)行級(jí)別

Linux允許為不同的場(chǎng)合,分配不同的開機(jī)啟動(dòng)程序伍派,這就叫做"運(yùn)行級(jí)別"(runlevel)江耀。也就是說,啟動(dòng)時(shí)根據(jù)"運(yùn)行級(jí)別"诉植,確定要運(yùn)行哪些程序祥国。


Linux系統(tǒng)有7個(gè)運(yùn)行級(jí)別(runlevel):

運(yùn)行級(jí)別0:系統(tǒng)停機(jī)狀態(tài),系統(tǒng)默認(rèn)運(yùn)行級(jí)別不能設(shè)為0晾腔,否則不能正常啟動(dòng)
運(yùn)行級(jí)別1:?jiǎn)斡脩艄ぷ鳡顟B(tài)舌稀,root權(quán)限,用于系統(tǒng)維護(hù)灼擂,禁止遠(yuǎn)程登陸
運(yùn)行級(jí)別2:多用戶狀態(tài)(沒有NFS)
運(yùn)行級(jí)別3:完全的多用戶狀態(tài)(有NFS)壁查,登陸后進(jìn)入控制臺(tái)命令行模式
運(yùn)行級(jí)別4:系統(tǒng)未使用,保留
運(yùn)行級(jí)別5:X11控制臺(tái)剔应,登陸后進(jìn)入圖形GUI模式
運(yùn)行級(jí)別6:系統(tǒng)正常關(guān)閉并重啟睡腿,默認(rèn)運(yùn)行級(jí)別不能設(shè)為6,否則不能正常啟動(dòng)************

系統(tǒng)初始化

在init配置文件中峻贮,rc.sysinit是一個(gè)bash shell的腳本席怪,它主要是完成一些系統(tǒng)初始化的工作,rc.sysinit是每一個(gè)運(yùn)行級(jí)別都要首先運(yùn)行的重要腳本纤控。

它主要完成的工作有:激活交換分區(qū)挂捻,檢查磁盤,加載硬件模塊以及其它一些需要優(yōu)先執(zhí)行任務(wù)船万。

CentOS 6開機(jī)啟動(dòng)流程

分為五個(gè)階段:1)內(nèi)核的引導(dǎo)刻撒、2)運(yùn)行init、3)系統(tǒng)初始化耿导、4)建立終端声怔、5)用戶登錄系統(tǒng)

1.當(dāng)計(jì)算機(jī)打開電源后,首先是BIOS開機(jī)自檢碎节,按照BIOS中設(shè)置的啟動(dòng)設(shè)備(通常是硬盤)來啟動(dòng)捧搞。

操作系統(tǒng)接管硬件以后抵卫,首先讀入 /boot 目錄下的內(nèi)核文件狮荔。

2.運(yùn)行init

init 進(jìn)程是系統(tǒng)所有進(jìn)程的起點(diǎn)胎撇,沒有這個(gè)進(jìn)程,系統(tǒng)中任何進(jìn)程都不會(huì)啟動(dòng)殖氏。

init 程序首先是需要讀取配置文件 /etc/inittab晚树。

3.系統(tǒng)初始化

啟動(dòng)相應(yīng)的程序,比如設(shè)置主機(jī)名配備網(wǎng)絡(luò)雅采,裝載服務(wù)爵憎,加載/etc/init.d文件初始化操作系統(tǒng)。

4.建立終端

系統(tǒng)內(nèi)有六個(gè)終端婚瓜,只考慮遠(yuǎn)程終端即可

5.用戶登錄系統(tǒng)

加載完/etc/init.d配置文件初始化完系統(tǒng)就開始用戶登錄了宝鼓,接著就可以連接Xshell了。

總結(jié): 打開電源bash自檢---->加載內(nèi)核--->啟動(dòng)父進(jìn)程巴刻,啟動(dòng)時(shí)加載進(jìn)程級(jí)別愚铡,如果加載字符界面--->讀取/etc/init.d完成初始化工作--->加載用戶登錄程序--->用戶登錄


CentOS 7開機(jī)啟動(dòng)流程

1)按下電源、2)開機(jī)自檢(BIOS)胡陪、3)MBR引導(dǎo) 沥寥、4) GRUB、5)加載內(nèi)核

開啟電源

DIOS開機(jī)自檢

啟動(dòng)MBR引導(dǎo) 0頭0通道1扇區(qū)前446

GRUB選擇系統(tǒng)windos或linux

加載對(duì)應(yīng)系統(tǒng)內(nèi)核進(jìn)行啟動(dòng)柠座。(啟動(dòng)第一個(gè)父進(jìn)程sysremd)

讀取運(yùn)行級(jí)別(/etc/systemd/system/default.target)

初始化字符下的/usr/lib/systemd/system/sysinit.target

初始化系統(tǒng)邑雅、啟動(dòng)服務(wù),最后加載/usr/lib/systemd/system/getty.target建立登錄界面妈经,用戶通過連接登錄系統(tǒng)


Centos6 和 centos7區(qū)別

Linux 關(guān)機(jī)

關(guān)機(jī)的命令有 shutdown –h now halt poweroff 和 init 0 ,
重啟系統(tǒng)的命令有 shutdown –r now reboot init 6淮野。

linxu systemd

什么是systemd?

systemd即為system daemon守護(hù)進(jìn)程狂塘,systemd主要解決上文的問題而誕生录煤,systemd的目標(biāo)是,為系統(tǒng)的啟動(dòng)和管理提供一套完整的解決方案荞胡。


systemd的優(yōu)勢(shì)

1妈踊、最新系統(tǒng)都采用systemd管理(RedHat7,CentOS7,Ubuntu15等)
2、Centos7支持開機(jī)并行啟動(dòng)服務(wù)泪漂,顯著提高開機(jī)啟動(dòng)效率廊营。
3、Centos7關(guān)機(jī)只關(guān)閉正在運(yùn)行的服務(wù)萝勤,而Centos6全部都關(guān)閉一次露筒。
4、Centos7服務(wù)的啟動(dòng)與停止不在使用腳本進(jìn)行管理敌卓,也就是/etc/init.d下不在有腳本慎式。
5、Centos7使用systemd解決原有模式缺陷,比如原有service不會(huì)關(guān)閉程序產(chǎn)生的子進(jìn)程瘪吏。


systemd相關(guān)配置文件系統(tǒng)啟動(dòng)服務(wù)

/usr/lib/systemd/system/ 啟動(dòng)腳本
/etc/systemd/system/ 類似6系統(tǒng)的/etc/rc.d/rcN.d
etc/systemd/system/multi-user.target.wants


查看當(dāng)前的運(yùn)行級(jí)別

systemctl get-default
multi-user.target
修改下次的啟動(dòng)運(yùn)行級(jí)別
systemctl set-default multi-user.target


systemd的常用命令

systemctl start nginx #開啟ngiix
systemctl stop nginx #關(guān)閉nginx
systemctl restart nginx #立即重啟nginx
systemctl reload nginx #平滑重啟nginx癣防,不立即重啟,等這個(gè)服務(wù)結(jié)束后執(zhí)行
systemctl staus nginx #查看服務(wù)運(yùn)行狀態(tài)
systemctl staus nginx -l 查看這個(gè)配置文件的錯(cuò)誤

systemctl enable nginx 開機(jī)自啟(下一次開機(jī)啟動(dòng)掌眠,與當(dāng)前狀態(tài)無(wú)關(guān))

[root@ZhaoJianHao-1 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.


systemctl disable nginx關(guān)閉開機(jī)自啟蕾盯,下一次開機(jī)不啟動(dòng),與當(dāng)前狀態(tài)無(wú)關(guān)

[root@ZhaoJianHao-1 ~]# systemctl disable nginx
Removed symlink /etc/systemd/system/multi-user.target.wants/nginx.service.



單用戶模式

首先能正常引導(dǎo)進(jìn)入系統(tǒng)
1)配置文件錯(cuò)誤導(dǎo)致無(wú)法啟動(dòng)
2)忘記root密碼(解決方法:快照或單用戶模式修改)

1.選擇第一個(gè)系統(tǒng)蓝丙,按e鍵進(jìn)編輯模式级遭,修改配置


2.在linux x16行 UTF-8后輸入enforing=0 init=/bin/bash 輸入完成ctrl+x進(jìn)入單用戶模式



進(jìn)入單用戶模式,詳細(xì)操作步驟:
1).默認(rèn)是只讀渺尘,重新掛載到/下挫鸽,指定讀和寫權(quán)限。
2).passwd root #修改root密碼
3). touch /.autorelabel 關(guān)閉SELINUX
4).輸入exec /sbin/init init重新引導(dǎo)系統(tǒng)


單用戶模式還可以解決--->配置文件錯(cuò)誤導(dǎo)致無(wú)法進(jìn)入系統(tǒng)vim /etc/selinux/config


救援模式

功能:系統(tǒng)無(wú)法正常進(jìn)入系統(tǒng) 鸥跟、沒有內(nèi)核掠兄、grub被修改、系統(tǒng)崩潰
沒有內(nèi)核文件锌雀,(系統(tǒng)無(wú)法加載蚂夕,無(wú)法進(jìn)入單用戶模式)只能使用救援模式
系統(tǒng)崩潰 : 要保留重要數(shù)據(jù)時(shí)
grup菜單出現(xiàn)問題,(裝錯(cuò)系統(tǒng)無(wú)法引導(dǎo)菜單)

當(dāng)系統(tǒng)壞了腋逆,無(wú)法登陸系統(tǒng)婿牍,但需要把里面的數(shù)據(jù)復(fù)制出來

步驟一、先掛載光盤惩歉,然后選擇光盤引導(dǎo)為第一位

步驟二等脂、進(jìn)入故障排除模式-->選擇第二項(xiàng)救援模式




選項(xiàng)一:安裝基本圖形模式
選項(xiàng)二:修復(fù)系統(tǒng)
選項(xiàng)三:內(nèi)存測(cè)試
選項(xiàng)四:啟動(dòng)本地驅(qū)動(dòng)

步驟三、掛載真實(shí)系統(tǒng)后撑蚌,發(fā)現(xiàn)數(shù)據(jù)都還存在



場(chǎng)景二上遥、修復(fù)MBR,主要出現(xiàn)在安裝雙系統(tǒng)時(shí)争涌,后安裝的系統(tǒng)把原來系統(tǒng)的MBR刪除了粉楚,需要修復(fù)。
步驟一亮垫、破壞硬盤的前446字節(jié)模软,模擬MBR引號(hào)損壞,會(huì)發(fā)現(xiàn)重啟無(wú)法啟動(dòng)系統(tǒng)


步驟二饮潦、重啟系統(tǒng)燃异,然后按照之前的操作進(jìn)入救援模式,然后分配一個(gè)shell終端继蜡,掛載真實(shí)的操作系統(tǒng)進(jìn)行修復(fù)



步驟二回俐、修復(fù)MBR引導(dǎo)逛腿,然后重啟連接服務(wù)器



場(chǎng)景三、Centos7誤刪除grub文件如何進(jìn)行修復(fù)仅颇。
步驟一鳄逾、模擬誤刪故障


image.png


步驟二、重啟系統(tǒng)灵莲,然后按照之前的操作進(jìn)入救援模式,然后分配一個(gè)shell終端殴俱,掛載真實(shí)的操作系統(tǒng)進(jìn)行修復(fù)



步驟三政冻、使用grub2-install、grub2-mkconfig恢復(fù)配置文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末线欲,一起剝皮案震驚了整個(gè)濱河市明场,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌李丰,老刑警劉巖苦锨,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異趴泌,居然都是意外死亡舟舒,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門嗜憔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秃励,“玉大人,你說我怎么就攤上這事吉捶《嵯剩” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵呐舔,是天一觀的道長(zhǎng)币励。 經(jīng)常有香客問我,道長(zhǎng)珊拼,這世上最難降的妖魔是什么食呻? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮澎现,結(jié)果婚禮上搁进,老公的妹妹穿的比我還像新娘。我一直安慰自己昔头,他們只是感情好饼问,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著揭斧,像睡著了一般莱革。 火紅的嫁衣襯著肌膚如雪峻堰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天盅视,我揣著相機(jī)與錄音捐名,去河邊找鬼。 笑死闹击,一個(gè)胖子當(dāng)著我的面吹牛镶蹋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赏半,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼贺归,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了断箫?” 一聲冷哼從身側(cè)響起拂酣,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仲义,沒想到半個(gè)月后婶熬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡埃撵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年赵颅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片暂刘。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡性含,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鸳惯,到底是詐尸還是另有隱情商蕴,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布芝发,位于F島的核電站绪商,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏辅鲸。R本人自食惡果不足惜格郁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望独悴。 院中可真熱鬧例书,春花似錦、人聲如沸刻炒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坟奥。三九已至树瞭,卻和暖如春拇厢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背晒喷。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工孝偎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人凉敲。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓衣盾,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親爷抓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子势决,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容