GRUB配置及應用
一、什麼是GRUB?
GRUB是GRand Unified Bootloader的縮寫,它是一個多重作業系統啟動管理器,安裝在MBR中。
二、GRUB運作流程
Stage1:啟動位于MBR中boot loader的主程式。
Stage1_5:讓boot loader能夠是識别位于MBR之後扇區Stage2所在分區上的檔案系統。
Stage2:加載所有配置檔與相關的環境參數檔案 (包括檔案系統定義與主要配置檔 menu.lst), 一般來說,配置檔都在 /boot/grub。
三、GRUB功能
1) 提供菜單,并提供互動式接口
e:編輯模式,用于編輯菜單
c:指令模式,互動式接口
2) 加載使用者選擇的核心或作業系統
允許傳遞參數給核心
可隐藏此菜單
3) 為菜單提供保護機制
為編輯菜單進行認證
為啟用核心或作業系統進行認證
四、GRUB如何識别裝置
(hd#,#):
hd#:磁盤編号,用數字表示,從0開始編号
#:分區編号,用數字表示,從0開始編号
五、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: 引導啟動標明的核心;
1)手動在grub指令行接口啟動系統:
grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot
2)配置檔案:/boot/grub/grub.conf
grub-md5-crypt指令:設定加密碼
3)進入單使用者模式:
(1) 編輯grub菜單(標明要編輯的title,而後使用e指令);
(2) 在標明的kernel後附加1, s, S或single都可以;
(3) 在kernel所在行,鍵入“b”指令;
4)安裝grub:
(1)grub-install
grub-install --root-directory=ROOT /dev/DISK
(2)grub
grub> root (hd#,#)
grub> setup (hd#)
六、練習:
1.新加硬碟,提供直接單獨運作bash系統;
1)硬碟分三個區/sdb1、/sdb2、/sdb3、并格式化分區(/sdb3建立swap分區),挂載/sdb1至/mnt/boot、/sdb2至/mnt/sysroot下。
建立/mnt/boot、/mnt/sysroot及其子目錄(/bin、/lib64…等)
2)在/boot所在分區安裝grub,并複制核心及對應RamDisk到/boot目錄下,編寫grub配置檔案。
3)複制/bin/bash到/sysroot/bin下,随後複制相關庫檔案到對應目錄。
4)關閉系統,建立一個虛拟機加載該磁盤
2.破壞本機grub stage1,而後在救援模式下修複之;
1)破壞本機grub
2)挂載鏡像盤開機
3)切換到原系統根目錄
4)重新安裝grub
3.為grub設定保護功能;
1)使用grub-md5-crypt指令生成密碼資訊。
2)在/boot/grbu/grub.conf中添加一行“password --md5 密碼串”,儲存退出。
3)開機進入grub後按p輸入設定好的密碼進入grub