Linux学习笔记006-启动流程
linux 啟動流程
centos6
1.post 加電質檢-->2.啟動bios-->3.加載MBR-->4GRUB引導-->5.加載kernel-->6.設定啟動級別-->7.加載rc.sysinit-->8.加載內核模塊-->9.啟動運行級別程序-->10.讀取rc.local-->11.加載/bin/login
1.bios自檢
2.讀取bios記錄的MBR扇區
3.加載MBR
4.加載GRUB引導
5.加載內核,初始化硬件
6.設定啟動級別啟動第一個守護進程init(init1-5)grub中默認指定init=/sbin/init程序,可以在grub.conf中kernel行自定義執行程序init=/bin/bash,此時可以繞過下面步驟直接進入bash界面。?內核源代碼文件中顯示996行左右,規定了init啟動的順序,/sbin/init->/etc/init->/bin/init->/bin/sh,/bin/bash沒有寫,應該是和/bin/sh一樣吧
7.加載rc.sysinit(/etc/rc.d/rc.sysinit),設定PATH變量,設定網絡配置,設定swap,設定/proc,配置selinux
8.加載內核模塊(加載/etc/modules.conf和/etc/modules.d目錄下的文件來加載系統內核模塊,后期課修改)
9.啟動運行級別目錄內的程序(竄性的方式)。
10.讀取開機自啟動需要啟動的命令或者服務。
11.加載用戶登錄界面
centos7
1.UEFI或bios自檢,post質檢
2.加載MBR
3.GRUP加載
4.加載內核和inintamfs模塊
5.內核開始執行,使用systemd來代替以前centos6以前的init程序
(1)執行initrd.target
包括掛載/etc/fstab文件中的系統,此時掛載后,就可以切換到根目錄了
(2)從initramfs根文件系統切換到磁盤根目錄
(3)systemd執行默認target配置
?
centos7表面是有“運行級別”這個概念,實際上是為了兼容以前的系統,每個所謂的“運行級別”都有對應的軟連接指向,默認的啟動級別時/etc/systemd/system/default.target,根據它的指向可以找到系統要進入哪個模式?
模式:
?
- 0 ==> runlevel0.target, poweroff.target
- 1 ==> runlevel1.target, rescue.target
- 2 ==> runlevel2.target, multi-user.target
- 3 ==> runlevel3.target, multi-user.target
- 4 ==> runlevel4.target, multi-user.target
- 5 ==> runlevel5.target, graphical.target
- 6 ==> runlevel6.target, reboot.target
?
(4)systemd執行sysinit.target
有沒有很眼熟?是的,在CentOS6上是被叫做rc.sysint程序,初始化系統及basic.target準備操作系統
(5)systemd啟動multi-user.target下的本機與服務器服務
(6)systemd執行multi-user.target下的/etc/rc.d/rc.local
6.Systemd執行multi-user.target下的getty.target及登錄服務
getty.target我們也眼熟,它是啟動終端的systemd對象。如果到此步驟,系統沒有被指定啟動圖形桌面,到此就可以結束了,如果要啟動圖形界面,需要在此基礎上啟動桌面程序
7.systemd執行graphical需要的服務
轉載于:https://www.cnblogs.com/juanNote/p/9286585.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Linux学习笔记006-启动流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吃饭/训觉-工作室应用隐私政策
- 下一篇: Python的看门狗实现自动化实时对服务