一.grub相關知識詳解linux
(1)grub:GRand Unified Bootloaderide
grub 0.x :grub legacyoop
grub 1.x : grub2加密
grub legacy:spa
stage1:mbr的bootloader階段操作系統
stage1_5:mbr以後的扇區,讓stage1的bootloader可以識別stage2所在分區的文件系統命令行
stage2:磁盤分區(/boot/grub/)接口
配置文件:/etc/grub.conf-->/boot/grub/grub.conf圖片
stage2階段常常放置於一個獨立的分區md5
(2)功用
<1>提供啓動菜單、並提供交互式接口
a:內核參數
c:命令模式,交互式藉口
e:編輯模式,用來編輯菜單
<2>加載用戶選擇的內核或操做系統
容許傳遞參數給內核
可隱藏啓動菜單
<3>爲菜單提供保護機制
爲編輯啓動菜單提供保護機制
爲啓用內核或操做系統提供保護機制
(3)grub的命令行接口
help:獲取幫助列表
help KEYWORD:獲取幫助信息
find (hd#,#)/PATH/TO/SOMEFILE:
root (hd#,#)
kernel /PATH/TO/KERNEL_FILE:設定本次啓動時用到的內核文件;額外還可添加許多內核支持的cmdline參數。如:max_loop=100,selinux=0,init=/path/to/init
initrd/PATH/TO/INITRAMFS_FILE: 設定爲選定的內核提供額外文件的ramdisk;
boot: 引導啓動選定的內核
(4)cat /proc/cmdline查看內核參數
內核參數文檔:/usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt
須要安裝kernel-doc支持
(5)識別硬盤文件
(hd#,#)
hd#:磁盤編號,從0開始
#:分區編號,從0開始
(6)安裝grub
<1> grub-install
安裝grub stage1和stage1_5到/dev/DISK磁盤上,並複製GRUB相關文件到DIR/boot目錄下(此時是stage2的部分階段,是/boot/grub下的全部文件(除了/boot/grub/grub.conf文件))
grub-install --root-directory=DIR /dev/DISK
<2> grub(依賴/boot/grub/下的stage類文件)
grub> root (hd#,#)
grub> setup (hd#)
(7)grub配置文件詳解
配置文件:/boot/grub/grub.conf
default=#: 設定默認啓動的菜單項;落單項(title)編號從0開始
timeout=#:指定菜單項等待選項選擇的時長
splashp_w_picpath=(hd#,#)/PATH/TO/XPM_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: 啓動選定的內核或操做系統時進行認證
(8)grub-md5-crypt加密密碼