日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux开机启动详细流程图

發(fā)布時(shí)間:2025/3/15 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux开机启动详细流程图 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

linux開機(jī)啟動(dòng)詳細(xì)流程圖:

一、BIOS 加電自檢
當(dāng)你按電源開關(guān)開機(jī)時(shí),電腦會(huì)首先去啟動(dòng)BIOS(基本輸入輸出系統(tǒng)),BIOS一般是集成在主板上的.
BIOS 的工作
1.檢測(cè)連接硬件,比如顯卡,內(nèi)存,磁盤等等,檢測(cè)的目的是以后把這些設(shè)備信息提供給操作系統(tǒng)
2.尋找啟動(dòng)磁盤,每一種BIOS都會(huì)有開機(jī)啟動(dòng)菜單,可以在菜單里設(shè)置以哪個(gè)設(shè)備啟動(dòng)系統(tǒng)
比如:光驅(qū),硬盤,網(wǎng)絡(luò)等等,這個(gè)菜單可以設(shè)置多個(gè)選項(xiàng),依照設(shè)置次序在設(shè)備上尋找啟動(dòng)信息
3.找到了啟動(dòng)硬盤,接著BIOS就會(huì)在磁盤上找啟動(dòng)扇區(qū),找到內(nèi)核啟動(dòng)系統(tǒng).
1)先試著尋找第一個(gè)扇區(qū),也就是主引導(dǎo)記錄MBR(Master Boot Record)
2)如果第一個(gè)扇區(qū)上沒(méi)有沒(méi)有存在操作系統(tǒng),再去尋找標(biāo)記為BOOT的分區(qū).
不論是MBR還是BOOT分區(qū),存儲(chǔ)操作系統(tǒng)的空間都只有446字節(jié);
如果沒(méi)有在上面提到的位置找到操作系統(tǒng)的內(nèi)核,那么BIOS就無(wú)法繼續(xù)啟動(dòng)工作.
而我們的內(nèi)核往往會(huì)大于446個(gè)字節(jié),存放在磁盤的其他位置上,既然446裝不下內(nèi)核,又為了能順利的找到放在其他位置上的內(nèi)核,
人們想出了一個(gè)辦法就在446字節(jié)里寫了一個(gè)小程序,當(dāng)BIOS試著啟動(dòng)操作系統(tǒng)時(shí)就會(huì)執(zhí)行這個(gè)小程序,然后再由小程序來(lái)載入其他位置的內(nèi)核.這個(gè)小程序就是啟動(dòng)載入器(boot loader)
二、BOOT Loader
linux的boot loader(上文提到的小程序) 常見(jiàn)的有兩種:lilo grub
因?yàn)閘ilo存在著一個(gè)1024柱面的限制,并且更改了磁盤上的啟動(dòng)信息文件后需要重新啟動(dòng)系統(tǒng)才能同步446字節(jié)的內(nèi)容,因?yàn)閘ilo的缺陷,已經(jīng)被grub所取代.現(xiàn)在的絕大多數(shù)類linux系統(tǒng)都采用grub做boot loader;
grub則沒(méi)有了lilo各種限制,而且方便到能修改系統(tǒng)文件的啟動(dòng)內(nèi)容就可以立刻與446內(nèi)容同步.
那么我們就看看grub的內(nèi)容 它存在于 /boot/grub中
GRUB有幾個(gè)重要的文件,STAGE1、STAGE1.5、STAGE2
STAGE1:它只有512字節(jié),通常放在MBR中,它的作用很簡(jiǎn)單,就是在系統(tǒng)啟動(dòng)時(shí)用于裝載STAGE2并將控制權(quán)交給它。
STAGE2:GRUB的核心,所有的功能都是由它實(shí)現(xiàn)。
STAGE1.5:介于STAGE1和STAGE2之間,是它們的橋梁,因?yàn)镾TAGE2較大,通常都是放在一個(gè)文件系統(tǒng)當(dāng)中的,但是STAGE1并不能識(shí)別文件系統(tǒng)格式,
所以才需要STAGE1.5來(lái)引導(dǎo)位于某個(gè)文件系統(tǒng)當(dāng)中的STAGE2。根據(jù)文件系統(tǒng)格式的不同,STAGE1.5也需要相應(yīng)的文件,如:e2fs_stage1_5,fat_stage1_5,分別用于識(shí)別ext和fat的文件系統(tǒng)格式。它存放于1-63的柱面之間.
引導(dǎo)順序如下:STAGE1->;STAGE1.5->;STAGE2,
主要的配置文件時(shí) grub.conf
里面選項(xiàng)含義:
title:一個(gè)操作系統(tǒng)引動(dòng)的標(biāo)頭,可以使多個(gè)
root :指明所需文件存在于哪個(gè)磁盤哪個(gè)分區(qū)上 (hd0,0)表示第一個(gè)硬盤,第一個(gè)分區(qū),可參考/boot/grub/device.map
kernel:內(nèi)核文件的名字,并且會(huì)有一些加載內(nèi)核時(shí)的參數(shù) or代表以只讀方式加載
initrd:包含一些附加的驅(qū)動(dòng)程序

