Linux-Centos啓動流程

一:簡述

Linux-Ceentos6系統開機啓動流程簡述以下,後續小節會對重要節點作詳細描述

1:加電自檢 ---> 2:MBR引導系統啓動,至關於GRUB的第一階段 ----> 3: GRUB1.5階段 加載boot文件系統驅動--> 4 :grub 2階段 ,讀取/boot/grub/grub.conf文件 ---> 5: 加載系統內核/boot/vmlinuz內核文件至內存--> 6: 加載/boot/initramfs虛擬文件系統,加載合適的驅動程序,以只讀方式掛載根文件系統 ----> 7:加載根下的第一個進程/sbin/init --> 8:加載系統第一個配置文件/etc/inittab,肯定系統的啓動模式 -->9 加載系統的第一個腳本 /etc/rc.d/rc.sysinit,系統初始化腳本: --> 10 根據系統的啓動模式 ,依據 /etc/rc.d/rc#.d下的文件 依次開啓服務linux

二:各階段簡述

1 POST:power-on-slef-test

加電自檢:檢測外部硬件是否正常工做,如cpu.內存,顯卡,硬盤,鍵盤,光驅。

 此功能主要由主板上內置一塊rom芯片來完成,簡稱bios。在開機啓動時,能夠進入bison內進行相應的設置,如選擇計算機由哪塊設備進行引導,硬盤、光盤、u盤。

2 :MBR引導系統啓動

MBR一共512字節,存放在硬盤的0扇區0柱面1磁道上。它的主要功能爲引導系統啓動,至關於grub的第一階段,在/boot/grub/stage1內存放的二進制代碼與MBR一致。 MBR能夠肯定此分區是否爲主活動分區,由第一字節所決定,00爲非活動分區80爲活動分區。MBR的後續字節能夠檢測硬盤分區表是否無缺

    MBR內存放了三段信息:

    bootloder:前446字節,引導加載器,引導系統啓動的一段程序。不一樣的系統,引導程序不同。windows:不支持linux啓動。linux:容許用戶選擇要啓動的內核版本,支持windows啓動

    64字節:分區表信息

   2字節:標識位

3 :grub階段

grub1.5:加載boot文件系統的驅動文件

clipboard.png

grub2.0:此階段的做用是提供選擇菜單(若是有多個內核系統),引導啓動下一步的kernel內核啓動和加載initramfs文件(做用是提供真正根分區的文件系統驅動程序,以便能加載根分區),其配置文件爲/etc/grub.conf

4 kernel

kernel內核階段會把內核文件進行解壓,初始化系統中各設備並作相關的配置工做,其中包括CPU、I/O、存儲設備等。關於Linux的設備驅動程序的加載,有一部分驅動程序直接被編譯進內核鏡像中,另外一部分驅動程序則是以模塊的形式放在initrd(ramdisk)中,加載根文件系統ios

5:啓動系統的第一個進程

第一個進程:/sbin/initc#

讀取系統第一個配置文件/etc/inittab。肯定系統默認在什麼模式下啓動系統windows

clipboard.png

6:啓動系統的第一個腳本

系統初始化腳本:/etc/rc.d/rc.sysinit,此腳本主要完成的內容以下spa

(1)設置主機名code

(2)掛載/etc/fstab文件中定義的文件系統blog

(3)檢測根文件系統,並以讀寫方式從新掛載根文件系統進程

在/boot/initramfs時是以只讀方式掛載根文件系統圖片

(4)設置歡迎信息ip

(5)激活udev和selinux

(6)設置系統時鐘

(7)激活swap設備

(8)根據/etc/sysctl.conf文件設置內核參數

(9)激活lvm及software raid設備

(10)加載額外設備的驅動程序

(11)清理操做

7:根據系統啓動的模式讀取用戶的服務文件

/etc/rc.d/rc#.d/*

讀取此目錄下的文件來 關閉或開啓相關服務

clipboard.png

![圖片.png](http://upload-images.jianshu....

相關文章
相關標籤/搜索