Centos6啟動流程詳解

一、名詞解釋

POST: Power-On-Self-Test,加電自檢,是BIOS功能的一個主要部分。負責完成對CPU、主板、內存、硬盤子系統、顯示子系統、串并行接口、鍵盤、CD-ROM光驅等硬件情況的檢測。

BIOS:Basic Input and
Output System
,保存著有關計算機系統最重要的基本輸入輸出程序,系統信息設置、開機加電自檢程序和系統啟動自舉程序等,為ROM(只讀)。

CMOS:互補金屬氧化物半導體,保存各項參數的設定,其儲存的信息RAM(可讀寫),按次序查找引導設備,是第一個有引導程序的設備為本次啟動設備

MBR:主引導記錄(Main
Boot Record
)是位于磁盤最前邊的一段引導(Loader)代碼。446: bootloader,64: 分區表, 2: 55AA; bootloader:
引導加載器,引導程序

二、啟動流程

 第一階段:

 POST加電自檢,加載BIOS的硬件信息,獲取第一個啟動設備MBR,讀取第一個啟動設備MBR的引導bootloader加載程序(grub)的啟動信息。

下圖為MBR引導信息:

       Centos6啟動流程詳解

       第1.5階段:

在后續扇區的首部存放有其它引導信息
這些信息能夠幫助識別到
boot分區。

       第二階段:

 發生在boot分區上,通過程序引導找到內核文件/boot/grub。

       第三階段:

 加載啟動內核,boot分區的/grub/grub.conf中找到引導根/的驅動,即initramfs-2.6.32-642.el6.x86_64.img(虛擬內存盤[主要用來模擬文件系統],ramdisk),進而加載內核,從而把根/所在分區進行掛載,初次是以只讀方式掛載根,然后內核自動啟動根下/sbin/init進程,內核最終啟動之后再以讀寫方式掛載根。

       第四階段:

 啟動核心的外掛模塊,init執行運行的各個批處理文件(scripts)init執行/etc/rc.d/rc.local。

內核啟動init進程后會首先運行/etc/rc.d/rc.sysinit腳本讀取fstab[含有掛載關系]文件,然后再讀取/etc/inittab[運行級別]文件,執行/bin/login程序,等待用戶登錄,用戶登錄之后開始以Shell控制主機。

     Centos6啟動流程詳解

三、Centos6 啟動流程圖

   Centos6啟動流程詳解

四、誤刪恢復

1、打開/boot/目錄,保持vmlinuz-2.6.32-642.el6.x86_64(出廠時存在,與硬件相關)文件不動,刪除initramfs-2.6.32-642.el6.x86_64.img(安裝系統時候制作生成)文件,則不能掛載根/,內核不能完全啟動,導致機器打不開。

解決方法:

進入救援模式

切到根:chroot
/mnt/sysimage/

          cd /boot

使用命令生成:mkinitrd
/boot/initramfs-`uname
r[只是為文件命名]`.img  `uname -r`[告訴mkinitrd生成那個版本的內核

cat /boot/grub/grub.conf 檢查文件中的內核名稱是否與新生成的內核文件一致

最后,退出并重新啟動。 

2、如果把vmlinuz-2.6.32-642.el6.x86_64文件破壞了,則機器也打不開。

解決方法:

進入救援模式

方法一:重裝內核文件

方法二:掛載光盤,mkdir
/mnt/cdrom
;mount /dev/sr0 /mnt/cdrom

        cp
/mnt/cdrom/Packages/kernel-2.6.32-642.el6.x86_64.rpm /mnt/sysimage/root[
由于沒切換根,/mnt/sysimage/root為自己的根]

        cd /mnt/sysimage/root

        rpm2cpio
kernel-2.6.32-642.el6.x86_64.rpm |cpio
tv|less 用于查找要解壓的文件

        rpm2cpio kernel-2.6.32-642.el6.x86_64.rpm |cpio –id ./boot/
vmlinuz-2.6.32-642.el6.x86_64

        cp
vmlinuz-2.6.32-642.el6.x86_64 /mnt/sysimage/boot/

         退出,重啟

方法三:掛載光盤,mkdir
/mnt/cdrom
;mount /dev/sr0 /mnt/cdrom

         cd /mnt/cdrom

         cd isolinux   可以查看里面有個vmlinuz文件

         cp /mnt/cdrom/isolinux/vmlinuz
/mnt/sysimage/boot/ vmlinuz-2.6.32-642.el6.x86_64

         chroot /mnt/sysimage

         ls /boot ;cat
/boot/grub/grub.conf 
進行文件對比,確保生成文件沒問題。 

         退出,重啟

原創文章,作者:chenxu@magedu.com,如若轉載,請注明出處:http://www.www58058.com/72085

(0)
chenxu@magedu.comchenxu@magedu.com
上一篇 2017-03-28 17:27
下一篇 2017-03-28 21:37

相關推薦

  • VRRP協議

    VRRP協議 Virtual Router Redundancy Protocol 虛擬路由器冗余協議。 Vrrp協議在linux上的實現(軟件實現)是keepalived。 VRRP簡單的講,就是心跳信息。 主節點不斷的向備用節點廣播信息,信息包含自己的心跳和優先級。 不光如此,還可以在主節點上安裝一個監控,來監控其他資源,如果這些資源運行正常,就可以給其…

    2016-11-02
  • 第二周-作業

    第二周作業: 題1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 Linux上常見的文件管理類命令有mkdir、touch、cp、mv、rm、stat。     mkdir:創建新目錄         用法:mk…

    Linux干貨 2016-12-08
  • Linux終端類型介紹

    相關命令:tty 適合閱讀人群:所有   終端機 終端(Computer terminal),是一臺電子計算機或者計算機系統,用來讓用戶輸入數據,及顯示其計算結果的機器。又名終端機,它與一部獨立的電腦不同,其實就是一種輸入輸出設備,一臺電腦多人使用,每增加一個用戶只須增加一臺顯示器和一套鍵盤鼠標就可以成為一個獨立的終端,多用戶可同時使用互相獨立,跟…

    Linux干貨 2016-10-14
  • 文件管理類命令常用使用方法及其相關示例演示

    文件管理類命令常用使用方法及其相關示例演示 cat chattr chmod chown cp ln locate lsattr mv rm tee touch umask whereis which 文件管理類命令常用使用方法及其相關示例演示 cat 使用語法:cat [-AbeEnstTuv][–help][–version] FILENAME&nb…

    Linux干貨 2016-11-05
  • bash的基礎特性之一

    bash的基礎特性之一 命令歷史:shell進程會保存會話中此前用戶使用過的命令; history:命令的用法 history 【-c】【-d #】 【n】或者【文件名】     -c:清空命令歷史     -d 【#】:刪除指定的命令歷史…

    Linux干貨 2016-12-18
  • 磁盤管理(一)磁盤分區表類型與文件系統

    概述:本章介紹磁盤分區和文件系統,深度了解linux存儲數據所依賴到各個部分模塊。 設備文件 I/O Ports: I/O設備地址 一切皆文件: Linux為所有的設備文件都提供了統一的操作函數接口,方法是使用數據結構struct file_operations。這個數據結構中包括許多操作函數的指針,如open()、close()、read()和write(…

    Linux干貨 2016-09-01
欧美性久久久久