天天看點

GRUB多重新開機動管理器 (轉)

GRUB多重新開機動管理器 (轉)[@more@]

GRUB多重新開機動管理器

Mailto:ide[email protected].NET.cn">ideal(2001-03-31 20:36)

〖Linuxaid.com.cn/">傳回〗〖轉發〗

1. 什麼是grub

  grub 是一個多重新開機動管理器。grub是GRand Unified Bootloader的縮寫,它可以在多個作業系統共存時選擇引導哪個系統。它可以引導的作業系統包括Linux,Freebsd,Solaris,NetBSD,BeOSi,OS/2,windows95/98,Windows NT,Windows2000。它可以載入作業系統的核心和初始化作業系統(如Linux,FreeBSD),或者把引導權交給作業系統(如Windows 98)來完成引導。 

2. grub的特點 

  grub可以代替lilo來完成對Linux的引導,特别适用于linux與其它作業系統共存情況,與lilo相比,它有以下特點: 

支援大硬碟 

  現在大多數Linux發行版本的lilo都有同樣的一個問題:根分區(/boot分區)不能分在超過1024柱面的地方,一般是在8.4G左右的地方,否則lilo不能安裝,或者安裝後不能正确引導系統。而grub就不會出現這種情況,隻要安裝時你的大硬碟是在LBA模式下,grub就可以引導根分區在8G以外的作業系統。 

支援開機畫面 

  grub支援在引導開機的同時顯示一個開機畫面。對于玩家來說,這樣可以制作自己的個性化開機畫面;對于PC廠商,這樣可以在開機時顯示電腦的一些資訊和廠商的标志等。grub支援640x480,800x600,1024x768各種模式的開機畫面,而且可以自動偵測選擇最佳模式,與Windows那320x400的開機畫面不可同日而語。 

兩種執行模式 

  grub不但可以通過配置檔案進行例行的引導,還可以在選擇引導前動态改變引導時的參數,還可以動态加載各種裝置。例如你在Linux下編譯了一個新的核心,但不能确定它能不能工作,你就可以在引導時動态改變grub的參數,嘗試裝載這個新的核心進行使用。Grub的指令行有非常強大的功能,而且支援如bash或doskey一樣的曆史功能,你可以用上下鍵來尋找以前的指令。

菜單式選擇 

  在lilo下,你需要手工輸入作業系統的名字來引導不同的作業系統。而grub使用一個菜單來選擇不同的系統進行引導。你還可以自己配置各種參數,如延遲時間,預設作業系統等。 

分區位置改變後不必重新配置 

  lilo是通過讀取硬碟上的絕對扇區來裝入作業系統,是以每次分區改變都必須重新配置lilo,例如你用PQ magic調整了分區的大小,那lilo在你重新配置好之前就不能引導這個分區的作業系統了。而grub是通過檔案系統直接把核心讀取到記憶體,是以隻要作業系統核心的路徑沒有改變,grub就可以引導系統。 除此之外,Grub還有許多非常強大的功能。例如支援多種外部裝置,動态裝載作業系統核心,甚至可以通過網絡裝載作業系統核心。Grub支援多種檔案系統,支援多種可執行檔案格式,支援自動解壓,可以引導不支援多重引導的作業系統等。 

3. grub的使用 

安裝grub 

  如果已經安裝了藍點Linux2.0則grub是預設安裝的。要把grub重新安裝到主引導扇區上,隻需要簡單打入makebootable指令就可以了。 

制作grub啟動盤 

  首先确定grub已經安裝,然後進入grub的目錄,鍵入: 

  #cd /boot/grub 

  放入一張軟碟,然後敲入指令: 

  #dd if=stage1 of=/dev/fd0 bs=512 count=1 

  #dd if=/stage2 of=/dev/fd0 bs512 seek=1 

  這樣就可以做好一張啟動盤了。 

