stage2及內(nèi)核等通常放置于一個基本磁盤分區(qū):
功能:
1. 提供菜單、并提供交互式接口
e:編輯模式、用于編輯菜單
c:命令模式匾二,交互式接口
2. 加載用戶選擇的內(nèi)核或操作系統(tǒng)允許傳遞參數(shù)給內(nèi)核可隱藏此菜單
3. 為菜單提供了保護機制、為編輯菜單進行認證、為啟用內(nèi)核或操作系統(tǒng)進行認證
如何識別設(shè)備:
(hd#诵次,#):磁盤編號,用數(shù)字表示枚碗,從0開始
#:分區(qū)編號逾一,用數(shù)字表示,從0開始編號
grub的命令行接口:
help: 獲取幫助列表
help Keyword:詳細幫助信息
find (hd#,#)/path/to/somefile
root (hd#,#)
kernel /PATH/TO/KERNEL_FILE: 設(shè)定本次啟動時用到的內(nèi)核文件肮雨。額外還可以添加許多內(nèi)核支持的cmdline參數(shù)遵堵。例如 init=/path/to/init, selinux=0
initrd /PATH/TO/INITRAMFS_FILE: 設(shè)定為選定的內(nèi)核提供額外文件的ramdisk
boot: 引導(dǎo)啟動選定的內(nèi)核
grub的配置文件/boot/grub /grub.conf說明
其配置項如下:
default=# : 設(shè)定默認啟動的菜單項,編號從0開始
timeout=#:指定項等待選項選擇的超時時長
splashimage=(hd#怨规,#)/path/to/xpm_pic_file:指明菜單背景圖片文件路徑陌宿。
hiddenmenu:默認隱藏菜單,即需要在指定時間(即上面的timeout)內(nèi)按任意鍵才會出現(xiàn)波丰。
password [--md5] STRING: 菜單編輯認證(grub提供了`grub-md5-crypt`命令生成加密的密碼)即給grub添加密碼.
title TITLE:定義菜單項“標題”壳坪,可出現(xiàn)多次
root (hd0,0): grub查找stage2及kernel文件所在設(shè)備分區(qū),
為grub的“根”掰烟。對grub而言,所有類型硬盤一律為hd,
第一個0表示第一個磁盤,第二個0表示對應(yīng)磁盤的分區(qū)
kernel /PATH/TOVMLINUZ_FILE [PARAMETERS] ,啟動的內(nèi)核路徑
及傳遞給內(nèi)核的參數(shù)(與`cat /proc/cmdline`)弥虐。
initrd /PATH/TO/INITRAMFS_FILE; 內(nèi)核匹配的ramfs文件。
passwd [--md5] STRING: 啟動選定的內(nèi)核或操作系統(tǒng)時進行認證媚赖。
如果無法提供則啟動不了指定系統(tǒng).
利用grub啟用單用戶模式可以查看這里霜瘪。
安裝grub(即grub被破壞時如何進行安裝)
1. mbr中的前446個bytes被破壞但沒有重啟系統(tǒng)時
dd if=/dev/zero of=/dev/sda bs=1 count=100 # 破壞前100個字節(jié)的數(shù)據(jù)
sync # 同步到磁盤
# 這時再重啟系統(tǒng)會發(fā)現(xiàn)已經(jīng)重啟不了了.在數(shù)據(jù)破壞但沒有重啟系統(tǒng)的情況下,可以使用下面方法來恢復(fù).
grub # 進入grub命令行
grub> root (hd0,0) # 這里不一定是hd0,0 所以要事先確認/boot目錄所在磁盤號
grub>setup (hd0)
2. mbr中的前446個bytes被破壞但系統(tǒng)又重啟了
grub-install --root-directory=xxx /dev/sdx (xxx指的是/boot所處的目錄)
3. grub配置文件被刪除后如何恢復(fù)
# grub配置文件沒有的話重啟會進入到grub提示行
grub> root (hd0,0) # 指定/boot目錄所在的磁盤分區(qū),不確定的話可
# 以用find命令 find (hd0,0)/TAB補全 的形式逐個查找
grub> kernel /vmlinuz-TAB補全
grub> initrd /initrd-TAB補全
grub> boot # 回車