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