教你如何學習GRUB
timeout=3 (注:timeout表示默認等待的時間,這兒是3秒鐘。超過3秒,用戶還沒有作出選 擇的話,系統(tǒng)將自動選擇默認的操作系統(tǒng);當然你可以改成任何你樂意的時間)
splashimage=(hd0,0)/boot/grub/splash.xpm.gz (注:指定開機畫面文件splash.xpm.gz的位置)
title Red Hat Linux (2.4.18-14) (注:表示Red Hat Linux的菜單項)
root (hd0,0) (注:表示第一個硬盤第一個分區(qū),這里的root和系 統(tǒng)內的root不是一碼事!詳細如下說明)
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ (注:指定內核的位置,詳細說明如下 文)
initrd /boot/initrd-2.4.18-14.img (注:初始化)
title Microsoft Windows XP (注:表示Microsoft Windows XP的菜單項)
map (hd0) (hd1) (注:map是命令,詳細如下)
map (hd1) (hd0)
root (hd1,0) (注:這是指第二個硬盤(從硬盤)上第一個分區(qū))
chainloader (hd1,0)+1 (注:鏈式裝入器,裝入一個扇區(qū)的數據然后把引導 權交給它。詳細說明如下)
makeactive
boot
(注:在 Linux 中,當談到 root 文件系統(tǒng)時,通常是指主 Linux 分區(qū)。但是,GRUB 有它自己的 root 分區(qū)定義。GRUB 的 root 分區(qū)是保存 Linux 內核的分區(qū)。這可能是您的正式 root 文件系統(tǒng),也可能不是。我們討論的是 GRUB,需要指定 GRUB 的 root 分區(qū)。進入 root 分區(qū)時,GRUB 將把這個分區(qū)安裝成只讀型,這樣就可以從該分區(qū)中裝入 Linux 內核。GRUB 的一個很“酷”的功能是它可以讀取本機的 FAT、FFS、minix、ext2 和 ReiserFS 分區(qū).到目前為止,您可能會感到一點疑惑,因為 GRUB 所使用的硬盤/分區(qū)命名約定與 Linux 使用的命名約定不同。在Linux 中,第一個硬盤的第五個分區(qū)稱作 hda5。而 GRUB 把這個分區(qū)稱作 (hd0,4)。GRUB 對硬盤和分區(qū)的編號都是從 0 開始計算。另外,硬盤和分區(qū)都用逗號分隔,整個表達式用括號括起。現在,可以發(fā)現如果要引導 Linux 硬盤 hda5,應輸入 root (hd0,4)。
知道了內核在哪兒,還要具體指出哪個文件是內核文件,這就是kernel的工作。
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/說明/boot/vmlinuz-2.4.18-14就是要載入的內核。后面的都是傳遞給內核的參數。root=LABEL=/就是linux的硬盤分區(qū)表示法,ro是readonly的意思。initrd用來初始的linux image,并設置相應的參數。
命令map:當你有兩塊硬盤,一個無法從第二塊硬盤啟動的操作系統(tǒng),例如Windowsxp,就可以使用map命令.你能夠將hd0映射為hd1,將hd1映射為hd0。換句話說,你可以虛擬的交換兩個硬盤而啟動所需要的操作系統(tǒng) 。命令形式如下:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
GRUB 使用了“鏈式裝入器”(chainloader)。鏈式裝入器從分區(qū) (hd1,0) 的引導記錄中裝入winxp自己的引導裝入器,然后引導它。這就是這種技術叫做鏈式裝入的原因 -- 它創(chuàng)建了一個從引導裝入器到另一個的鏈。這種鏈式裝入技術可以用于引導任何版本的 DOS 或 Windows。
GRUB的配置文件要簡單就這么簡單,如果你要更個性化一點,試一試把“color light-gray/blue ”加在default語句的下面,下一次啟動GRUB時,看看有什么變化,再試一試“color light-blue/red,驚喜嗎? 有趣吧! )
3 如何使用grub?
3.1 安裝
你可以從ftp://alpha.gnu.org/pub/gnu/grub 下載GRUB的源代碼。
得到文件grub-0.5.96.1.tar.gz,所以這樣做:
# tar -xvzf grub-0.5.96.1.tar.gz
這個命令將解開的文件和目錄放在一個名為grub-0.5.96.1的目錄中?,F在運行如
下命令:
#cd grub-0.5.96.1
# ./configure
如果你想定制GRUB,使之包含流行的文件系統(tǒng)和對網卡的支持,或者刪除你不需要的網卡,可以運行如下命令:
# ./configure --help
這個命令將輸出所有的命令選項?,F在可以使用—enable和—disable選項增加或
刪除對特定網卡的支持。(注意:GRUB支持網絡啟動)
為了開始編譯過程,鍵入如下命令:
# make
# make install
至此你已經為安裝GRUB真正做好了準備。
將GRUB的相關文件保存在諸如/boot/grub的目錄中是一個好主意。為此,按如下步驟:
1.默認狀態(tài)下,GRUB所有文件將安裝在/usr/share/grub/i386-pc(或者在
/usr/local/share/grub/i386-pc目錄下,這只取決于你的shell變量的設置。)
2.建立一個叫做/boot/grub的目錄,然后拷貝下列文件到這個目錄:
stage1 stage2 * stage1 5
稍候將解釋這些文件。同時也要把GRUB(可能在/usr/sbin或者/usr/local/sbin
目錄下)拷貝到/boot/grub目錄下。
安裝GRUB可以分為三個單獨的步驟:
1.將“stage1”安裝到MBR中。
2.設置“stage2”的地址或者位置。
3.設置一個菜單或選項,用來決定啟動哪一個操作系統(tǒng)。
使用下面的命令開始安裝GRUB。
#cd /boot/grub
# ./grub
這個命令根據BIOS的設置檢測硬件設備,同時產生一些輸出信息。這會花較長的時間。
end_request: I/O error, dev 02:00 (floppy), sector 0
GRUB version 0.5.96.1 (640K lower / 3072K upper memory)
TAB鍵可列出可能的命令列表。其它情況下TAB會列出設備或文件名。類似下面的提示會出現:
grub>
現在,假設你將Linux安裝在了第一塊硬盤的第一個分區(qū)中或者/dev/hda1中。記住GRUB的命名規(guī)則,將上面的名字改為(hd0,0)。鍵入下面的命令:
grub> install (hd0,0)/boot/grub/stage1 (hd0) (hd0,0)/boot/grub/stage2
p (hd0,0)/boot/grub/menu.conf
現在分析一下這個命令的細節(jié)。
install
一個內置的命令,它告訴GRUB將(hd0,0)/boot/grub/stage1安裝到hd0的主引導紀錄中。
(hd0,0)/boot/grub/stage2
評論