開機 

  安裝了grub開機後會出現一個菜單,列出所有的啟動選項。如果設定了啟動畫面則會顯示啟動畫面,按Esc鍵則可以取消啟動畫面顯示菜單選項。藍點Linux所帶的grub的指令提示是全中文的,在菜單下面詳細列出如按e是編輯啟動指令,按c是使用指令行等。用上下鍵可以選擇菜單項,按回車啟動所選項。按e鍵可以編輯所選項的啟動指令,你可以用這個功能臨時改變你的系統的啟動參數,參見配置grub一節。按c鍵則進入指令行模式。    

  在指令行模式下可以打入指令直接執行,例如你可以敲入poweroff關閉計算機。按Tab鍵可以列出所有支援的指令。藍點Linux已經把grub漢化了,其中一部分指令敲入名字後會給出中文提示,顯示指令的用法和參數。 

4. 配置grub 

  grub啟動時會在/boot/grub/中尋找一個名字為menu.lst的配置檔案,如果找不到此檔案則不進入菜單模式而直接進入指令行模式。 

  menu.lst 是一個文本檔案,你可以用任何一個文本編輯器來打開它。每一行代表一個配置指令,如果一行的第一個字元為井号"#"則這一行為注釋,你可以簡單地用增加或減少注釋行來改變配置。 

編輯menu.lst,一般會有以下各行 

timeout second 

設定在second秒之後引導預設的作業系統。 

藍點Linux預設是timeout 5,就是5秒沒有其他指令就引導系統,如果設成-1,則grub會一直等待直到使用者選擇一個選項為止。 

default num

預設啟動第num+1行選項,也就說default=0則預設啟動菜單第一行的作業系統,default=1則啟動第2行的系統,如此類推。 

splash pathname/filename 

指出開機畫面的檔案所存放的路徑和檔案名,如 splash /boot/logo/800x600x8.img 是指用在/boot/logo路徑下的800x600.img檔案作為開機畫面 

title OSname title 

後面的字元就是你在菜單項上所看見的選項,你可以寫上作業系統的名字和描述,如用 

title BluePoint Linux, Single Mode 代表這一選項是引導藍點Linux的單使用者模式。 

下面結合兩個系統引導描述來解釋幾個引導選項的意義 

title BluePoint Linux, Default Mode 

root (hd0,1) 

kernel /boot/vmlinuz vga=auto root=/dev/hda2 

hd0是指第一個硬碟(主硬碟) (hd0,1)是指第一個硬碟的第二個分區。 kernel /boot/vmlinuz 是指出Linux核心的路徑在/boot/vmlinuz中。vga=auto 是設定顯示模式,root=/dev/hda2是指把第一個硬碟的第二個分區作為根挂載點("/")。 

title microsoft Windows 

root (hd1,0) 

chainloader (hd1,0)+1 

root (hd1,0)這是指第二個硬碟(從硬碟)上第一個分區 

chainloader (hd1,0)+1 裝入一個扇區的資料然後把引導權交給它。 

5. 從軟碟啟動grub

  制作啟動盤後可以用軟碟啟動引導硬碟上的作業系統 插入制作好的啟動軟碟,進入BIOS設定軟碟啟動。軟碟啟動成功後就會進入grub的指令行模式 

grub>

  要啟動一個作業系統,首先指定引導哪個分區上的系統,例如要引導指第一個硬碟上的第一個分區的作業系統,先鍵入 

grub>root (hd0,0) 

  接着如果要啟動的是Windows系統,鍵入 

grub>chainloader (hd0,0)+1 

0  注意(hd0,0)要随着硬碟和分區的不同而改變數字。 如果要引導Linux或其他系統,應鍵入 

grub>kernel (hd0,0)/boot/vmlinuz root=/dev/hda1 

  注意hda1參數也要随着硬碟和分區的不同而改變,如從第二個硬碟的第一個分區引導則用hdb1。 

  最後敲入boot就可以啟動系統了。 

  在任何時候不能确定指令或者指令的參數都可以按Tab獲得相關的幫助。用上下鍵可以獲得指令的曆史記錄。 其實這些指令就是menu.lst的啟動描述,您也可以根據那些描述來自己鍵入啟動指令,最後敲入boot就可以引導系統了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989261/,如需轉載,請注明出處,否則将追究法律責任。

轉載于:http://blog.itpub.net/10752043/viewspace-989261/

繼續閱讀