1. 程式人生 > >grub legacy的流程及配置

grub legacy的流程及配置

1、GRUB簡介

grub(GRand Unified Bootloader)分為兩代:
grub 0.x是grub legacy,grub的經典版本;
grub 1.x是grub2,grub的第二代。

2、grub legacy的流程

stage 1:啟動MBR中的bootloader;
stage 1.5:讀取MBR之後的扇區,讓stage1中的bootloader能識別stage 2所在的分割槽上的檔案系統,載入檔案系統的驅動;
stage 2:讀取/boot/grub/grub.conf檔案進行磁碟分割槽。

3、stage 2

stage 2及核心等通常放置於一個基本磁碟分割槽。
(1)stage 2的作用:
1)提供選單、並提供互動式介面;
e:編輯模式,用於編輯選單;
c:命令模式,互動式介面;
2)載入使用者選擇的核心或作業系統,允許傳遞引數給核心,也可隱藏此選單;
3)為選單提供了保護機制,為編輯選單進行認證,為啟用核心或作業系統進行認證。
(2)stage 2階段如何識別裝置:(hd#,#),(hd0,0)
hd#:磁碟編號,用數字表示,從0開始編號;
#:分割槽編號,用數字表示,從0開始編號。

4、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 (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot

5、配置檔案:/boot/grub/grub.conf

配置項:
default=#:設定預設啟動的選單項;選單項(title)編號從0開始;
timeout=#:指定選單項等待選項選擇的時長;
splashimage=(hd#,#)/PATH/TO/XPM_PIC_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-md5-crypt命令,生成要保護的密碼串;

6、進入單使用者模式

1)編輯grub選單(選定要編輯的title,而後使用e命令);
2)在選定的kernel後附加1, s, S或single都可以;
3)在kernel所在行,鍵入“b”命令;

7、安裝grub

1)grub-install
grub-install --root-directory=ROOT /dev/DISK
2)grub
grub> root (hd#,#)
grub> setup (hd#)