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

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

(主菜單)

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

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