您好,登錄后才能下訂單哦!
這篇文章主要講解了“Linux開機啟動的流程是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Linux開機啟動的流程是什么”吧!
Linux開機分為以下6個步驟,分別是BIOS, MBR, GRUB, Kernel, Init, RunLevel, RunDefinition。
按下電源開關那一刻,開始加載BIOS,并且執行MBR(Master Boot Record)
BIOS表示基本輸入輸入系統(Basic Input/Output System),完成一些系統的完整性檢查、搜索、 加載并且執行引導程序(boot loader), 它在軟盤,CD-ROM或者硬盤上尋找引導程序。你可以在 系統啟動時按下鍵盤(通常是F12或者F2,但是因系統而異)來修改啟動順序
一旦引導程序被檢測到并且加載到內存,BIOS會將控制權移交給它
MBR表示主引導記錄(Master Boot Record)
用于加載并執行GRUB
GRUB是多重引導管理器(GRand Unified Bootloader)
執行 /etc/grub.conf, 加載內核鏡像
vim /etc/grub.conf default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title CentOS 6 (2.6.32-504.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/vg_ddz-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_ddz/lv_root crashkernel=128M.UTF-8 rd_LVM_LV=vg_ddz/lv_swap KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-504.el6.x86_64.img
執行內核首個進程 /sbin/init, 進程號為1, 是接下來所有其它進程的父進程
initrd表示Initial RAM Disk
initrd被內核用作臨時的根目錄,直到內核啟動完成并且真正的根目錄掛載成功。 它也包括一些編譯好的必要的驅動程序,這些程序有助于它訪問硬盤和其他硬件
執行 /etc/inittab, 來確定啟動級別
vim /etc/intttab# Default runlevel. The runlevels used are:# 0 - halt (Do NOT set initdefault to this)# 1 - Single user mode# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)# 3 - Full multiuser mode (終端模式)# 4 - unused# 5 - X11(圖形用戶界面)# 6 - reboot (Do NOT set initdefault to this)#id:5:initdefault:
執行 /etc/rc.d/rc.sysinit, 來啟動系統進程,比如說NetWork
執行啟動級別相對應的一系列系統服務
對應啟動級別的目錄如下
ll /etc/rc.d/
drwxr-xr-x. 2 root root 4096 11月 29 09:49 rc0.d drwxr-xr-x. 2 root root 4096 11月 29 09:49 rc1.d drwxr-xr-x. 2 root root 4096 3月 10 17:18 rc2.d drwxr-xr-x. 2 root root 4096 3月 10 17:18 rc3.d drwxr-xr-x. 2 root root 4096 3月 10 17:18 rc4.d drwxr-xr-x. 2 root root 4096 3月 10 17:18 rc5.d drwxr-xr-x. 2 root root 4096 11月 29 09:49 rc6.d
最后執行 /etc/rc.d/rc.local, 來運行自定義的服務
vim /etc/rc.d/rc.local
1 #!/bin/sh2 #3 # This script will be executed *after* all the other init scripts.4 # You can put your own initialization stuff in here if you don't5 # want to do the full Sys V style init stuff.6 7 touch /var/lock/subsys/local8 if test -f /sys/kernel/mm/transparent_hugepage/enabled; then9 echo never > /sys/kernel/mm/transparent_hugepage/enabled 10 fi11 if test -f /sys/kernel/mm/transparent_hugepage/defrag; then12 echo never > /sys/kernel/mm/transparent_hugepage/defrag 13 fi14 15 /bin/bash /usr/local/apps/kylin/bin/kylin.sh start
其中第15行為自定義啟動腳本
進入登錄界面
感謝各位的閱讀,以上就是“Linux開機啟動的流程是什么”的內容了,經過本文的學習后,相信大家對Linux開機啟動的流程是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。