三、內(nèi)核啟動(dòng)
內(nèi)核啟動(dòng)后會(huì)向bios查詢電腦的所有硬件信息,然后自己接手下來(lái)管理這些設(shè)備,以便提供給linux使用
內(nèi)核會(huì)試著驅(qū)動(dòng)這些設(shè)備,這些設(shè)備的驅(qū)動(dòng)一部分包含在內(nèi)核中,叫做靜態(tài)驅(qū)動(dòng),一部分以模塊的方式(動(dòng)態(tài))存放文件系統(tǒng)中,由
于此時(shí)還未掛載任何文件系統(tǒng),因此還不能使用文件系統(tǒng)中的模塊,這里只能驅(qū)動(dòng)在內(nèi)核中存在的硬件驅(qū)動(dòng)程序的對(duì)應(yīng)設(shè)備.想驅(qū)動(dòng)內(nèi)核中未包含的硬件驅(qū)動(dòng)就需要加載文件系統(tǒng).
內(nèi)核會(huì)嘗試掛載根文件系統(tǒng),根文件系統(tǒng)至少包含 /etc /bin /sbin /lib /dev 這5大目錄
他們5個(gè)缺一不可.都會(huì)導(dǎo)致系統(tǒng)無(wú)法啟動(dòng)
根文件系統(tǒng)掛載是以只讀方式掛載的,因?yàn)檫@時(shí)linux還在啟動(dòng)階段,并不穩(wěn)定,避免破壞系統(tǒng)資料
四、啟動(dòng)INIT服務(wù)
順利的掛載了根文件系統(tǒng)后,就會(huì)啟動(dòng)init服務(wù)
內(nèi)核會(huì)按 /sbin/init /etc/init /bin/init 順序?qū)ふ襥nit程序,
如果找不到則內(nèi)核報(bào)錯(cuò) 這里存在一個(gè)參數(shù) init=/bin/sh 如果啟動(dòng)時(shí)指定了則最后執(zhí)行/bin/sh
而不會(huì)產(chǎn)生內(nèi)核報(bào)錯(cuò).也被稱為快速啟動(dòng),因?yàn)樗雎粤撕芏鄦?dòng)初始化工作.
啟動(dòng)init的目的就是為了初始化系統(tǒng)環(huán)境,啟動(dòng)了init就證明了內(nèi)核已經(jīng)順利啟動(dòng),接下來(lái)就由init服務(wù)來(lái)建立linux使用環(huán)境
init做了什么?它會(huì)讀取 /etc/inittab 文件,根據(jù)這個(gè)文件的信息來(lái)進(jìn)行初始化工作.
會(huì)執(zhí)行三個(gè)腳本 /etc/rc.d/rc.sysinit /etc/rc.d/rc /etc/rc.d/rc.local
rc.sysinit 主要的功能用來(lái)建立系統(tǒng)的基本環(huán)境
啟動(dòng)udev selinux子系統(tǒng)
udev負(fù)責(zé)產(chǎn)生 /dev中的文件,selinux負(fù)責(zé)增強(qiáng)系統(tǒng)的安全性
設(shè)定核心參數(shù) sysctl -p 加載 /etc/sysctl.conf
設(shè)定系統(tǒng)時(shí)間 將硬件時(shí)間設(shè)定為系統(tǒng)時(shí)間
加載鍵盤和交換分區(qū) swapon -a -e
設(shè)置主機(jī)名,掛載文件系統(tǒng),并將根重新掛載為可讀寫的.
加載動(dòng)態(tài)驅(qū)動(dòng)模塊
USB設(shè)備與RAID & LVM
卸載 /initrd/ 目錄

