相關
grldr好比:ntldr之於windows 5.x(nt/xp/2003等) bootmgr之於windows 6.x(vista/7)
grldr.mbr用來寫入硬碟mbr的 或者nt引導系統中boot.ini來調用
使用方法
檔案存放位置
把grldr及選單配置檔案menu.lst複製到系統盤任意目錄(以C糟根目錄為例,其它目錄只需要加入路徑即可。其中grldr會自動搜尋選單配置文 件並載入,但是menu.lst最好存放在C糟根目錄,免得到時候搜尋不到不能載入引起錯誤)。
把需要grldr引導的檔案(如DOS.IMG、GHOST83.IMG等鏡像檔案)保存在硬碟。
一個menu.lst的例子
(以#開始的行,表示注釋,不執行)
# 默認延遲時間(秒)
timeout 30
# 第一項為默認值
default 0
# 設定圖形背景檔案
splashimage (hd0,0)/boot/grub/xp2008.gz
# 設定中文支持的字型檔
fontfile (hd0,0)/boot/grub/fonts
title 使用map啟動本地硬碟上的瑞星防毒軟碟鏡像檔案
map (hd0,0)/boot/grub/rav.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title 使用memdisk啟動本地 Win98 軟碟鏡像檔案
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/win98.img
title 使用memdisk啟動本地硬碟上的瑞星防毒軟碟壓縮鏡像檔案
root (hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd /boot/rav.zip
title 啟動第一主分區(hd0,0)上的作業系統
rootnoverify (hd0,0)
makeactive
chainloader +1
title 啟動第二主分區(hd0,1)上的作業系統
rootnoverify (hd0,1)
makeactive
chainloader +1
title 重啟
reboot
title 關機
halt
引導
3.1 通過Windows NT的啟動選單進入grub4dos
將grldr檔案複製到c:\,去掉boot.ini的唯讀屬性,然後修改c:\boot.ini檔案,在boot.ini的最後面加一行:
c:\grldr="Start GRUB"
並將boot.ini中的timeout值設定為大於0的數字,如:timeout=5,然後保存boot.ini,改回唯讀屬性。
編輯boot.ini前,可在cmd下輸入:
attrib -s -r -h c:\boot.ini
解除boot.ini的唯讀屬性,編輯完後輸入:
attrib +s +r +h c:\boot.ini
恢復boot.ini的原有屬性。
這樣,編輯完重新啟動計算機,在NT的啟動選單就會出現“Start GRUB”這一項,選擇該項即可進入grub4dos的環境。
此方法的優點是:不需要修改MBR。
初學者使用grub一般都需要grub選單,把準備好的menu.lst檔案放到C:\下(也可放到其它分區根目錄或其它指定目錄)。
3.2 通過DOS啟動grub
將機器通過任何可能的方式(軟碟,隨身碟,光碟等)啟動到DOS環境(最好是純DOS環境,即不載入任何驅動程式和TSR程式的DOS環境),然後在DOS下或者AUTOEXEC.BAT中運行grub.exe,即可進入grub。
也可在DOS/Windows9x的CONFIG.SYS中使用下列任一方式啟動grub。
DEVICE=GRUB.EXE
INSTALL=GRUB.EXE
SHELL=GRUB.EXE
此方法的優點是:不需要修改MBR;可根據需要在腳本或者其它DOS程式中啟動GRUB4DOS。
選單檔案menu.lst可保存在grub檔案所在目錄或其它指定路徑。
3.3 通過mbr啟動grub
通過軟體包里的bootlace點com(可運行於DOS/Win9x)安裝GRLDR引導記錄到硬碟或者硬碟映像檔案的主引導記錄,或者安裝到軟碟或者軟碟映像的引導扇區。電腦啟動時,通過擊熱鍵(默認為空格鍵,可自定義)來啟動grub。
比如:
在DOS下安裝GRLDR代碼到主引導記錄:
bootlace點com 0x80
在DOS下安裝GRLDR代碼到軟碟:
bootlace點com --floppy --chs 0x00
在DOS下安裝GRLDR代碼到軟碟映像:
bootlace點com --floppy --chs floppy.img
我所使用的命令為:
bootlace --force-backup-mbr --boot-prevmbr-first --time-out=3 --hot-key=0x3920 --mbr-disable-floppy 0x80
表示安裝GRLDR代碼到MBR時,備份原MBR(--force-backup-mbr),默認啟動原MBR,即啟動原windows xp系統(--boot-prevmbr-first),等待時間3秒(--time-out=3),熱鍵為空格鍵(--hot- key=0x3920), 不搜尋軟碟上的GRLDR(--mbr-disable-floppy)。
也就是說啟動時等待3秒,3秒內不擊熱鍵的話,啟動windows xp;3秒內擊熱鍵則啟動grub4dos。
bootlace的其它參數及自定義熱鍵用法可參看readme.txt檔案。
裝入mbr後,再將grldr和menu.lst檔案複製到某分區的根目錄(現在支持的檔案系統是FAT12,FAT16, FAT32, NTFS,EXT2 or EXT3 的分區。對於Windows用戶,最好是fat分區),menu.lst也可保存到其它指定位置。
此方法的優點是:不依賴於作業系統;能夠自動搜尋硬碟上各個分區的grldr檔案。
另外,2000/xp/2003/vista環境下可用另一軟體 grubinst 來把GRLDR引導記錄安裝到硬碟的MBR。grubinst具有圖形界面和命令行兩種工作模式供選用,並附有比較詳細的使用說明,很易於使用。
製作GRUB的splash背景圖
GRUB 背景圖片的要求:解析度640x480,14色,XPM格式。
支持 .gz 壓縮。
製作環境: linux下(其實windows下也可以製作,用IMAGEMAGICK. 但是convert後用圖像軟體看是沒問題,但是引導時,失真的很厲害,用其他軟體製作,背景根本出不來,在linux下製作真的很簡單,呵呵為了做這個,只能安裝個虛擬的linux來做.)
方法1:用 convert 命令
首先需安裝一個 ImageMagick 軟體。 若用的是 ubuntu 或 debian 就很方便了,源里就有。
先把圖片轉成 640x480 解析度,再運行 convert -colors 14 xxx.jpg splashimage.xpm ,把生成的 splashimage.xpm 拷貝到某目錄下,比如 (hd0,6)/boot/splash/
再往 menu.lst 中相應地添上一句: splashimage (hd0,6)/boot/splash/splashimage.xpm
就好了。
這個方法在windows下做,失真的很厲害,可能是我不會做.
方法2:
用GIMP(呵呵,和windows下用ps是一樣的.不如在windows下做.不推薦)
一個關鍵:須調成 索引色 顯示,否則無法調整顏色數
方法3: (推薦)
在windows下用Ps或者其他的圖像軟體把圖像修改成640*480 14位色的(其實16位也可以),然後上傳到linux下,用GIMP另外儲存下就可以了.方便快捷.
GRUB的命令
GRUB包含了許多不同的命令,它們可以在命令行接口中以互動的方式執行。其中的一些命令能接在命令名後面的選項,這些選項用空格隔開。
下面的列表給出了最有用的一些命令:
·boot - 引導先前已經被指定並載入的作業系統或鏈式裝載程式。
·chainloader - 將指定的檔案作為一個鏈式裝載程式載入。為了獲取在一個指定分區第一扇區內的檔案,使用+1作為檔案名稱。
·displaymem - 顯示當前記憶體的使用情況,這個信息是基於BIOS的。這個命令有助於確定系統在引導前有多少記憶體。
·initrd - 使用戶能夠指定一個在引導時可用的初始RAM盤。當核心為了完全引導而需要某些模組時,這是必需的。
·install p - 安裝GRUB到系統的主引導記錄。這個命令允許系統重啟時出現GRUB接口。
警告:install命令將復蓋主引導扇區中的其他信息。如果命令被執行,那么除了GRUB信息之外的其他用於引導其他作業系統的信息都將丟失。在執行這條命令前,確定你對它有正確的了解。
這條命令可以用幾種不同的方式進行配置。然而,它都要求指定。表示一個設備,分區和檔案,在那裡可以找到第一個引導裝載程式的映象,比如 (hd0,0)/grub/stage1。另外,也指定了第一步引導裝載程式應該被安裝的硬碟,如(hd0)。
選項告訴第一步引導裝載程式第二步引導裝載程式位於什麼地方,例如(hd0,0)/grub/stage2。p選項告訴install命令選單配置檔案被指定在部分,比如說(hd0,0)/grub/grub.conf。
·kernel - 當使用直接載入方式引導作業系統時,kernel命令指定核心從GRUB的根檔案系統中載入。options選項是跟在kernel命令後面,在核心載入時傳給核心。
在Red Hat Linux中,一個kernel命令的例子看起來象下面的形式:
kernel /vmlinuz root=/dev/hda5
上面這行表明了vmlinuz檔案是從GRUB的根檔案系統載入的,如(hd0,0)。同時,一個選項也被傳給了核心。它指出當Linux核心載入時,核心的根檔案系統應該是位於hda5,第一個IDE硬碟的第五個分區。如果有必要的話,多個選項可以被放在這個選項後面。
·root - 將GRUB的根分區設定成特定的設備和分區,比如說(hd0,0)。並掛入這個分區,這樣檔案可以被讀取。
·rootnoverify - 做root命令同樣的事情,只是不掛入分區。
除上面所述外,還有更多的命令可用。輸入info grub,得到一個所有命令的完全列表。
6、GRUB的選單配置檔案
配置檔案在GRUB選單接口中,創建用於引導作業系統的列表。配置檔案可以允許用戶選擇執行事先設定好的一組命令。這些命令既包括前面給出的命令,也包括一些只用於配置檔案的命令。
配置檔案的專用命令
下面這些命令只用於GRUB的選單配置檔案:
·color - 設定在選單中使用的顏色,一種是作為前景色,一種作為背景色。可以簡單地使用顏色名稱,如red/black。比如:
color red/black green/blue
·default - 默認項目的標題名稱。如果選單接口逾時,那它將被載入。
·fallback - 當這個命令被使用時,如果第一次嘗試失敗,那么這個項目的標題名稱將被試用。
·hiddenmenu - 這個命令被使用時,它不顯示GRUB選單接口,在逾時時間過期後載入默認項。用戶通過按[Esc]鍵,可以看到標準的GRUB選單。
·password - 這個命令被使用時,它可以防止不知道口令的用戶編輯選單的項目。
作為附加選項,可以在後面指定一個後備的選單配置檔案。因此,如果口令被知道,GRUB將重新啟動第二步的引導裝載程式,並使用這個後備的配置檔案來建立選單。如果這個後備檔案不在命令中指出,那么知道口令的用戶能夠編輯當前的配置檔案。
·timeout - 這個命令設定了在GRUB載入由default命令指定的項目前的時間間隔,以秒為單位。
·splashimage - 它指定在GRUB引導時所使用的螢幕圖像的位置。
·title - 設定用來裝載一個作業系統的一組特定命令的標題。
字元#用來在選單配置檔案放置注釋。
配置檔案的結構
設定GRUB選單接口全局參數的命令被放在檔案的頂部,接下來的是用於各個作業系統引導的不同項目。
一個非常基本的用於引導Red Hat Linux或Microsoft Windows 2000的GRUB選單配置檔案可能如下所示:
default=linux
timeout=10
color=green/black light-gray/blue
# section to load linux
title linux
root (hd0,1)
kernel /vmlinuz root=/dev/hda5
boot
# section to load Windows 2000
title windows
rootnoverify (hd0,0)
chainloader +1
這個檔案告訴GRUB建立一個以Red Hat Linux為默認作業系統的選單,設定10秒後自動引導。這裡給出了2個部分,每個部分對應於一個作業系統項目,每個部分都包含了指向作業系統硬碟分區表的命令。