Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux操作系統的啟動流程詳解

Linux操作系統的啟動流程詳解

日期:2017/2/7 9:23:11      編輯:Linux教程

第一階段:BIOS啟動引導階段

  在該過程中實現硬件的初始化以及查找啟動介質

  從MBR中裝載啟動引導管理器(GRUB)並運行該啟動引導管理

  第二階段:GRUB啟動引導階段

  裝載stage1

  裝載stage1.5

  裝載stage2

  讀取/boot/grub.conf文件並顯示啟動菜單

  裝載所選的kernel和initrd文件到內存中

  第三階段:內核階段

  運行內核啟動參數

  解壓initrd文件並掛載initd文件系統,裝載必須的驅動

  掛載根文件系統

  第四階段:Sys V init初始化階段

  啟動/sbin/init程序

  運行rc.sysinit腳本,設置系統環境,啟動swap分區,檢查和掛載文件系統

  讀取/etc/inittab文件,運行在/et/rc.d/rc<#>.d中定義的不同運行級別的服務初始

  化腳本

  打開字符終端1-6號控制台/打開圖形顯示管理的7號控制台

  啟動流程和細節詳解

  BIOS ==> bootloader ==> kernel & initrd.img ==> /sbin/init

  1.bootloader (grub)

  /boot/grub/grub.conf <-- grub的配置文件,決定使用哪個kernel和initrd.img

  在/boot/grub目錄中有兩個stage文件,其中:

  stage1 <--- 大小是512字節,這個文件會被寫進MBR中

  stage2 <--- stage1被引導之後,會調用這個文件

  如果grub出現問題可能會有兩種情況:

  a.無法進入grub,屏幕左上角只出現一個光標。出現這種情況基本上MBR已經被破壞,需要進入rescue模式進行修復。

  --> chroot環境,執行 "grub-install /boot所在分區" 進行修復

  --> 無grub相關命令時,安裝grub.rpm包進行恢復

  --> /boot目錄下無相關的vmlinuz和initrd.img文件時,安裝kernel.rpm包進行修復

  --> 無grub.conf時需要手工修復

  b.grub成功加載,屏幕出現“grub>”,表示配置文件grub.conf找不到。

  --> 手工修復

  2.kernel & initrd.img

  在加載vmlinuz和initrd時出現:kernel panic情況,基本是grub.conf設置參數出問題。

  --> 檢查grub.conf編寫是否出現問題

  --> 也有可能是分區設置或者硬盤損壞等問題,需要進入rescue模式檢查

  3./sbin/init

  /sbin/init的配置文件是/etc/inittab

  按照這個配置文件,系統會依次執行以下腳本:

  ---> /etc/rc.d/rc.sysinit

  定義hostname,重新掛載各分區,加載各模塊

  ---> /etc/rc.d/rc[0-6].d/目錄下以S開頭的腳本

  啟動各runlevel的服務

  ---> mingetty /dev/tty[1-6]

  啟用終端

Copyright © Windows教程網 All Rights Reserved