rc 腳本設(shè)置啟動(dòng)級(jí)別 linux中有許多不同的啟動(dòng)級(jí)別,不同的啟動(dòng)級(jí)別會(huì)制定不同的服務(wù)
根據(jù)指定rc的參數(shù)會(huì)對(duì)應(yīng)執(zhí)行 /etc/rc.d/rc[0-6].d/ 中的連接腳本文件 以S開頭的則啟動(dòng)
rc.local 前兩個(gè)腳本都是系統(tǒng)至關(guān)重要的腳本,如果我們想在啟動(dòng)過(guò)程中放置一些其他程序
應(yīng)該使用rc.local腳本中 因?yàn)镾99local存在于rc[2-5].d中
三個(gè)RC腳本執(zhí)行完畢后,就會(huì)建立虛擬主控制臺(tái) 執(zhí)行 /bin/login 就提供了用戶登陸界面了
如果是圖形 L5級(jí)別的話,會(huì)啟動(dòng)X window登錄界面
所有的啟動(dòng)就都已經(jīng)完畢
用戶環(huán)境初始化
輸入用戶名和密碼系統(tǒng)驗(yàn)證,然后會(huì)執(zhí)行
/etc/profile
/etc/profile.d/*.sh $HOME/.bash_profile
/etc/bashrc
$HOME/.bashrc

啟動(dòng)級(jí)別
0 關(guān)機(jī)
1 單用戶
2 多用戶模式但帶網(wǎng)絡(luò)但不能遠(yuǎn)程登錄
3 不受限多用戶模式 TUI
4 保留
5 圖形模式
6 重新啟動(dòng)
查看啟動(dòng)級(jí)別
# runlevel
N 3
N是上次的級(jí)別,3是當(dāng)前級(jí)別 也就是說(shuō)機(jī)器開機(jī)就是3級(jí)別
切換級(jí)別
init 5

掛載文件系統(tǒng)
/etc/fstab
第一項(xiàng) 是要mount的存儲(chǔ)裝置的實(shí)體位置或者用卷標(biāo)
第二項(xiàng) 要掛到哪個(gè)目錄位置
第三項(xiàng) 指定要掛載的系統(tǒng)格式
第四項(xiàng) mount時(shí)要設(shè)定的狀態(tài),只讀或defauls
第五項(xiàng) 提供DUMP功能,在系統(tǒng)DUMP時(shí)需要BACKUP的標(biāo)志位,其內(nèi)定位置是 0
第六項(xiàng) 設(shè)定開機(jī)時(shí)文件系統(tǒng)是否要check
除了root的文件系統(tǒng)其必要的check為1 其他視需要而定 默認(rèn)是0
LABEL=/boot /boot ext3 defaults 1 2

?

轉(zhuǎn)載于:https://www.cnblogs.com/tcicy/p/8462040.html

總結(jié)

以上是生活随笔為你收集整理的linux开机启动详细流程图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。