GRUB簡體中文化版使用方法
by Gandalf<f22_storm@163.com>
下載 | 截圖 | 其他 | 留言 | 制作背景圖片 | isoemu
|
目錄
一.功能概述
二.基本概念及界面說明
三.功能詳情及使用
四.致謝 |
一.功能概述
 |
在本源上, Grub 是Linux的一個(gè)載入程序,正如 NTLDR 之于 Windows NT/2K/XP. 但是,它卻擁有多引導(dǎo)的功能,而且還在不斷得發(fā)展與完善之中. 當(dāng)前,它的新功能如下:
1. 支持中文顯示,背景圖片;
2. 支持軟盤虛擬功能,可以用以引導(dǎo)系統(tǒng);
3. 支持硬盤虛擬,磁盤的映射(當(dāng)然,還能激活/隱藏/創(chuàng)建分區(qū));
4. 支持網(wǎng)絡(luò)啟動(包括網(wǎng)絡(luò)虛擬軟盤);
5. 支持光驅(qū)啟動(擁有一個(gè)獨(dú)立與BIOS的ATAPI設(shè)備的驅(qū)動程序);
6. 跨平臺的支持;
7. 對多引導(dǎo)文件的支持;
|
二.基本概念及界面說明
 |
A.基本概念
1. GRUB 里的設(shè)備命名法則
它使用了UNIX對設(shè)備的命名方法.比如我們擁有兩塊硬盤,那么采用這種形式(hdx,y), 這里,x,y, 都是從0開始計(jì)數(shù)的.所以兩塊硬盤是 (hd0,y),(hd1,y). 他們位于第一個(gè)IDE接口上. 對 hd0 來說, 請看下圖:

(注, C: 為第一主分區(qū), 其他分區(qū)是擴(kuò)展分區(qū).由于主分區(qū)只能有四個(gè),即 0,1,2,3, 所以第一個(gè)擴(kuò)展分區(qū)的編號從 4 開始.)
這是硬盤,那么光驅(qū)哪? 對,采用 (cd) 就可以了. 網(wǎng)絡(luò)設(shè)備使用 (nd). 我估計(jì),以后支持usb以后,可以使用 (ud). ;-) 歡迎你的參與,我們的開發(fā)還在繼續(xù).
那么,這里就要提及 GRUB 里的一個(gè)很首要的概念了, 即 "根(/)", 或者 root. 其實(shí),它就是一個(gè)源一樣的東西,與草木的"根"相類似. 在GRUB中,其它的文件對象都域于此. 所以,一旦你指定了一個(gè)根,后續(xù)的操作除非顯示地說明,否則都是對"根"而言的.
其實(shí)在某種意義上來說,和相對/絕對路徑有點(diǎn)關(guān)聯(lián)性. ;-) 正如,你所猜到的那樣, GRUB 使用 root 命令來指定根設(shè)備(通常都是文件系統(tǒng)).
B. 命令和參數(shù)
在古老的 dos 時(shí)代,這兩個(gè)東東是很平常的. 可以認(rèn)為,命令是程序的名稱,參數(shù)是告訴程序如何作和怎么作.比如在 Grub 的控制臺里:
GRUB>help scdrom
那么, help 就是命令, 而 scdrom 就是參數(shù)了. 它的意思是"給出 scdrom 命令的幫助信息."
C. 界面說明
首先,引導(dǎo)程序應(yīng)該簡單易用,菜單加鼠標(biāo)是不錯(cuò)的主意.是的, GRUB 支持自定義的菜單選擇功能項(xiàng);但當(dāng)前來說,它還不能支持鼠標(biāo)的點(diǎn)選. 另外,為了更靈活, GRUB 還可以動態(tài)地編輯菜單項(xiàng),這就是它的控制臺功能(在控制臺里,你可以使用 `ESC`鍵返回到主選菜單界面).以下三圖可供參考:

(主菜單)

(編輯菜單項(xiàng))

(命令行模式)
D. 關(guān)于菜單腳本文件
與 Windows NT 類似, GRUB 也提供了一個(gè)菜單生成文件,我們常稱之以腳本.
通常情況下,我們把 GRUB 要用到地文件都放到 /boot/grub/ (這里我們省略了對根設(shè)備的指定, 所以完整的表示可能是 (hd0,0)/boot/grub ). 而菜單文件的默認(rèn)名稱是 menu.lst. 這里有一個(gè)樣本實(shí)例,
>> 請點(diǎn)擊 <<
這里應(yīng)該說明的是, 菜單文件里的注釋是以"#"開頭的, 而每一項(xiàng)菜單都必須指定一個(gè)標(biāo)題(title),否則不但不能被顯示出來,反而還作為了上一項(xiàng)的命令了.
|
三.功能詳情及使用
 |
