GRUB咋樣配置 多重啟動管理器

2021-03-31 08:56:30 字數 4021 閱讀 4631

附:一點小小的補充:

1.在配置時/boot/grub/menu.lst實際是乙個鏈結檔案,他指向的目標檔案是boot/grub/grub.conf 這個檔案.

2.在配置boot/grub/grub.conf 時還有乙個文中未提到的引數就是時password --md5 $1$l6d3dasb$g60agbtow7lshkoxrooey/這是加過密的grub密碼的存放位置,千萬不要動.

grub簡單的指導

1. 什麼是grub

grub 是乙個多重啟動管理器。grub是grand unified bootloader的縮寫,它可以在多個作業系統共存時選擇引導哪個系統。它可以引導的作業系統包括linux,freebsd,solaris,***bsd,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 bs=512 seek=1

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

也可以用mkbootdisk命令 #mkbootdisk 2.2.16

2.2.16是指核心版本號

* 開機

安裝了grub開機後會出現乙個選單,列出所有的啟動選項。如果設定了啟動畫面則會顯示啟動畫面,按esc鍵則可以取消啟動畫面顯示選單選項。用上下鍵可以選擇選單項,按回車啟動所選項。按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

注意(hd0,0)要隨著硬碟和分割槽的不同而改變量字。 如果要引導linux或其他系統,應鍵入

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

注意hda1引數也要隨著硬碟和分割槽的不同而改變,如從第二個硬碟的第乙個分割槽引導則用hdb1。

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

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

vista xp linux多重啟動

ubuntu與xp或vista多啟動問題 ubuntu與xp或vista多啟動問題 a,如果是xp vista 與ubuntu之間,先裝xp,後裝ubuntu,ubuntu會在grub中加入xp啟動項。可以手動新增 對應xp,vista,2003的 title microsoft windows x...

玩轉Windows多重啟動的重要檔案

現在安裝多重啟動系統的朋友越來越多了,但是很少有人能夠完全知道,在多重啟動系統中的幾個重要檔案的作用是什麼。下面讓筆者簡單地予以介紹,希望大家以後能關注這些檔案,以備不時之需。由於windows 95 98 me 以下簡稱win9x 和windows nt 2000 xp server 2003 以...

oracle 重啟動 網路收藏

update test set x 1 where y 1 delete from test where y 1 它是分為兩步 1.根據where條件找出表中滿足更新條件的資料行 2.更新步驟1中所找出的資料行的x值。假如test表很大,update要執行好幾分鐘,而且在步驟1期間有人將某一行的y值...