轉自:http://leejia.blog.51cto.com/4356849/788902
grub.conf是grub的主配置文件,通過這個配置文件,grub才能找到kernel,系統才能正常啟動。下面我們來解析一下這個文件中所有到的一下關鍵字的意思:
default:定義默認啟動的kernel或是操作系統
timeout:定義等待進入選擇kernel或操作系統菜單的時間
splashimage:指定我們選擇kernel或操作系統菜單后面那張圖片。如果定義,這張圖片需要用linux自帶的軟件xmp制作,在圖形界面可以打開。圖片的特點為:
1,必須是xpm的格式
2,必須用gzip壓縮
3,最多使用14位的顏色位數
4,分辨率640*480
hiddenmenu:表示隱藏選擇kernel或操作系統菜單,只有出現等待界面后按下enter鍵才會出現。如果沒有這個字段,則每次系統啟動都會出現這個選擇菜單。
password:設定密碼。放在title外表示進入kernel或操作系統的編輯模式需要密碼,而放在title內表示啟動對應的kernel或操作系統需要密碼,密碼可以是明文或是用MD5進行加密過的。可以防止其他人進入編輯kernel菜單進入單用戶模式啟動我們的系統
title identify:指定一個kernel或是一個操作系統,linux中可以有多個title;identify是這個kernel或操作系統的識別符,可以隨意寫。
root:用於指定grub所能識別的根,而不是根文件系統。
kernel:用於指定系統的內核文件的位置
initrd:幫助kernel完成系統的啟動,例如加載根文件系統所在分區的驅動等。如果kernel本身有相應強大的功能,則不需要initrd
下面我們來分析一下我系統上的/boot/grub/grub.conf文件:
default=0
表示第一個title下的內容為默認啟動的kernel
timeout=3
表示等待進入選擇kernel或操作系統菜單的時間為3秒
splashimage=(hd0,0)/grub/splash.xpm.gz
grub是以hd來識別磁盤的,第一磁盤為hd0,第二個磁盤為hd1...,而hd0,0表示第一個磁盤的第一個分區,hd0,1表示第一個磁盤的第二個分區...,並且grub是直接讀分區來找到對應的文件;而我的系統上只有一塊硬盤,並且/boot是一個單獨的分區,並且為系統的第一個分區,grub等文件在這個分區上。(如果你的系統上/是一個獨立分區,並且boot,grub和其中的文件都在/這個分區中,則這段應該是:splashimage=(hd0,0)/boot/grub/splash.xpm.gz)所以它的意思是:grub在第一個分區中找到grub這個目錄,再找到這個圖片文件作為背景。
hiddenmenu
這個你懂的
password --md5 $1$UrprW0$UzN7ozenwICzcPCQgiFts1
表示要想進入kernel的編輯菜單,需要輸入密碼。這個密碼可以通過命令grub-md5-crypt生成。
title my redhat
你懂的
root (hd0,0)
定義grub的根是第一硬盤的第一個分區
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quiet
內核在grub的根的根目錄下,ro表示只讀加載kernel,root=/dev/vol0/root定義根文件系統,即我們操作系統啟動之后我們所見到的/,我系統上的/是掛載在這個邏輯卷上的;rhgb是redhat的一個程序,顯示一個紅色的邊框。quiet表示以靜默模式啟動kernel,如果定義,kernel啟動的時候會輸出很多信息。
initrd /initrd-2.6.18-164.el5.img
initrd這個文件在grub的根的根目錄下
OK!這個文件很重要哦!