1. 支持中文顯示,背景圖片;
1).中文的顯示, 請使用:
fontfile FILE
實(shí)例: fontfile (hd0,0)/boot/grub/fonts
2). 背景圖的使用:
splashimage FILE
實(shí)例: splashimage (hd0,0)/boot/grub/bj2008.xpm.gz
3). 圖形菜單( gfxmenu ) 的使用:
gfxmenu FILE
實(shí)例: gfxmenu (hd0,0)/boot/grub/grub_chs.msg
[注] fontfile 的文件必須是 16 點(diǎn)陣字庫;
splashimage 的文件必須是 640x480 14 色的 XPM 格式, 支持zip壓縮;
gfxmenu 的文件當(dāng)前只能使用 Linux 下的 mkbootmsg 工具生成, 此功能先見于 SuSe Linux 7.2.
|
2. 支持軟盤虛擬功能,可以用以引導(dǎo)系統(tǒng);
1). 使用 MEMDISK
kernel (hd0,0)/boot/grub/memdisk.gz initrd (hd0,0)/boot/grub/win99.zip boot (此項(xiàng)僅在命令行中使用,在菜單文件里無需指定)
2). 使用內(nèi)建的 MAP
map (hd0,0)/boot/grub/win99.img (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) boot (同上)
[注] + 使用 memdisk 有很多好處. 首先它不需要磁盤鏡像文件的連續(xù)存放,支持網(wǎng)絡(luò)上,光盤上的磁盤鏡像文件, 而且此文件可以使用 zip 壓縮格式. 如果磁盤文件的原始大小不是 1.44/2.88MB, 那么,使用起來,就有一些技巧了:
1). 默認(rèn)情況下, 將被視為硬盤的鏡像文件(與使用 harddisk 效果相同, 故通常不用指定此參數(shù));
2). 如果是軟盤鏡像文件,請使用 floppy 參數(shù), 比如:
kernel (hd0,0)/boot/grub/memdisk.gz c=274 h=2 s=18 floppy initrd (hd0,0)/boot/acronis/pe.zip boot (同上) => 提示:可以使用新版的 Winimage 獲取上述的 C/H/S 參數(shù), 參見:
+ 用 MAP 命令是,磁盤鏡像文件必須連續(xù)存放,大小上無限制.但是不支持網(wǎng)絡(luò)/光盤上的文件,且不支持 zip 壓縮了的文件.
|
3. 支持硬盤虛擬,磁盤的映射(當(dāng)然,還能激活/隱藏/創(chuàng)建分區(qū));
就硬盤虛擬功能而言, 在上一個(gè)段落里,我們已提及到了, 在應(yīng)用上, 我們可以構(gòu)造一個(gè)虛擬的磁盤環(huán)境來, 但是, 這個(gè)磁盤的訪問是通過對 INT 13 的掛接來進(jìn)行的, 這也就是為什么, 我們可以虛擬一個(gè)安裝有 DOS/Win9X 的硬盤, 而對 Windows NT/2K/XP 就無能為力了, 即便是他們的恢復(fù)控制臺(cmdcons).
[ 如果你想體驗(yàn)這種功能, 你可以到 Win98_for_grub 下獲取 Win98SE_CHS 的兩個(gè)鏡像文件, 他們都帶有圖形界面. ]
[ 此外, 如果你試圖使 WinNT 等系統(tǒng)能運(yùn)行于虛擬的磁盤鏡像文件, 請參考 Windows XP Embedded 的相關(guān)信息, 通過使用 Ramdisk 驅(qū)動, 可以做到的. 你可以到 RamDisk_WinXPe 獲取一個(gè)針對 WMWare 的硬件環(huán)境的 WinXP Embedded 版本.]
而“磁盤的映射”, 通常不用, 故而也就不再此處討論了. |
4. 支持網(wǎng)絡(luò)啟動(包括網(wǎng)絡(luò)虛擬軟盤);
ifconfig --address=192.168.0.122 (本機(jī)使用的 IP 地址) ifconfig --mask=255.255.255.0 (子網(wǎng)掩碼) ifconfig --gateway=192.168.0.254 (網(wǎng)關(guān)的 IP 地址) ifconfig --server=192.168.0.1 (tftp 服務(wù)器的 IP 地址) kernel (nd)/memdisk.gz initrd (nd)/win99.gz (可以使用 zip 壓縮的文件) boot (同上) |
5. 支持光驅(qū)啟動(擁有一個(gè)獨(dú)立與BIOS的ATAPI設(shè)備的驅(qū)動程序);
1). 如何讓GRUB識別光驅(qū)
scdrom --install
安裝成功后, 你可以將 root 設(shè)備指定到光盤上(root cd), 訪問光盤上的內(nèi)容(比如指定 memdisk: kernel (cd)/memdisk, 等等)
2). 如何跳轉(zhuǎn)到光驅(qū)啟動
scdrom --bootcd
這是"一去不復(fù)返"式的跳轉(zhuǎn), 如果成功的話. 如果失敗,將返回 GRUB.
|
6. 跨平臺的支持;
1). 在純 DOS 下運(yùn)行GRUB
使用配套的 GRUB.exe 程序.
2). 從光盤上直接啟動GRUB(必須是非模擬方式的)
使用配套的 stage2_eltorito 文件作為啟動文件.
3). 在 Linux 上運(yùn)行 GRUB
使用配套的 grub 程序(elf 格式)即可. 可能需要修改運(yùn)行權(quán)限(chmod a+x grub).
4). 無盤啟動 GRUB
使用配套的 nbgrub/pxegrub 即可.
* 5). 使用 WinNT/2K/XP/LH 的引導(dǎo)器(NTLDR)載入GRUB *
使用配套的 grldr 即可.
如何作:
首先, 你一定要確認(rèn)你的系統(tǒng)擁有 NTLDR 的引導(dǎo)功能, 然后打開它的配置文件( boot.ini, 這個(gè)文件通常在你的 "c:\"),進(jìn)行修改. 請為 GRUB 新添如下一行到文件的末尾(注意, 請另起一行)
C:\GRLDR="Boot Grub with Full Set", 然后保存之.
當(dāng)然你可能會得到信息說文件是只讀的, 請修改它的屬性后,再保存. 隨后,請把壓縮包里的 grldr 解到 C:\ 就可以了.
|
7. 對多引導(dǎo)文件的支持
我們假設(shè)文件所用到的文件位于 C:\ (hd0,0)
1). 硬盤扇區(qū)文件
root (hd0,0) (對使用硬盤的時(shí)候,一定要使用 hd, 這樣才會傳遞引導(dǎo)盤符為 80H) root (顯示說明磁盤為 80H) run /peloader.bin (運(yùn)行之)
2). 光盤非模擬方式的引導(dǎo)文件
scdrom --install (初始化,安裝光盤驅(qū)動) root (cd) (指定引導(dǎo)盤符的操作) root (顯示說明磁盤為 80H) run (hd0,0)/emurtosk.bin (運(yùn)行之)
* 注: 所指定的文件要小于 32768 字節(jié). |
|
四.致謝
 |
