GRUB
在BIOS讀取先關信息之后,接下來就是去第一個可以啟動的設備當中的MBR中讀取Boot loader信息,bootloader具有菜單功能、直接加載內核信息,以及相關控制權限轉交功能。所以說系統的啟動必須有bootloader,然后才能去加載內核 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)提供菜單、并提供交互式接口 e:編輯模式,用于實現編輯菜單 c:命令模式,交互式接口 (2)加載用戶選擇的內核或操作系統 允許傳遞參數給內核 可隱藏此菜單 (3)為菜單提供了保護機制 為編輯菜單進行認證 為啟動內核或操作系統進行認證 grub最重要的一部當屬識別磁盤信息,grub對硬盤的識別是通過以下方式: (hd0,0) 1.硬盤代號以小括號()括起來 2.硬盤以hd表示,后面會接一組數字,數字之間以逗號隔開 3.是以搜尋到的順序來作為磁盤的編號,而非根據磁盤的排揎編號 4.第一個搜索到的磁盤編號為0,第二個為1,以此類推 5.每塊磁盤上的第一個分區編號為0,第二個分區為1,以此類推 因此(hd0,0),就表示第一塊磁盤上的第一個分區
配置文件格式
全局配置配置項: default=#:設定默認啟動的菜單項,0表示定義的第一個title系統,1表示第二個title系統,以此類推 timeout=#:表示可供選擇的等待時間,如果超過5秒,則使用默認的啟動條目default定義的 splashimage=(hd0,0)/grub/splash.xpm.gz 定義啟動時的背景圖片 hiddenmenu:隱藏菜單,默認不顯示菜單
定義各個操作系統配置
title:定義各個操作系統的名稱 root (hd#,#):表示內核文件存放的位置,這里指定的是分區位置,而非根目錄 kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:內核的名稱以及一些啟動時的核心參數。由于啟動過程中需要掛載根目錄,因此就需要指定根目錄所在的分區 rhgb:圖形顯示 quiet:靜默模式加載內核 selinux:開啟或關閉selinux single:單用戶模式 ... initrd /PATH/TO/INITRAMFS_FILE:ramfs文件路徑
GRUB命令行
help:獲取幫助列表 help KEYWORD:詳細幫助信息 find(hd#,#)/PATH/TO/SOMEFILE:查找文件 root (hd#,#):指定根分區 kernel /PATH/TO/KERNEL_FILE:設定本次啟動時用到的內核文件;額外還可以添加許多內核支持使用的cmdline參數 例如:init=/path/to/init, selinux=0 initrd /PATH/TO/INITRAMFS_FILE: 設定為選定的內核提供額外文件的ramdisk boot:引導啟動選定的內核
手動在grub命令行接口啟動系統:
grub> root (hd0,0) grub> kernel /vmlinuz-VERSION-release ro root=/dev/DEVICE grub> initrd /initramfs-VERSION-release.img grub> boot
進入單用戶模式
(1)編輯grub菜單(選定要編輯的title,而后使用e命令)
(2)在選定的kernel后附加:1,s,S或single都可以
(3)在kernel所在行鍵入"b"命令即可進入單用戶模式
加密機制
GRUB也有自己的保護機制,只有通過認證才能修改grub.conf信息。可以通過以下方式來對grub.conf進行保護: 1.在第一個title之上添加password --md5 ************ 主要用于保護編輯功能 2.在某個title內添加password --md5 *********** 主要用戶保護內核 生成密碼的命令:grub-md5-crypt
編輯功能認證
1.提示按p鍵輸入密碼才可編輯菜單
2.輸入密碼即可編輯菜單
內核啟動認證
1.當我們選擇要啟動內核時,提示輸入密碼
2.輸入密碼,即可正常啟動系統
修復GRUB
如果grub出現了問題導致我們系統無法系統,可進入救援模式進行修復 修復工具: 方法一:grub-install /dev/DISK grub-install --root-directory=ROOT /dev/DISK 方法二:grub grub> root (hd0,0) grub> setup (hd0) 如果grub出現了問題,此時我們系統沒有重啟,則可直接使用修復工具修復
原創文章,作者:zhai796898,如若轉載,請注明出處:http://www.www58058.com/46674