centos6.9啟動之grub

本文主要介紹系統啟動中grub部分

grub介紹:

grub是引導操作系統的程序,它會根據自己的配置文件,去引導內核,當內核被加載到內存以后,內核會根據grub配置文件中的配置,找到根分區所使用的問件系統對應的驅動,通過根分區文件系統?對應的驅動,掛載根分區,從而達到啟動操作系統的目的。

centos5/6中使用grub作為bootloader,也就是說,操作系統想要啟動,就要靠它,早期的linux中,使用LILO(linux?loader)進行操作系統的引導工作,但是因為LILO的功能比較簡單,隨著發展,出現了grub,? GRUB:Grand Unified Bootloader

centos5\6中使用的是grub的0.97版本:grub legacy

centos7中使用的是grub2

此處,我們討論的grub就是grub?legacy

 

grub legacy的3個階段:

Grub stage 1(MBR前 446 個字節)要進入grub 2 階段(/boot/grub/目錄下),要先獲取boot分區文件系統驅動模塊,于是有了1.5階段(MBR 后面的 27 個扇區),存放boot分區所需要的文件系統驅動模塊

Grub stage 1(MBR前 446 字節)作用:找到grub stage 1.5階段并將其加載到內存中

↓↓

Grub stage 1.5(MBR 后面的27扇區,存放boot分區所需要的文件系統驅動模塊)

↓↓

Grub stage 2(/boot/grub/目錄下文件)

?

grub安裝:

  • (1) grub-install?(推薦用法,修復grub全階段)

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

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

  • (2) grub?(限制較多,依賴于/boot/grub/下文件,文件破壞則不能使用)

grub> root (hd#,#)?(hd#,#是指/boot/所在磁盤分區)

grub> setup (hd#)? ?? (安裝在哪個磁盤)

?

配置文件:

  • /boot/grub/grub.conf <– /etc/grub.conf
  • stage2及內核等通常放置于一個基本磁盤分區

功用:

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

a:編輯內核參數

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

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

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

允許傳遞參數給內核

可隱藏啟動菜單

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

為編輯啟動菜單進行認證

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

 

  • 識別硬盤設備

(hd#,#)

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

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

例如:(hd0,0) 第一塊硬盤,第一個分區

 

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

grub> kernel (hd0,0)/vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE

grub> initrd (hd0,0)/initramfs-VERSION-RELEASE.img

grub> boot

 

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

如下圖:

博客

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

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

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

(默認無)password [–md5] STRING: 啟動菜單編輯認證

⑤hiddenmenu:隱藏菜單

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

⑦root (hd#,#):查找stage2及kernel文件所在設備分區;為grub的根?。?!

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

⑨initrd /PATH/TO/INITRAMFS_FILE: 內核匹配的ramfs文件

(默認無)password [–md5|–encrypted ] STRING: 啟動選定的內核或操作系統時進行認證

?

選項注解:自制啟動菜單背景:先下載ImageMagick工具;

取640×480尺寸的圖片如win.jpg ;

將圖片格式轉為xpm的:convert -resize 640×480 -colors 14 win.jpg win.xpm ;

打包gzip win.xpm ;

然后將圖片移到/boot/grub/目錄下;

修改grub.conf文件選項文件路徑即可。

選項注解:加密口令字符串STRING是用?grub-md5-crypt?交互式命令(md5加密方式)或?grub-crypt?交互式命令(sha512加密方式)生成

 

破解root口令:

啟動系統時,設置其運行級別1(即單用戶模式)

進入單用戶模式:

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

(2) 在選定的kernel后附加 : 1, s, Ssingle都可以

(3) 啟動:在kernel所在行,鍵入“b”命令

 

實驗:

一、/dev/sda前面的446字符清零,(grub1階段)

  1. 開機自動進入光盤引導模式,有備份直接拷貝過來;
  2. 無備份,先切根,再grub-install /dev/sda 即可修復,sync同步磁盤(多來幾遍),防止數據沒有同步。

二、(grub2階段)

  1. /boot/grub/下的除了grub.conf文件和圖片壓縮文件,別的都刪掉,系統不受影響照常啟動,再用grub交互式修復文件,失?。▓笳也坏轿募?,
  2. /boot/grub/下的除了grub.conf文件和圖片壓縮文件,別的文件如果通過grub交互式命令修復過一次,再刪掉,系統重啟就會報錯卡住無法正常重啟,修復方法同“實驗一”

三、/dev/sda ?512字符后面的字符破壞(grub1.5階段)

開機進度條界面完了之后卡在黑屏界面,修復方法同“實驗一”

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98394

(4)
bican813bican813
上一篇 2018-05-13 16:39
下一篇 2018-05-13 17:48

相關推薦

  • nginx

    nginx(web server,web reverse proxy) http事務:request <—-> response request: <method> <URL> <version> <HEADERS> … <body> response: <…

    2018-06-29
  • Httpd基礎

    Httpd基礎

    2018-05-04
  • 第一周作業-Linux Basic

    ? Linux 入門基礎 計算機組成及功能 一般而言,計算機的組成應該分為兩部分: 一部分指的是硬件部分。根據馮諾伊曼提出的計算機體系架構,一臺計算機主要分為五個部分:控制器、運算器、存儲器、輸入設備、輸出設備 運算器: 包含算數邏輯單元(ALU)、累加器、狀態寄存器、通用寄存器組等,主要作用如下 算數邏輯單元(ALU):進行二位元的算術運算,如加減乘(不包…

    Linux筆記 2018-06-24
  • Linux基礎命令

    對基礎命令分類整理。

    2018-04-02
  • linux 學習7

    linux

    Linux筆記 2018-08-04
  • linux系統的安裝

    centos系統安裝

    2018-07-22
欧美性久久久久