新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 教你如何學習GRUB

教你如何學習GRUB

作者: 時間:2016-09-12 來源:網(wǎng)絡 收藏

告訴 stage2映象的位置。

p with the the following options: (hd0,0)/boot/grub/menu.conf

為菜單的顯示設置配置文件。

下面是對這個命令用法的總結:

1.install

2.ource_of_stage1

3.where_to_install

4.source_of_stage2

5.p source_of_configuration_file

現(xiàn)在,你完成了硬盤上的基本安裝工作。

在軟盤上的安裝:

為了在軟盤上安裝,你要會用“dd”命令,并且了解它是如何工作的。為了做一張啟動盤,你要將stage1和stage2文件放到軟盤的開始扇區(qū)中。

安裝stage1到軟盤上:

插入一張已格式化的軟盤,鍵入命令:

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

命令的詳細說明如下:

if=input file

i.e., stage1

of=output file

i.e., floppy drive (this may be different on your computer)

bs=bytes to read and write

Here it is 512 bytes.

count=how many times to perform this operation

每次拷貝“bs”數(shù)目的塊到目標地址。

安裝stage2到軟盤

# dd if=stage2 of=/dev/fd0 bs=512 seek=1

這里的步驟同stage1的相同,除了一個seek選項外。Seek選項將調過一個“bs”。例如,在上面的命令中bs的值是512,這樣seek=1意味著將跳過軟盤上前512個字節(jié) ,從513字節(jié)開始。這將使得第一步操作不會覆蓋stage1的前512字節(jié)。

現(xiàn)在你完成了基本的軟盤驅動器安裝。

如果已經安裝了grub要把grub重新安裝到主引導扇區(qū)上,只需要簡單打入makebootable命令就可以了。

3.2 配置grub

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

現(xiàn)在,我們來看一下如何在啟動后進入各種操作系統(tǒng),如何建立menu.conf文件。我們就從GRUB支持的啟動過程開始??梢杂袃煞N方法來完成啟動過程:

·A.通過調用內核本地啟動

·B.連續(xù)啟動或者將控制轉給另一個引導器

A模式啟動過程

1.配置跟設備或者告訴GRUB你的根文件系統(tǒng)。

2.告訴GRUB你的內核影像的位置,然后將參數(shù)傳送給內核。

3.重新啟動,試一下。

為了啟動Linux,將內核以bzImage的文件名放在/boot/目錄中,跟文件系統(tǒng)是

/dev/hda1,或者GRUB中的(hd0,0)。啟動過程如下:

1.root (hd0,0) [This sets the root partition]

2.kernel /boot/bzImage root=/dev/hda1 [This sets the kernel]

B模式啟動過程(這種模式假設當前的分區(qū)中安裝了另一個啟動管理器,例如LILO

或者NTLDR):

1.設置根分區(qū)但不要安裝它

2.激活這個分區(qū)

3.配置需要啟動的分區(qū)的第一個扇區(qū)

4.重新啟動,看一下效果。

我們在試試啟動安裝在/dev/hdc1或者(hd1,0)的widows。啟動windows的過程如下:

1.rootnoverify (hd1,0)

2.makeactive

3.chainloader +1 [+1 sets the first sector of the current root

partition]

4.boot [transfers the control and quits GRUB]

menu.conf文件:它用于建立啟動多操作系統(tǒng)時的菜單。建立menu.conf并不難。它使用簡單的英語,就象你在這一節(jié)看到的那樣。

所有的菜單項目都以沒有逗號分隔的“title TITLENAME”開頭。你可以隨意設置

TITLENAME。

設置Linux啟動菜單步驟如下:

1.設置標題

2.設置根分區(qū)

3.設置內核的相應參數(shù)

4.啟動

一個菜單例子:

title Red Hat Linux (2.4.18-14)

root (hd0,0)

kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/

initrd /boot/initrd-2.4.18-14.img

前面有#的行是一個注釋。

建立啟動Windows 或者 DOS的菜單:

title Windoze

rootnoverify (hd0,0)

makeactive

chainloader +1

boot

#----

又或者:

title Microsoft Windows XP

map (hd0) (hd1)

map (hd1) (hd0)

root (hd1,0)

chainloader (hd1,0)+1

makeactive

boot

----

注意:root和rootnoverify都是一樣的,把rootnoverify改成root也行。不過經過實踐來看。有時引導win時,系統(tǒng)安裝好后,是rootnoverify (hdX.Y)這樣形式的,這樣會出現(xiàn)windows起不來,出現(xiàn)什么windows什么文件損壞的情況。這時,我們就要把在grub中,引導windows的那段中的rootnoverify改為root

root英文的意思就是根的意思,在這里是讓知道自己所處的位置,也就是我們所安裝的/根分區(qū)所在的位置 。

----

如果你安裝了兩個版本的Windows—一個是你自己用的,另一個給你的家人用的—這樣第二個就無法安裝,因為有提示說Windows已經安裝了。

有一種簡單的方法可以安裝兩個版本的Windows,即在啟動時隱藏一個分區(qū)而使用另一個。你甚至可以為你的分區(qū)設置密碼保護,這樣可以避免別人錯誤的加載你的分區(qū)。下面介紹如何完成兩個Windows的安裝,hda1和hda2 或者 (hd0,0) 和(hd0,1),用到的命令有l(wèi)ock, password, hide 和 unhide。

建立windows 項目My Entry:

title My Entry

lock

unhide (hd0,0)

hide (hd0,1)

rootnoverify (hd0,0)

makeactive

chainloader +1

boot

#----

為了更好的使用lock命令,你需要在配置文件開頭使用password命令。Password命令的語法如下:password secret(“secret”就是密碼)。任何時候你都可以通過按p鍵兒輸入密碼。

建立Windows 項目Family Entry

title Family Entry

unhide (hd0,1)

hide (hd0,0)



關鍵詞: GRUB linux

評論


相關推薦

技術專區(qū)

關閉