Cnetos6啓動流程
post加電自檢>MBR引導>GRUB>加載內核
1.加載BIOS的硬件信息,獲取第一個啓動設備
2.讀取第一個啓動設備MBR的引導加載程序(grub)的啓動信息
3.加載核心操作系統的核心信息,核心開始解壓縮,並嘗試驅動所有的硬件設備
4.核心執行init程序,並獲取默認的運行信息
5.init程序執行/etc/rc.d/rc.sysinit文件
6.啓動核心的外掛模塊
7.init執行運行的各個批處理文件(scripts)
8.init執行/etc/rc.d/rc.local
9.執行/bin/login程序,等待用戶登錄
10.登錄之後開始以Shell控制主機
(post加電自檢,grub,加載內核,讀取加載操作系統的根,運行系統的第一個進程,讀取初始化腳本對應的運行模式0 1 2 3 4 5 6,最後運行rc.local),進入啓動界面等待登錄
1.開機加電自檢post
2.選擇啓動設備引導系統(可以在bios進行調整);默認用硬盤引導的話,會去尋找硬盤中的mbr,mbr處於硬盤中的第一個扇區,mbr扇區分爲三個部分,最前面有440個字節(bootloader),中間有64個字節,最後有55a的兩個字節標記位
3.bootloader加載完後加載操作系統內核,內核加載到內存後會嘗試掛載整個系統的根。掛載根的時候要識別文件系統對應的驅動,對應的驅動程序在initramfs文件下。加載完驅動就可以進入到根目錄
4.進入根目錄之後默認去尋找系統中的第一個系統進程(init),到此內核完整工作
5.系統開始運行sbin下的init進程.
centos6 的情況下
chkconfig atd on 開機自動啓動atd服務
服務的啓動流程
yum install atd;service atd start;chkconfig atd on;修改配置文件
服務腳本放在/etc/init.d/
chkconfig: 345 95 5(在345模式自動開啓‘-所有模式不啓動’;s開頭95;k開頭5)
chkconfig --list 服務腳本清單
chkconfig --add testsrv 把服務testsrv添加到清單中
chkconfig --level 3 tetsp on 在3模式下開機自啓動
grub的三個階段
stage1:mbr(前521字節的前440個字節)
stage1_5: mbr之後的扇區(512字節後),讓stage1中的bootloader能識別stage2所在的分區上的文件系統stage2:磁盤分區(/boot/grub
centos 7
- BIOS 上電自檢(POST)
- 引導裝載程序 (GRUB2)
- 內核初始化
- 啓動 systemd,其是所有進程之父。