CentOS啟動流程排錯

  • grub legacy

CentOS 6啟動流程:

POST –> Boot Sequence(BIOS) –> Boot Loader –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init — >(/etc/inittab, /etc/init/*.conf) –> 設定默認運行級別 –> 系統 初始化腳本rc.sysinit –> 關閉或啟動對應級別的服務 –> 啟動終端

  • grub: GRand Unified Bootloader

grub 0.x: grub legacy

grub 1.x: grub2

grub legacy:

stage1: mbr

stage1_5: mbr之后的扇區,讓stage1中的bootloader 能識別stage2所在的分區上的文件系統 stage2:磁盤分區(/boot/grub/)

  • 配置文件:/boot/grub/grub.conf <– /etc/grub.conf

  • stage2及內核等通常放置于一個基本磁盤分區

  • 功用:

  • (1) 提供啟動菜單、并提供交互式接口

    • a:內核參數

    • e: 編輯模式,用于編輯菜單

    • c: 命令模式,交互式接口

  • (2) 加載用戶選擇的內核或操作系統

    • 允許傳遞參數給內核

    • 可隱藏啟動菜單

  • (3) 為菜單提供了保護機制

    • 為編輯啟動菜單進行認證

    • 為啟用內核或操作系統進行認證

  • grub的命令行接口

    • help: 獲取幫助列表

    • help KEYWORD: 詳細幫助信息

    • find (hd#,#)/PATH/TO/SOMEFILE:

    • root (hd#,#)

    • kernel /PATH/TO/KERNEL_FILE: 設定本次啟動時用 到的內核文件;額外還可添加許多內核支持使用的cmdline參數 例如:max_loop=100 selinux=0 init=/path/to/init

    • initrd /PATH/TO/INITRAMFS_FILE: 設定為選定的 內核提供額外文件的ramdisk;

    • boot: 引導啟動選定的內核  

  • 識別硬盤設備: (hd#,#)

    • hd#: 磁盤編號,用數字表示;從0開始編號

    • #: 分區編號,用數字表示; 從0開始編號

    • (hd0,0) 第一塊硬盤,第一個分區

  • 手動在grub命令行接口啟動系統:

    • grub> kernel (hd#,#)/vmlinuz-VERSION-RELEASE root=/dev/DEVICE

    • grub> initrd (hd#,#)/initramfs-VERSION-RELEASE.img

    • grub boot

  • grub legacy配置文件

    • 配置文件:/boot/grub/grub.conf

    • default=#: 設定默認啟動的菜單項;落單項(title)編號從0開始

    • timeout=#:指定菜單項等待選項選擇的時長

    • splashimage=(hd#,#)/PATH/TO/XPM_FILE:菜單背景圖片文件路徑

    • hiddenmenu:隱藏菜單

    • password [–md5] STRING: 啟動菜單編輯認證

    • title TITLE:定義菜單項“標題”, 可出現多次

    • root (hd#,#):grub查找stage2及kernel文件所在設備分區;為grub“根”

    • kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:啟動的內核

    • initrd /PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs文件 password [–md5]

    • STRING: 啟動選定的內核或操作系統時進行認證

  • grub加密

  • grub-md5-crypt命令

  • 破解root口令: 啟動系統時,設置其運行級別1

  • 進入單用戶模式:

    • (1) 編輯grub菜單(選定要編輯的title,而后使用e命令);

    • (2) 在選定的kernel后附加 1, s, S或single都可以;

    • (3) 在kernel所在行,鍵入“b”命令  

  • 安裝grub:

  • (1) grub-install 安裝grub stage1和stage1_5到/dev/DISK磁盤上,并 復制GRUB相關文件到 DIR/boot目錄下

    • grub-install –root-directory=DIR /dev/DISK

  • (2) grub

    • grub> root (hd#,#)

    • grub> setup (hd#)

系統啟動第1階段被破壞修復過程

  • 為了模擬系統啟動第一階段被破壞,首先破壞第一階段MBR

CentOS啟動流程排錯blob.png

  • 進入救援模式恢復系統

blob.png

  • 切換根目錄

    blob.png

  • 調用grub工具

blob.png

  • 修復完成后重啟

blob.png

系統啟動第1.5階段被破壞修復過程

  • 光盤引導進入救援模式

CentOS啟動流程排錯blob.png

  • 使用交互式命令grub恢復系統

blob.png

grub

root  (hd0,0)

setup (hd0)

修復結束

系統啟動第2階段被破壞修復過程

blob.png

  • 切換根目錄并修復

blob.png

  • 修復完成

blob.png

  • 重新寫一份啟動文件

blob.png

grub> initrd (hd0,0)/initramfs-2.6.32-642.e16.x86_64.img

grub> boot

修復完了在重復一遍,進入系統中寫一份啟動文件

blob.png

修復完成

總結:其實把這三個啟動流程完全消化,就可以應對大多數系統不能啟動的排錯了,系統不能啟動大多是建立在這三種情況之上的,如果把這三種情況掌握并加上自己懂得的linux系統相關知識,活學活用,基本就可以解決系統不能啟動的問題。

原創文章,作者:502795641,如若轉載,請注明出處:http://www.www58058.com/46196

(0)
502795641502795641
上一篇 2016-09-13
下一篇 2016-09-13

相關推薦

  • 第八周-Linux網絡配置,軟件安裝,bash編程

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別 網橋:一種網絡設備,負責網絡橋接(network bridging)之用。橋接器將網絡的多個網段在數據鏈路層(OSI模型第2層)連接起來(即橋接)。 集線器(Hub):是指將多條以太網雙絞線或光纖集合連接在同一段物理介質下的設備。集線器是運作在OSI模型中的物理層。 二層交換機:工…

    Linux干貨 2016-11-14
  • 馬哥教育網絡班21期-第二周課程練習

    第二周課程練習 1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示?     1.1 目錄管理類命令:cd,pwd,ls,mkdir,rmdir,tree          1.1.1 cd:主要功能是改變當前目錄,…

    Linux干貨 2016-07-04
  • 學習shell scripts

    1. 為什么要學習shell編程?          許多人會問,為什么要學習shell腳本編程?我學的是linux,又不是編程,其實對于個人用戶可能用處不是很大,但是當你在為公司的成千上完的服務器做維護時,可能沒有shell編程的話可能把人累死也無法完成任務,一千臺服務器要做相…

    Linux干貨 2016-08-18
  • HA cluster應用—CoroSync+Pacemaker

    HA cluster應用——CoroSync v2 (quorum system)+Pacemaker (standalone daemon)+ crmsh/pcsh corosync簡述: Corosync是OpenAIS發展到Wilson版本后衍生出來的開放性集群引擎工程。可以說Corosync是OpenAIS工程的一部分。OpenAIS從openais…

    2016-11-27
  • LinuxGrub修復方法

    Linux因Grub損壞的修復方法: 1)救援模式修復(備份了MBR) 2)救援模式修復(無備份MBR) 3)Grub下手動啟動Linux系統 1、救援模式修復(備份了MBR)     MBR中存放了Bootloader信息(Grub),在磁盤的最開始512字節,當這512字節出現故障,系統將無法引導啟動。 &nbsp…

    Linux干貨 2016-06-22
  • 7.11 centos 7安裝重點之磁盤分區+SecureCRT 8.0安裝步驟

    一:Centos安裝重點之磁盤分區   0.前言      0.1  常見的磁盤接口有兩種,IDE與SATA接口,目前主流的為SATA接口      0.2  關于主分區、擴展分區、邏輯分區的特性           ①…

    2017-07-11

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-14 13:14

    總結的很詳細,能看出來有具體操作過,實驗也順利的解決了,但是標題是不是要仔細斟酌一下呢。

欧美性久久久久