grub編譯097
① grub引導程序配置文件的重要參數
詳細情況可以參看相關文檔或文件中#號後面的注釋,如果只是重要而常用的參數的話,主要有以下幾個:
default=0
#使用default選項設置默認啟動的操作系統,0是第一個title選項所定義的操作系統.
timeout=5
#使用timeout選項設置超時時間,超過5秒後GRUB自動啟動default的操作系統.
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
#使用splahimage選項設置GRUB的背景圖片
hiddenmenu
#使用hiddenmenu選項隱藏啟動菜單,超時後自動啟動默認的操作系統.
title
Red
Hat
Enterprise
linux
Server
(2.6.18-92.e15)
title就是你為系統起的名字,顯示在啟動菜單里,所以起的名字盡量反映出系統的准確信息,比如內核版本,發行版名稱等
root
(hd0,0)
root是當前系統啟動時所要掛載的根文件系統設備
kernel
/vmlinuz-2.6.18-92.e15
kernel指定了內核鏡像的名稱(一般都是vmlinuz-版本號)
initrd
/initrd-2.6.18-92.e15.img
initrd指定了內核啟動所用到的初始內存文件系統鏡像名稱,這個一般是在編譯內核時同時生成的
常用的就是這些了,掌握這些基本就可以在啟動菜單里配置一個新的引導項了。
希望有所幫助,如有疑問歡迎追問!
② grub命令編譯出錯,求解救!
電腦出現grub問題開不了機,建議如下:
按F5跳過檢索,建議開機後用網路衛士全面體檢電腦
這個是硬碟讀取問題,正常的,有時候電腦硬碟會出現
如果以上方法無效或者開不了機,建議修復引導boot或者重裝系統。
③ 如何配置grub
修改/boot/grub/grub.conf文件。其中
「default=n」(n是個數字)是grub引導菜單默認被選中的項,n從0開始,0表示第一項,1表示第二項,依此類推。
「timeout=x」(x是一個數)是超時時間,單位是妙。也就是引導菜單顯示後,如果x秒內用戶不進行選擇,那麼grub將啟動默認項。
「splashimage
=」,這是引導菜單的背景圖,先不理他。
其它常用項我用下面的例子來說明:
title
Red
Hat
8.0
root
(hd1,6)
kernel
/boot/vmlinuz-2.4.18-14
ro
root=/dev/hdb7
initrd
/boot/initrd-2.4.18-14.img
其中"Red
Hat
8.0"是在啟動菜單列表裡顯示的名字
root
(hdx,y)用來指定你的boot分區位置,如果你沒有分boot分區(本例就沒分boot分區),那就指向根分區就行了,hdx是linux所在硬碟,hd0是第一塊硬碟,hd1是第二塊,依此類推。y是分區位置,從0開始,也就是等於分區號減一,比如你要指向的分區是hdx7,那麼y就是6,如果是hdx1,那y就是0。注意root後面要有一個空格。
kernel
/boot/vmlinuz-2.4.18-14,其中"/boot/vmlinuz-2.4.18-14"是你要用的內核路徑,如果你編譯了心內核,把它改成你的新內核的路徑就行了。
ro就不用管,寫上不會有錯。
root=/dev/hdxx指定根分區,本例是hdb7,所以root=/dev/hdb7
上面是linux的,下面是windows的
title
windows
98
rootnoverify
(hd0,0)
chainloader
+1
title
不用解釋了,上面有解釋。
rootnoverify
(hdx,y)用來指定windows所在分區,x,y跟上面一樣,注意rootnoverify後有空格。
chainloader
+1照抄就行,注意空格。
④ grub的作用是什麼
1. 什麼是grub
grub 是一個多重啟動管理器。grub是GRand Unified Bootloader的縮寫,它可以在
多個操作系統共存時選擇引導哪個系統。它可以引導的操作系統包括Linux,FreeBSD,So
laris,NetBSD,BeOSi,OS/2,Windows95/98,Windows NT,Windows2000。它可以載入操作系
統的內核和初始化操作系統(如Linux,FreeBSD),或者把引導權交給操作系統(如Win
dows 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鍵則可以取消啟動畫面顯示菜單選項。藍點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則默認啟動菜單第一行的操作系統,defaul
t=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/v
mlinuz 是指出Linux核心的路徑在/boot/vmlinuz中。vga=auto 是設定顯示模式,root
=/dev/hda2是指把第一個硬碟的第二個分區作為根掛載點?quot;/")。
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就可以引導系統了。
⑤ Linux內核源碼如何編譯
首先uname
-r看一下你當前的linux內核版本
1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname
-r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核
make
menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make
bzImage、make
moles、make
moles
4、安裝,make
install
5、.創建系統啟動映像,到
/boot
目錄下,執行
mkinitramfs
-o
initrd.img-2.6.36
2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於
/boot/grub/grub.cfg
文件的設置,找到if
[
"${linux_gfx_mode}"
!=
"text"
]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry
'Ubuntu,
with
Linux
3.2.0-35-generic'
--class
ubuntu
--class
gnu-linux
--class
gnu
--class
os
{
recordfail
gfxmode
$linux_gfx_mode
insmod
gzio
insmod
part_msdos
insmod
ext2
set
root='(hd0,msdos1)'
search
--no-floppy
--fs-uuid
--set=root
9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic
root=UUID=9961c170-2566-41ac-8155-18f231c1bea5
ro
quiet
splash
$vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改
set
default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。
重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make
menuconfig這一步,改好後就萬事ok了。
最後再用uname
-r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?
打字不易,如滿意,望採納。
⑥ 如何在Linux上通過GRUB添加內核參數
編輯修改grub引導配置文件,在載入內核命令(對於grub legacy,為kernel,grub2為linux)那一行後面添加需要的參數;或者直接在命令行界面輸入相應命令後面添加參數。
⑦ 電腦開機出來grub什麼意思
電腦開機出現這個說明你電腦安裝有多個操作系統。
你可以選擇使用,也可以刪除其他幾個,只留下一個。
GNU GRUB(GRand Unified Bootloader簡稱「GRUB」)是一個來自GNU項目的多操作系統啟動程序。GRUB是多啟動規范的實現,它允許用戶可以在計算機內同時擁有多個操作系統,並在計算機啟動時選擇希望運行的操作系統。GRUB可用於選擇操作系統分區上的不同內核,也可用於向這些內核傳遞啟動參數。
(7)grub編譯097擴展閱讀
電腦程序
簡單說,計算機程序就是計算機執行指令的一個序列。它既可以只是幾條執行某個簡單任務的指令,也可能要操作巨大數據量的復雜指令隊列。許多計算機程序包含有百萬計的指令,而其中很多指令可能被反復執行。
在2005年,一台典型的個人電腦可以每秒執行大約30億條指令。計算機通常並不會執行一些很復雜的指令來獲得額外的機能,更多地它們是在按照程序員的排列來運行那些較簡單但為數眾多的短指令。
一般情況下,程序員們是不會直接用機器語言來為計算機寫入指令的。那麼做的結果只能是費時費力、效率低下而且漏洞百出。所以,程序員一般通過「高級」一些的語言來寫程序,然後再由某些特別的計算機程序,如解釋器或編譯器將之翻譯成機器語言。
一些編程語言看起來很接近機器語言,如匯編程序,被認為是低級語言。而另一些語言,如即如抽象原則的Prolog,則完全無視計算機實際運行的操作細節,可謂是高級語言。
對於一項特定任務,應該根據其事務特點,程序員技能,可用工具和客戶需求來選擇相應的語言,其中又以客戶需求最為重要。
GNU GRUB 和GRUB是GRand Unified Bootloader的縮寫,它是一個多重操作系統啟動管理器。用來引導不同系統,如windows,linux。
在X86架構的機器中,Linux、BSD 或其它Unix類的操作系統中GRUB、LILO 是大家最為常用,應該說是主流。
Windows也有類似的工具NTLOADER;比如我們在機器中安裝了Windows
98後,我們再安裝一個Windows XP ,在機器啟動的會有一個菜單讓我們選擇進入Windows 98 還是進入Windows
XP。NTLOADER就是一個多系統啟動引導管理器,NTLOADER 同樣也能引導Linux,只是極為麻煩罷了。
在PowerPC 架構的機器中,如果安裝了Linux的Powerpc 版本,大多是用yaboot 多重引導管理器,比如Apple機用的是IBM PowerPC處理器,所以在如果想在Apple機上,安裝Macos 和Linux Powerpc 版本,大多是用yaboot來引導多個操作系統。
因為X86架構的機器仍是主流, 所以目前GRUB和LILO 仍然是我們最常用的多重操作系統引導管理器。
⑧ 什麼是GRUB
1. 什麼是grub
grub 是一個多重啟動管理器。grub是GRand Unified Bootloader的縮寫,它可以在
多個操作系統共存時選擇引導哪個系統。它可以引導的操作系統包括Linux,FreeBSD,So
laris,NetBSD,BeOSi,OS/2,Windows95/98,Windows NT,Windows2000。它可以載入操作系
統的內核和初始化操作系統(如Linux,FreeBSD),或者把引導權交給操作系統(如Win
dows 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鍵則可以取消啟動畫面顯示菜單選項。藍點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則默認啟動菜單第一行的操作系統,defaul
t=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/v
mlinuz 是指出Linux核心的路徑在/boot/vmlinuz中。vga=auto 是設定顯示模式,root
=/dev/hda2是指把第一個硬碟的第二個分區作為根掛載點?quot;/")。
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就可以引導系統了。