這個(gè)版本的 GRUB 的公開, 離不開很多人的努力,合作與幫助. 他們是:
GNU GRUB 的作者 : 一個(gè)偉大的程序工作者,為我們帶來了功能強(qiáng)大的 Grub fsys_ntfs.c 的提供者 : 此版本的 Grub 引用它來提供對 NTFS 分區(qū)的支持 Smart BootManager 的開發(fā)者 : 此版本的 Grub 引用了它的 ATAPI 驅(qū)動模塊
VCCode 龍?zhí)谜搲系?zhaoxg : 他向我提供了藍(lán)點(diǎn) Grub 的相關(guān)信息, 使此版本中文支持有了源頭 Grub 的網(wǎng)絡(luò)支持補(bǔ)丁的提供者: 此版本的 Grub 引用了諸多官方版本所不支持的網(wǎng)卡驅(qū)動 Grub4Dos 的開發(fā)者 : 此版本的 Grub 引用了它的 MAP/NTLDR 模塊(謝謝tinybit) findroot 功能的提供者 : 他(Chris_s)來自 topologilinux 還有他的朋友(Tobias) United DOS forum : 在這里有,我經(jīng)常和多位高手交流. 感謝 ruymbeke 發(fā)出的邀請 VCCode 龍?zhí)谜搲系男⊙绢^ : 我向她請教了 bj2008.xpm 背景圖的修改問題
... ... ... ... ...
還有很多人士, 在此一并表示感謝! |
|
更新時(shí)間: 2004-11-13 12:50:50 - 新增 gfxmenu 動畫圖形菜單的功能使用說明 2004-11-05 14:55:40 - 對 RUN 命令的描述[添加] 2004-10-13 19:28:18 - 對 memdisk 的只能支持 1.44M/2.88M 的說法的調(diào)整[更正] 對第三條目, 進(jìn)行內(nèi)容的添加[添加] |
|