centos6啟動流程圖:
#1、POST加電自我檢測
2、MBR開機載入
當第一步自檢硬體沒問題時候,這裡以BIOS為例,BIOS將會直接去找硬碟的第一個磁區,找到前446位元組,將MBR載入到記憶體中,MBR會告訴程式下一階段去哪裡找系統grub引導。 這個階段屬於grub的第一階段。前面的BIOS透過讀取並執行啟動裝置的MBR中的bootloader,而bootloader要實現的功能就是提供一個選單給用戶,讓用戶去選擇要啟動的系統或不同的核心版本,因為一塊硬碟上可能不只一個作業系統.然後把使用者選擇的核心版本載入到RAM中的特定空間,接著在RAM中解壓縮、展開,而後把系統控制權移交給核心。 (推薦教學:centos教學)
## #在Bootloader開始讀取作業系統核心檔案時,接下來會將核心檔案解壓縮後裝在到記憶體當中,然後根據核心提供的功能開始載入各個裝置。這裡的各個操作都是由核心來完成的,而我們的核心檔案通常都存放在/boot目錄當中,並且是一個vmlinux開頭的檔案。如下圖所示:###[root@centos6 ~]# cd /boot [root@centos6 boot]# pwd /boot [root@centos6 boot]# ls config-2.6.32-696.el6.x86_64 lost+found efi symvers-2.6.32-696.el6.x86_64.gz grub System.map-2.6.32-696.el6.x86_64 initramfs-2.6.32-696.el6.x86_64.img vmlinuz-2.6.32-696.el6.x86_64 initrd-2.6.32-696.el6.x86_64kdump.img###但是,此時核心程式還沒有載入到磁碟,如何讀取核心檔案呢?如果要先載入磁碟,就要有磁碟驅動程序,而驅動程式又在硬碟上,這樣就陷入了一個無限循環。所以我們要採用一種叫做虛擬檔案系統的東西來解決這個問題。同樣的,這個檔案系統也放在了/boot下,是一個initrd開頭的文件,如上圖所示。 ######Boot Loader可以載入kernel和initrd,然後把initrd解壓成根目錄,然後核心就可以在這個虛擬的根檔案系統上載入驅動程序,之後釋放根檔案系統,最後開始正常的啟動過程。 #########4、啟動init#########對CentOS6來說,init設定檔為:/etc/inittab, /etc/init/*.conf,也就是upstart將設定檔拆分成多個,在/etc/init/目錄下以conf結尾的都是upstart風格的設定文件,而/etc/inittab僅用於設定預設運行等級。運行等級是為了系統運作或維護等目的而設定,分為0-6,共七個等級:###
0:关机(shutdown); 1:单用户模式(single user):不需要通过认证,登录进去之后为root用户身份; 2:多用户模式(multi user):会启动网络功能,但不会启动NFS; 3:多用户模式(multi user):为完全功能模式,提供文本界面; 4:预留级别,目前无特别使用目的; 5:多用户模式(multi user):为完全功能模式,提供图形化界面; 6:重启(reboot),reboot;####通常我們使用預設等級3或5,不同等級的頁面是可以切換的,切換方式為:init[0-6],使用runlevel指令來查看目前執行的等級。 #########5、用戶登入#########相關影片教學推薦:###linux影片教學#######
以上是centos6啟動流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!