| 以下是一個(gè)menu.lst的例子,我們通過(guò)這個(gè)例子來(lái)學(xué)習grub4dos菜單文件的編寫(xiě)與修改,然后我們就可以修改基于grub的工具(如一鍵ghost)。其中以#開(kāi)始的行,表示注釋?zhuān)粓绦?br>一、菜單實(shí)例 # 默認延遲時(shí)間(秒) timeout 10 # 第一項為默認值 default 0 # 設置圖形背景文件 splashimage (hd0,0)/boot/grub/xp2008.gz # 設置中文支持的字體文件 fontfile (hd0,0)/boot/grub/fonts title 使用map啟動(dòng)本地硬盤(pán)上的瑞星殺毒軟盤(pán)鏡像文件 map (hd0,0)/boot/grub/rav.img (fd0) map –hook chainloader (fd0)+1 rootnoverify (fd0) title 使用memdisk啟動(dòng)本地 Win98 軟盤(pán)鏡像文件 kernel (hd0,0)/boot/grub/memdisk.gz initrd (hd0,0)/boot/grub/win98.img title 使用memdisk啟動(dòng)本地硬盤(pán)上的瑞星殺毒軟盤(pán)壓縮鏡像文件 root (hd0,0) kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy initrd /boot/rav.zip title 啟動(dòng)第一主分區(hd0,0)上的操作系統 rootnoverify (hd0,0) makeactive chainloader +1 title 啟動(dòng)第二主分區(hd0,1)上的操作系統 rootnoverify (hd0,1) makeactive chainloader +1 title 重啟 reboot title 關(guān)機 halt 二、菜單理解 1.timeout 10 —–菜單等待時(shí)間(秒) default 0 ——默認啟動(dòng)的項,從0開(kāi)始計算,最大到6 fontfile (hd0,0)/boot/grub/fonts ——加載字體 2.可以用例子中的splashimage命令加載背景圖,也可以用命令gfxmenu (hd0,0)/boot/grub/message加載背景圖(加載背景圖這句要放在timeout和default兩句后面),后者加載的圖片可以更美觀(guān),制作方法可用GfxMenu這款小軟件.若要用gfxmenu命令加載圖片,則需使用支持該命令的grldr文件,而且使用該方法時(shí)不能再編輯引導菜單,而且要進(jìn)入grub.exe也只能事先在菜單中加入 注意:fontfile命令不可單獨使用,需與splashimage一起使用。 3.title 使用map啟動(dòng)本地硬盤(pán)上的瑞星殺毒軟盤(pán)鏡像文件——實(shí)際顯示出的菜單項 configfile (hd0,0)/boot/grub/dos.lst ——加載子菜單 map –mem (hd0,0)/boot/grub/xlybig.img (fd0) ——把xlybig.img仿真成軟盤(pán),(fd0)與前面的映像名稱(chēng)之間是有一個(gè)空格的,千萬(wàn)不要忘記。加了–mem參數表示把 xlybig.img加載到內存。不加此參數時(shí)要求xlybig.img存放在連續的扇區中。只有加了–mem參數才能使用firadisk驅動(dòng),而且map方式對軟盤(pán)映像大小沒(méi)有限制,但要求必須連續存放。改進(jìn)的map –mem則無(wú)此限制 map –hook ——仿真確認生效 chainloader (fd0)+1 ——鏈式加載(fd0)的第一個(gè)扇區內容 rootnoverify (fd0) ——設置(fd0)為根設備,root在設置根設備前,先測試一下該分區的文件系統是否可以識別,而rootnoverify則省略這一測試。 rootnoverify (hd0) ——(hd0)表示第一個(gè)硬盤(pán) chainloader +1 ——鏈式加載當前設備的第一個(gè)扇區內容 map (hd0,0)/grub/imgs/ztpe.img (hd0) || map –mem (hd0,0)/grub/imgs/ztpe.img (hd0) ——先嘗試執行||前的句子,如果失敗了,再執行||后面的句子,把ztpe.img(硬盤(pán)鏡像)仿真為第一塊硬盤(pán),因為PE需要從第一塊硬盤(pán)啟動(dòng)。 map (hd0) (hd1) ——把(hd0)(真實(shí)的硬盤(pán))仿真為(hd1)(第二塊硬盤(pán)) find –set-root /peldr ——先查找/peldr是否存在,如果找到,就設置peldr所在分區為根分區 4.另外,菜單文件中的文件路徑可用相對路徑(如:/boot/rav.zip)或絕對路徑(如:(hd0,0)/boot/grub/xly.img)表示。在用絕對路徑時(shí),其中(hd0,0)表示第一硬盤(pán)的第一分區,fd0表示軟盤(pán),cd表示光盤(pán)。書(shū)寫(xiě)時(shí)應根據介質(zhì)的不同而選擇其一 三、深入了解 1.啟動(dòng)軟盤(pán)鏡象,有兩種方式,即memdisk或map 各自的寫(xiě)法例子如下: memdisk方法: title 硬盤(pán)檢測修復工具 效率源 (memdisk) kernel (hd0,0)/boot/grub/memdisk.gz initrd (hd0,0)/boot/grub/xly.img map方法: title 硬盤(pán)檢測修復工具 效率源 (map) map (hd0,0)/boot/grub/xly.img (fd0) map –hook chainloader (fd0)+1 rootnoverify (fd0) 用memdisk時(shí),img文件可壓縮;在img文件大小為非1.44MB或2.88MB標準鏡像時(shí),需要指定CHS參數。img文件的CHS參數可用winimage獲得 即例子中應改為: title 使用memdisk啟動(dòng)本地硬盤(pán)上的瑞星殺毒軟盤(pán)壓縮鏡像文件 root (hd0,0) kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy initrd /boot/rav.zip #kernel (hd0,0)/boot/memdisk.gz c=80 h=2 s=18 cd-rom #【這句是說(shuō)虛擬一個(gè)內存磁盤(pán)為cdrom,指定磁盤(pán)的柱面磁頭扇區,這樣系統會(huì )認為是一個(gè)光驅】 需注意的是菜單文件中所用的memdisk.gz文件,不包括在grub4dos的發(fā)行包里,需自行準備??蓮幕趃rub的工具(如一鍵ghost)中獲得 |
聯(lián)系客服