溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

啟動CentOS系統(tǒng)的流程是什么

發(fā)布時間:2021-09-24 15:02:25 來源:億速云 閱讀:148 作者:iii 欄目:系統(tǒng)運維

本篇內(nèi)容主要講解“啟動CentOS系統(tǒng)的流程是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“啟動CentOS系統(tǒng)的流程是什么”吧!

當我們按下開機鍵后,系統(tǒng)背后的秘密我們是否了解呢?這里,我?guī)Т蠹姨剿饕幌耹inux系統(tǒng)開機背后的秘密。

啟動CentOS系統(tǒng)的流程是什么

1.加電自檢

主板在接通電源后,系統(tǒng)首先由POST程序來對內(nèi)部各個設(shè)備進行檢查,自檢中如發(fā)現(xiàn)有錯誤,將按兩種情況處理:對于嚴重故障(致命性故障)則停機,此時由于各種初始化操作還沒完成,不能給出任何提示或信號;對于非嚴重故障則給出提示或聲音報警信號,等待用戶處理。

2.BIOS啟動引導階段

自檢通過之后,按次序查找各引導設(shè)備,第一個有引導程序的設(shè)備即為本次啟動要用到的設(shè)備。一般電腦是按"F2"或"Del"鍵等等進入BIOS,在里面我們可以調(diào)整硬盤的啟動順序。

找到第一個有引導程序的設(shè)備后,BIOS會找到設(shè)備中的MBR,讀取其中的Bootloader

3.GRUP引導階段

這時候就可以看到我們的Centos系統(tǒng)了,但是一般都不需要操作,會自動啟動系統(tǒng)。其實我們也可以自己手動啟動系統(tǒng)的

3.1 手動在grub命令行接口啟動系統(tǒng):

grub> root (hd#,#)

grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE

grub> initrd /initramfs-VERSION-RELEASE.img

grub> boot

3.2 grub的命令行接口:

e: 編輯模式,用于編輯菜單;

c: 命令模式,交互式接口;

help: 獲取幫助列表

help KEYWORD: 詳細幫助信息

find (hd#,#)/PATH/TO/SOMEFILE:

root (hd#,#) 設(shè)定grup的根設(shè)備

kernel /PATH/TO/KERNEL_FILE: 設(shè)定本次啟動時用到的內(nèi)核文件;額外還可以添加許多內(nèi)核支持使用的cmdline參數(shù);

例如:init=/path/to/init, selinux=0

initrd /PATH/TO/INITRAMFS_FILE: 設(shè)定為選定的內(nèi)核提供額外文件的ramdisk;

boot: 引導啟動選定的內(nèi)核;

3.3 配置文件:/boot/grub/grub.conf

配置項:

default=#: 設(shè)定默認啟動的菜單項;落單項(title)編號從0開始;

timeout=#:指定菜單項等待選項選擇的時長;

splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜單背景圖片文件路徑;

hiddenmenu:隱藏菜單;

password [--md5] STRING: 菜單編輯認證;

title TITLE:定義菜單項“標題”, 可出現(xiàn)多次;用來引導多個內(nèi)核或者操作系統(tǒng)

root (hd#,#):grub查找stage2及kernel文件所在設(shè)備分區(qū);為grub的“根”;

kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:啟動的內(nèi)核

initrd /PATH/TO/INITRAMFS_FILE: 內(nèi)核匹配的ramfs文件;

password [--md5] STRING: 啟動選定的內(nèi)核或操作系統(tǒng)時進行認證

4.加載內(nèi)核階段

內(nèi)核會自身初始化:

探測可識別到的所有硬件設(shè)備;

加載硬件驅(qū)動程序;(有可能會借助于ramdisk加載驅(qū)動)

以只讀方式掛載根文件系統(tǒng);

運行用戶空間的第一個應(yīng)用程序:/sbin/init

5.init初始化階段

內(nèi)核加載完畢,會運行init程序,init進程起來后,系統(tǒng)啟動的控制權(quán)移交給init進程

/sbin/init進程是所有進程的父進程,當init起來之后,它首先會讀取配置文件/etc/inittab,進行以下工作:

1.執(zhí)行系統(tǒng)初始化腳本(/etc/rc.d/rc.sysinit),對系統(tǒng)進行基本的配置,以讀寫方式掛載根文件系統(tǒng)及其它文件系統(tǒng),到此系統(tǒng)基本算運行起來了,后面需要進行運行級別的確定及相應(yīng)服務(wù)的啟動;

2.確定啟動后進入的運行級別;

3.執(zhí)行/etc/rc.d/rc,該文件定義了服務(wù)啟動的順序是先K后S,而具體的每個運行級別的服務(wù)狀態(tài)是放在/etc/rc.d/rcn.d(n=0~6)目錄下,所有的文件均鏈接至/etc/init.d下的相應(yīng)文件。

4.有關(guān)key sequence的設(shè)置

5.有關(guān)UPS的腳本定義

6.啟動虛擬終端/sbin/mingetty

7.在運行級別5上運行X

配置文件:/etc/inittab

每行定義一種action以及與之對應(yīng)的process

id:runlevels:action:process

id:一個任務(wù)的標識符;

runlevels:在哪些級別啟動此任務(wù);#,###,可以為空,表示所有級別;

action:在什么條件下啟動此任務(wù);

process:任務(wù);(腳本或程序)

action:

wait:等待切換至此任務(wù)所在的級別時執(zhí)行一次;

respawn:一旦此任務(wù)終止,就自動重新啟動之;

initdefault:設(shè)定默認運行級別;此時,process省略;

sysinit:設(shè)定系統(tǒng)初始化方式,此處一般為指定/etc/rc.d/rc.sysinit腳本;

K*:要停止的服務(wù);K##*,優(yōu)先級,數(shù)字越小,越是優(yōu)先關(guān)閉;依賴的服務(wù)先關(guān)閉,而后關(guān)閉被依賴的;

S*:要啟動的服務(wù);S##*,優(yōu)先級,數(shù)字越小,越是優(yōu)先啟動;被依賴的服務(wù)先啟動,而依賴的服務(wù)后啟動;

chkconfig命令:管控/etc/init.d/每個服務(wù)腳本在各級別下的啟動或關(guān)閉狀態(tài);

查看:chkconfig --list [name]

添加:chkconfig --add name

刪除:chkconfig --del name

修改指定的鏈接類型:

chkconfig [--level LEVELS] name <on|off|reset>

--level LEVELS:指定要控制的級別;默認為2345;

init命令:

級別切換:init #

級別查看:who -r

注:

正常級別下,最后啟動的一個服務(wù)S99local沒有鏈接至/etc/init.d下的某腳本,而是鏈接至了/etc/rc.d/rc.local (/etc/rc.local)腳本;因此,不便或不需寫為服務(wù)腳本的程序期望能開機自動運行時,直接放置于此腳本文件中即可。

到此,相信大家對“啟動CentOS系統(tǒng)的流程是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI