menu.lst詳解

anycall2010發表於2010-03-13

 menu.lst有時候也叫grub.conf,它是grub引導系統的配置檔案。首先來看一下/boot/grub/menu.lst中的內容:

default=0

timeout=5

#splashimage=(hd0,6)/boot/grub/splash.xpm.gz

Hiddenmenu

title       Fedora Core (2.6.23.17-88.fc7)

root        (hd0,2)

kernel      /boot/vmlinuz-2.6.23.17-88.fc7 ro root=/dev/sda3

initrd      /boot/initrd-2.6.23.17-88.fc7.img

title Windows XP

rootnoverify        (hd0,0)

chainloader     1

基本選項

default:後跟一個數字,指grub的預設啟動項。表示預設啟動的第0號的作業系統,GRUB,title定義了啟動的作業系統,從第1個開始,GRUB中是0,而第2個是1,依次類推

timeout:指定一個超時值,單位為秒,若使用者在grub等待的超時時間範圍內沒有任何操作,則啟動預設項。

Splashimage:指定開機畫面檔案splash.xpm.gz的絕對路徑

hidemenu:若被設定則啟動的時候預設不顯示選項選單,否則grub啟動時自動顯示選項選單。

title:指定啟動的作業系統選單項的名稱,即在grub列表裡的名稱

root:指定啟動分割槽,注意,編號從0開始:比如第一塊硬碟的第一個分割槽應該是(hd0,0),關於Linux中裝置的表示方法請參考:在Linux系統中儲存裝置的兩種表示方法》。啟動分割槽的編號可以使用fdisk -l查詢,但是需要root許可權。

kernel:指定啟動的核心的絕對路徑和名稱,後邊跟引數,一般來說root引數就是你的根檔案系統,不能省略,可以直接使用/dev/sda2或者/dev/hda1來表示。其實有rootkernel兩行就可以啟動linux了。

ro 表示只讀; root=LABEL=/ 來表示Linux的根所處的分割槽。LABEL=/ 這是硬碟分割槽格式化為相應檔案系統後所加的標籤;如果您不瞭解什麼是標籤,也可以直接以/dev/hd[a-z]X 或者/dev/sd[a-z]X來表示;就看您的Linux是根分割槽是在哪個分割槽了。比如我的是在/dev/sda3 ,那這裡就可以寫成root=/dev/ sda3

initrd:指定系統啟動訪問真正的根檔案系統前,訪問的ramdisk映象。具體可以參照Linux2.6 核心的 Initrd 機制解析

makeactive:使此分割槽成為活動分割槽,Windows必須從活動分割槽啟動,而且NT核心的啟動分割槽一般應該為第一個主分割槽。

chainloader 1:告訴grub不要自己載入此作業系統,而使用這個分割槽上的載入器,比如ntldr

 

:GRUB啟動選單不能工作的時候,可以利用Linux系統安裝碟進入恢復模式,使用GRUB指令,一步步地輸入啟動命令,關於kernel initrd命令可以利用TAB鍵補齊寫好,最後只要執行boot就行了。

GRUB命令引導windows:

GRUB> rootnoverify (hd0,0)

GRUB> makeactive

GRUB> chainloader 1

GRUB> boot

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8334342/viewspace-629393/,如需轉載,請註明出處,否則將追究法律責任。