grub應用 (Blog 10)

grub1.x 、grub2.x詳解

grub (GRand Unifined Bootloader)
統一引導加載器

bootloader的類型
Windows: ntloader
Linux: LILO, GRUB
LILO設計之初,硬盤很小;沒有考慮到1024柱面之后,磁盤不能識別;
GRUB:用一個精巧的設計,將GRUB程序放在bootloader中,實現諸多功能的配置在一個單獨的分區之上;
grub 0.x: grub leagcy (CentOS 5,6)
grub 1.x: grub2 (CentOS 7)

MBR位于0磁道的0扇區
446Bytes:bootloader:提供一個可供用戶選擇的菜單,將指定的操作系統或不同版本的內核加載至內存中,內核自解壓展開,移交控制權給內核;
64Bytes: 存放分區表
2Bytes: 有效標識符:55AA表示有效;

grub是取代早期bootloader,僅在446字節(446個字符)中要實現的功能很薄弱;

GRUB工作流程
stage1: bootloader
stage1_5: MBR后的扇區,提供普通分區的驅動;并將此分區作為grub的根,grub訪問其下的所有文件從/起始;
stage2:找到grub所在的普通分區,根據其配置提供眾多功能;

Mage2Mage3

GRUB功能
提供菜單:編輯操作及輸出一個命令行接口
隱藏菜單
保護機制:加載內核、編輯菜單

GRUB命令行接口
grub> root 指明grub的根分區在哪個磁盤的哪個分區;提供內核、inird及grub配置文件;
grub> kernel /vmlinuz-VERSION-release grub的根提供的內核;即本次要加載的內核;后可接參數;
grub> initrd /initrd-VERSION-release grub的提供的initrd;即提供給內核的驅動,用于加載根文件系統;
grub> boot 引導;

kernel cmdline可以接的參數:
ro root=/paht/to/device 只讀掛載路徑對應的根設備;注意:此處為initrd驅動的根文件系統;
init=/sbin/init 內核關聯根文件系統后,第一個啟動的程序
selinux=0 表示本次啟動不啟動selinux
quiet 不輸出信息

GRUB配置文件
/boot/grub/grub.conf <– /etc/grub.conf
或 /boot/grub2/grub.conf <– /etc/grub2.conf

GRUB配置文件格式
default=0 默認引導第1個菜單
timeout=5 等待用戶選擇的時長;
splashimage=(hd#,#)/PATH/TO/PIC_FILE.xpm.gz 菜單背景圖片;
hiddenmenu 隱藏菜單
password –md5 STRING: 菜單編輯認證;
title STRING 標題,有空格無須對其加引號;
root (hd#,#) grub1_5驅動的文件系統所在分區;#號從0開始編號;
kernel /PATH/TO/VMLINUZ_FILE: grub識別的根下的內核文件;
initrd /PATH/TO/INITRAMDISK_FILE:grub識別的根下的initramfs文件;設定提供根文件系統驅動的路徑;
password –md5 STRING: 啟用內核或操作系統認證;

GRUB相關故障排除

沒有stage1
BIOS不會將其設定為啟動設備;
(1) 安裝bootloader

stage1損壞:
開機黑屏
(1) 光盤救援模式:
(2) 借助于有bootloader的設備,引導系統

沒有stage2或stage2文件損壞:
用grub命令行,指定grub的根分區、分區下的內核及inird文件,即可啟動;并在啟動系統后修復即可;

重裝GRUB
~]# grub-install –root-directory=/PAHT/TO/BOOT /dev/DEVICE
–root-directory= boot目錄所在目錄;即為要安裝grub的目錄;
/dev/DEVICE 給哪個設備安裝Bootloader,不是分區;

修復GRUB
~]# grub
grub> root (hd#,#) grub目錄安裝所在的磁盤及分區;
grub> setup (hd#) grub目錄安裝所在的磁盤;

 

光盤啟動引導補充

Mage4

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

(0)
逆神陽逆神陽
上一篇 2017-11-27 23:19
下一篇 2017-11-28 10:04

相關推薦

  • mysql5.5.32多實例配置

    操作系統:CentOS release 6.7 (Final) 內核版本:2.6.32-573.el6.x86_64 mysql版本號:mysql-5.5.32 1)安裝mysql所需的依賴包 # adduser mysql -s /sbin/nologin -M # mkdir -p&n…

    Linux干貨 2016-12-05
  • 正則表達式

    Regual Expression 由一類特殊字符及文本字符所編寫的模式,其中有些字符不表示字面意義,而是用于控制或通配的功能 分類 REGEXP:由一類特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能 程序支持:grep, vim, less,nginx等 分兩類: 基本正則表達式:BRE 擴展正則表達式:E…

    Linux干貨 2016-08-07
  • 磁盤管理

    磁盤管理 本文將按順序以實例演示磁盤管理的所有操作,讓我們開始吧! 一,磁盤的添加 ① 先來查看linux系統總共有幾個磁盤,由圖可知是兩個,分別是sda,sdb。我們再加一個,按照磁盤命名順序,應是sdc,他們都在/dev目錄下。 補充: 1,磁盤命名規則: 不同磁盤,按照a-z依次標識,如sda,sdb,sdc 同一磁盤的不同分區,按照1,2,&#823…

    2017-08-19
  • for、while、until循環

    一、for循環         ? for 變量名 in 列表;do             循環體     &nbsp…

    Linux干貨 2016-09-19
  • 第一周作業

    1、描述計算機的組成及其功能。
    2、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。
    3、描述Linux的哲學思想,并按照自己的理解對其進行解釋性描述。
    4、說明Linux系統上命令的使用格式;詳細介紹ifconfig、echou、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相應的示例來闡述。
    5、如何在Linux系統上獲取命令的幫助信息,請詳細列出,并描述man文檔的章節是如何劃分的。
    6、請羅列Linux發行版的基礎目錄名稱命名法則及共用規定。

    Linux干貨 2017-12-03
  • M25 Linux 學習,FHS標準

    FHS FHS(英文:Filesystem Hierarchy Standard 中文:文件系統層次結構標準),多數Linux版本采用這種文件組織形式,FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄同時還給出了例外處理與矛盾處理。 FHS定義了兩層規范,第一層是, / 下面的各個目錄應該要放什么文件數據,例如/etc應該要放置設置文件,/bi…

    2017-07-15

評論列表(1條)

  • miracler
    miracler 2017-11-30 20:14

    原來這里還有道友!

欧美性久久久久