欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux系統(tǒng)開機(jī)從BIOS到登錄環(huán)境過(guò)程

 更新時(shí)間:2023年06月07日 16:21:27   作者:Sunny_Future  
這篇文章主要介紹了Linux系統(tǒng)開機(jī)從BIOS到登錄環(huán)境過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Linux系統(tǒng)開機(jī)從BIOS到登錄環(huán)境

  • 通電
  • bios初始化
  • grub2磁盤引導(dǎo)階段
  • grub2文件引導(dǎo)階段
  • 指定boot所在分區(qū)
  • 啟動(dòng)內(nèi)核,只讀掛載 / 設(shè)備
  • 啟動(dòng)init程序進(jìn)入初始化階段
  • 啟動(dòng)systemd初始化階段
  • 取/etc/systemd/中的文件
  • 啟動(dòng)程序
  • 啟動(dòng)登陸環(huán)境

可以總結(jié)為五個(gè)階段

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

檢測(cè)硬件設(shè)備,設(shè)備驅(qū)動(dòng)初始化,將 / 只讀掛載,載入初始進(jìn)程 systemd,內(nèi)核文件丟失請(qǐng)重新安裝內(nèi)核

  • 運(yùn)行 init
##查看當(dāng)前默認(rèn)啟動(dòng)級(jí)別
[root@test ~]# ls -l /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 36 Oct 14 ?2017 /etc/systemd/system/default.target -> /lib/systemd/system/graphical.target
##啟動(dòng)級(jí)別
runlevel0.target ?-> poweroff.target
runlevel1.target ?-> rescue.target
runlevel2.target ?-> multi-user.target
runlevel3.target ?-> multi-user.target
runlevel4.target ?-> multi-user.target
runlevel5.target ?-> graphical.target
runlevel6.target ?-> reboot.target
  • 系統(tǒng)初始化進(jìn)程
  • 建立終端
  • 用戶登錄系統(tǒng)

描述Linux系統(tǒng)從開機(jī)到登陸界面的啟動(dòng)過(guò)程

開機(jī)過(guò)程:

1、加載 BIOS

系統(tǒng)固件加載 BIOS(基本輸入輸出系統(tǒng)),然后進(jìn)行開機(jī)自檢(POST),并開始初始化部分硬件;

BIOS:basic input output system,它是一套程序,寫死到主 板上的一個(gè)內(nèi)存芯片中,這個(gè)內(nèi)存芯片在沒有通電的情況下也能將數(shù) 據(jù)記錄下來(lái)(ROM,非揮發(fā)性)。

2、讀取 MBR系統(tǒng)固件搜索磁盤上的主啟動(dòng)記錄(MBR)

由于我們的系統(tǒng)軟件大多放置在硬盤中,所以 BIOS 會(huì)指定啟動(dòng) 的設(shè)備,好讓我們可以讀取磁盤中的操作系統(tǒng)內(nèi)核文件,這時(shí)候就需要 一個(gè)引導(dǎo)裝載程序來(lái)處理內(nèi)核文件加載(LOAD)的問(wèn)題,這個(gè)引導(dǎo)裝 載程序就被稱為 BootLoader。

那這個(gè) BootLoader 放在哪里呢?

就放在我們系統(tǒng)上第一個(gè)硬盤上的第一個(gè)扇區(qū)里面。也就是我們 說(shuō)的 MBR:master boot record。

3、啟動(dòng)加載器(grub2)

系統(tǒng)固件從磁盤中讀取啟動(dòng)加載器(Boot Loader),然后將系統(tǒng)

控制權(quán)交給啟動(dòng)加載器。在 7 中,我們的 BootLoader 是通過(guò)一個(gè) grub 程序來(lái)實(shí)現(xiàn)的。

現(xiàn)在是 grub2.0,前一版本是 grub0.97。

grub2 的主要功能:

  • 1、提供菜單:選擇不同的啟動(dòng)選項(xiàng);
  • 2、加載內(nèi)核文件:直接指向可啟動(dòng)的程序區(qū)段來(lái)開始 OS;
  • 3、轉(zhuǎn)交其他 Loader(多系統(tǒng)時(shí))。
  • 4、顯示菜單

啟動(dòng)加載器從我們的磁盤中加載其配置,然后向用戶顯示用于啟 動(dòng)的可能配置的菜單,這就是我們?cè)陂_機(jī)的時(shí)候會(huì)看到的讓你上下選 擇什么什么版本啊,什么什么東西的那個(gè)界面。

我們可通過(guò)以下方式進(jìn)行配置:

  • /etc/grub.d/
  • /etc/default/grub
  • /boot/grub2/grub.cfg(非手動(dòng))

5、加載內(nèi)核

在用戶做出選擇(超時(shí))后,啟動(dòng)加載器會(huì)從磁盤中加載配置的

內(nèi)核及 initramfs,并將其置于內(nèi)存中;

initramfs 是一個(gè)歸檔文件,里面包含了啟動(dòng)時(shí)所需要的必要硬 件的內(nèi)核模塊、初始化腳本等等。

在 RHEL7 中,initramfs 得到了加 強(qiáng),包含自身可用的整個(gè)系統(tǒng)。

6、系統(tǒng)內(nèi)部傳遞信息

這時(shí)候我們的啟動(dòng)加載器又將系統(tǒng)控制權(quán)交給內(nèi)核,從而傳遞啟 動(dòng)加載器的內(nèi)核命令行中指定的任何選項(xiàng),以及 initramfs 在內(nèi)核中 的位置。

7、初始化內(nèi)核這時(shí)候會(huì)在 initramfs

中找到驅(qū)動(dòng)程序的所有硬件,并且初始化它,然后作為 PID1 從 initramfs 中執(zhí)行/sbin/init。

PID1 就是systemd,代表的是系統(tǒng)啟動(dòng)的第一個(gè)用戶級(jí) 進(jìn)程,是所有其他進(jìn)程的父進(jìn)程。

8、執(zhí)行單元初始化完成后

我們的 systemd 會(huì)執(zhí)行 initrd.target 目標(biāo) 的所有文件,這些所有的東西都包括在/sysroot 上掛載實(shí)際的 root 文件系統(tǒng)中。

9、系統(tǒng)回歸

接下來(lái)內(nèi)核 root 文件系統(tǒng)會(huì)回到之前掛載于/sysroot 上的系統(tǒng) root 文件系統(tǒng),然后就是我們 systemd 的事情了,它會(huì)使用系統(tǒng)中 安裝的 systemd 副本來(lái)自行重新執(zhí)行。

10、開機(jī)界面

我們們熟悉的輸入賬號(hào)密碼的界面了

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論