www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 1 首先要了解的幾個(gè)概念 1.1 啟動(dòng)管理器 啟動(dòng)管理器是存儲(chǔ)在磁盤(pán)開(kāi)始扇區(qū)中的一段程序,例如,硬盤(pán)的MBR(

1 首先要了解的幾個(gè)概念

1.1 啟動(dòng)管理器

啟動(dòng)管理器是存儲(chǔ)在磁盤(pán)開(kāi)始扇區(qū)中的一段程序,例如,硬盤(pán)的MBR(Master Boot Record),在系統(tǒng)完成啟動(dòng)測(cè)試后,如果系統(tǒng)是從MBR啟動(dòng),則BIOS(Basic Input/Output System)將控制傳送給MBR。然后存儲(chǔ)在MBR中的這段程序?qū)⑦\(yùn)行。這段程序被稱為啟動(dòng)管理器。它的任務(wù)就是將控制傳送給操作系統(tǒng),完成啟動(dòng)過(guò)程》有許多可用的啟動(dòng)管理器,包括GNU GRUB (Grand Unified Boot Loader),Bootmanager, LILO (LInux LOader), NTLDR (boot loader for Windows NT systems),等等等.

1.2 什么是GRUB?

grub 是一個(gè)多重啟動(dòng)管理器。grub是GRand Unified Bootloader的縮寫(xiě),它可以在多個(gè)操作系統(tǒng)共存時(shí)選擇引導(dǎo)哪個(gè)系統(tǒng)。它可以引導(dǎo)的操作系統(tǒng)包括:

Linux,FreeBSD,Solaris,NetBSD,BeOSi,OS/2,Windows95/98,Windows NT,Windows2000,WinXP。它可以載入操作系統(tǒng)的內(nèi)核和初始化操作系統(tǒng)(如Linux,FreeBSD),或者把引導(dǎo)權(quán)交給操作系統(tǒng)(如Windows 98)來(lái)完成引導(dǎo)。

1.3 GRUB的特點(diǎn)

特別適用于linux與其它操作系統(tǒng)共存情況。

支持大硬盤(pán) 現(xiàn)在大多數(shù)Linux發(fā)行版本的lilo都有同樣的一個(gè)問(wèn)題:根分區(qū)(/boot分區(qū))不能分在超過(guò)1024柱面的地方,一般是在8.4G左右的地方,否則lilo不能安裝,或者安裝后不能正確引導(dǎo)系統(tǒng)。而grub就不會(huì)出現(xiàn)這種情況,只要安裝時(shí)你的大硬盤(pán)是在LBA模式下,grub就可以引導(dǎo)根分區(qū)在8G以外的操作系統(tǒng)。

支持開(kāi)機(jī)畫(huà)面   grub支持在引導(dǎo)開(kāi)機(jī)的同時(shí)顯示一個(gè)開(kāi)機(jī)畫(huà)面。對(duì)于玩家來(lái)說(shuō),這樣可以制作自己的個(gè)性化開(kāi)機(jī)畫(huà)面;對(duì)于PC廠商,這樣可以在開(kāi)機(jī)時(shí)顯示電腦的一些信息和廠商的標(biāo)志等。grub支持640x480,800x600,1024x768各種模式的開(kāi)機(jī)畫(huà)面,而且可以自動(dòng)偵測(cè)選擇最佳模式,與Windows那320x400的開(kāi)機(jī)畫(huà)面不可同日而語(yǔ)。

兩種執(zhí)行模式 grub不但可以通過(guò)配置文件進(jìn)行例行的引導(dǎo),還可以在選擇引導(dǎo)前動(dòng)態(tài)改變引導(dǎo)時(shí)的參數(shù),還可以動(dòng)態(tài)加載各種設(shè)備。例如你在Linux下編譯了一個(gè)新的核心,但不能確定它能不能工作,你就可以在引導(dǎo)時(shí)動(dòng)態(tài)改變grub的參數(shù),嘗試裝載這個(gè)新的核心進(jìn)行使用。Grub的命令行有非常強(qiáng)大的功能,而且支持如bash或doskey一樣的歷史功能,你可以用上下鍵來(lái)尋找以前的命令。

菜單式選擇   grub使用一個(gè)菜單來(lái)選擇不同的系統(tǒng)進(jìn)行引導(dǎo)。你還可以自己配置各種參數(shù),如延遲時(shí)間,默認(rèn)操作系統(tǒng)等。

分區(qū)大小改變后不必重新配置   grub是通過(guò)文件系統(tǒng)直接把核心讀取到內(nèi)存,因此只要操作系統(tǒng)核心的路徑?jīng)]有改變,grub就可以引導(dǎo)系統(tǒng)。

除此之外,Grub還有許多非常強(qiáng)大的功能。例如支持多種外部設(shè)備,動(dòng)態(tài)裝載操作系統(tǒng)內(nèi)核,甚至可以通過(guò)網(wǎng)絡(luò)裝載操作系統(tǒng)核心。Grub支持多種文件系統(tǒng),支持多種可執(zhí)行文件格式,支持自動(dòng)解壓,可以引導(dǎo)不支持多重引導(dǎo)的操作系統(tǒng),支持網(wǎng)絡(luò)啟動(dòng)等。

1.4 MBR和第一扇區(qū)

你可以簡(jiǎn)單的理解為MBR是整個(gè)硬盤(pán)的物理第一位置,而第一扇區(qū)是硬盤(pán)的物理第二位置.

1.5 一個(gè)GRUB配置文件

基于本例的分區(qū)如下:

hda 15G

hda1 8G / RED HAT LINUX8.0

hda5 7G /home

hdc 20G

hdc1 6.4G WinXP

hdc5 6.4G

hdc6 6.4G

hdc7 6.4G

#fdisk -l

# Disk /dev/hdc: 255 heads, 63 sectors, 2434 cylinders

Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System

/dev/hdc1 * 1 894 7181023+ b Win95 FAT32

/dev/hdc2 895 2434 12370050 f Win95 Ext'd (LBA)

/dev/hdc5 895 1787 7172991 b Win95 FAT32

/dev/hdc6 1788 2434 5196996 b Win95 FAT32

Disk /dev/hda: 255 heads, 63 sectors, 1867 cylinders

Units = cylinders of 16065 * 512 bytes

Device Boot Start End Blocks Id System

/dev/hda1 * 1 1020 8193118+ 83 Linux

/dev/hda2 1021 1802 6281415 83 Linux

/dev/hda3 1803 1867 522112+ 82 Linux swap

grub.conf,這個(gè)文件位于;/boot/grub/grub.conf

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You do not have a /boot partition. This means that

# all kernel and initrd paths are relative to /, eg.

# root (hd0,0)

# kernel /boot/vmlinuz-version ro root=/dev/hda1

# initrd /boot/initrd-version.img

#boot=/dev/hda

default=0

timeout=3

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

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

title Microsoft Windows XP

map (hd0) (hd1)

map (hd1) (hd0)

root (hd1,0)

chainloader (hd1,0)+1

makeactive

boot

2 解讀grub.conf文件

我們將來(lái)看看grub.conf文件內(nèi)語(yǔ)句,(注:...)內(nèi)的東西是我們的解讀內(nèi)容.

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You do not have a /boot partition. This means that

# all kernel and initrd paths are relative to /, eg.

# root (hd0,0)

# kernel /boot/vmlinuz-version ro root=/dev/hda1

# initrd /boot/initrd-version.img

#boot=/dev/hda (注:以上以符號(hào)井"#"開(kāi)頭的行表示被注釋掉,沒(méi)有任何意義)

default=0 (注:默認(rèn)的操作系統(tǒng)就是由default控制的。default后加一個(gè)數(shù)字n,表明是第 n+1個(gè)。需要注意的是,GRUB中,計(jì)數(shù)是從0開(kāi)始的,第一個(gè)硬盤(pán)是hd0,第一 個(gè)軟驅(qū)是fd0,等等。所以,default 0 表示默認(rèn)的操作系統(tǒng)在這兒是 Red Hat Linux (2.4.18-14)如果你修改成1就是WinXP了)[!--empirenews.page--]

timeout=3 (注:timeout表示默認(rèn)等待的時(shí)間,這兒是3秒鐘。超過(guò)3秒,用戶還沒(méi)有作出選 擇的話,系統(tǒng)將自動(dòng)選擇默認(rèn)的操作系統(tǒng);當(dāng)然你可以改成任何你樂(lè)意的時(shí)間)

splashimage=(hd0,0)/boot/grub/splash.xpm.gz (注:指定開(kāi)機(jī)畫(huà)面文件splash.xpm.gz的位置)

title Red Hat Linux (2.4.18-14) (注:表示Red Hat Linux的菜單項(xiàng))

root (hd0,0) (注:表示第一個(gè)硬盤(pán)第一個(gè)分區(qū),這里的root和系 統(tǒng)內(nèi)的root不是一碼事!詳細(xì)如下說(shuō)明)

kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/ (注:指定內(nèi)核的位置,詳細(xì)說(shuō)明如下 文)

initrd /boot/initrd-2.4.18-14.img (注:初始化)

title Microsoft Windows XP (注:表示Microsoft Windows XP的菜單項(xiàng))

map (hd0) (hd1) (注:map是命令,詳細(xì)如下)

map (hd1) (hd0)

root (hd1,0) (注:這是指第二個(gè)硬盤(pán)(從硬盤(pán))上第一個(gè)分區(qū))

chainloader (hd1,0)+1 (注:鏈?zhǔn)窖b入器,裝入一個(gè)扇區(qū)的數(shù)據(jù)然后把引導(dǎo) 權(quán)交給它。詳細(xì)說(shuō)明如下)

makeactive

boot

(注:在 Linux 中,當(dāng)談到 "root" 文件系統(tǒng)時(shí),通常是指主 Linux 分區(qū)。但是,GRUB 有它自己的 root 分區(qū)定義。GRUB 的 root 分區(qū)是保存 Linux 內(nèi)核的分區(qū)。這可能是您的正式 root 文件系統(tǒng),也可能不是。我們討論的是 GRUB,需要指定 GRUB 的 root 分區(qū)。進(jìn)入 root 分區(qū)時(shí),GRUB 將把這個(gè)分區(qū)安裝成只讀型,這樣就可以從該分區(qū)中裝入 Linux 內(nèi)核。GRUB 的一個(gè)很“酷”的功能是它可以讀取本機(jī)的 FAT、FFS、minix、ext2 和 ReiserFS 分區(qū).到目前為止,您可能會(huì)感到一點(diǎn)疑惑,因?yàn)?GRUB 所使用的硬盤(pán)/分區(qū)命名約定與 Linux 使用的命名約定不同。在Linux 中,第一個(gè)硬盤(pán)的第五個(gè)分區(qū)稱作 "hda5"。而 GRUB 把這個(gè)分區(qū)稱作 "(hd0,4)"。GRUB 對(duì)硬盤(pán)和分區(qū)的編號(hào)都是從 0 開(kāi)始計(jì)算。另外,硬盤(pán)和分區(qū)都用逗號(hào)分隔,整個(gè)表達(dá)式用括號(hào)括起。現(xiàn)在,可以發(fā)現(xiàn)如果要引導(dǎo) Linux 硬盤(pán) hda5,應(yīng)輸入 "root (hd0,4)"。

知道了內(nèi)核在哪兒,還要具體指出哪個(gè)文件是內(nèi)核文件,這就是kernel的工作。

kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/說(shuō)明/boot/vmlinuz-2.4.18-14就是要載入的內(nèi)核。后面的都是傳遞給內(nèi)核的參數(shù)。root=LABEL=/就是linux的硬盤(pán)分區(qū)表示法,ro是readonly的意思。initrd用來(lái)初始的linux image,并設(shè)置相應(yīng)的參數(shù)。

命令map:當(dāng)你有兩塊硬盤(pán),一個(gè)無(wú)法從第二塊硬盤(pán)啟動(dòng)的操作系統(tǒng),例如Windowsxp,就可以使用map命令.你能夠?qū)d0映射為hd1,將hd1映射為hd0。換句話說(shuō),你可以虛擬的交換兩個(gè)硬盤(pán)而啟動(dòng)所需要的操作系統(tǒng) 。命令形式如下:

grub> map (hd0) (hd1)

grub> map (hd1) (hd0)

GRUB 使用了“鏈?zhǔn)窖b入器”(chainloader)。鏈?zhǔn)窖b入器從分區(qū) (hd1,0) 的引導(dǎo)記錄中裝入winxp自己的引導(dǎo)裝入器,然后引導(dǎo)它。這就是這種技術(shù)叫做鏈?zhǔn)窖b入的原因 -- 它創(chuàng)建了一個(gè)從引導(dǎo)裝入器到另一個(gè)的鏈。這種鏈?zhǔn)窖b入技術(shù)可以用于引導(dǎo)任何版本的 DOS 或 Windows。

GRUB的配置文件要簡(jiǎn)單就這么簡(jiǎn)單,如果你要更個(gè)性化一點(diǎn),試一試把“color light-gray/blue ”加在default語(yǔ)句的下面,下一次啟動(dòng)GRUB時(shí),看看有什么變化,再試一試“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

這個(gè)命令將解開(kāi)的文件和目錄放在一個(gè)名為grub-0.5.96.1的目錄中?,F(xiàn)在運(yùn)行如

下命令:

#cd grub-0.5.96.1

# ./configure

如果你想定制GRUB,使之包含流行的文件系統(tǒng)和對(duì)網(wǎng)卡的支持,或者刪除你不需要的網(wǎng)卡,可以運(yùn)行如下命令:

# ./configure --help

這個(gè)命令將輸出所有的命令選項(xiàng)?,F(xiàn)在可以使用—enable和—disable選項(xiàng)增加或

刪除對(duì)特定網(wǎng)卡的支持。(注意:GRUB支持網(wǎng)絡(luò)啟動(dòng))

為了開(kāi)始編譯過(guò)程,鍵入如下命令:

# make

# make install

至此你已經(jīng)為安裝GRUB真正做好了準(zhǔn)備。

將GRUB的相關(guān)文件保存在諸如/boot/grub的目錄中是一個(gè)好主意。為此,按如下步驟:

1.默認(rèn)狀態(tài)下,GRUB所有文件將安裝在/usr/share/grub/i386-pc(或者在

/usr/local/share/grub/i386-pc目錄下,這只取決于你的shell變量的設(shè)置。)

2.建立一個(gè)叫做/boot/grub的目錄,然后拷貝下列文件到這個(gè)目錄:

stage1 stage2 * stage1 5

稍候?qū)⒔忉屵@些文件。同時(shí)也要把GRUB(可能在/usr/sbin或者/usr/local/sbin

目錄下)拷貝到/boot/grub目錄下。

安裝GRUB可以分為三個(gè)單獨(dú)的步驟:

1.將“stage1”安裝到MBR中。

2.設(shè)置“stage2”的地址或者位置。

3.設(shè)置一個(gè)菜單或選項(xiàng),用來(lái)決定啟動(dòng)哪一個(gè)操作系統(tǒng)。

使用下面的命令開(kāi)始安裝GRUB。

#cd /boot/grub

# ./grub

這個(gè)命令根據(jù)BIOS的設(shè)置檢測(cè)硬件設(shè)備,同時(shí)產(chǎn)生一些輸出信息。這會(huì)花較長(zhǎng)的時(shí)間。

end_request: I/O error, dev 02:00 (floppy), sector 0

GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

TAB鍵可列出可能的命令列表。其它情況下TAB會(huì)列出設(shè)備或文件名。類似下面的提示會(huì)出現(xiàn):

grub>

現(xiàn)在,假設(shè)你將Linux安裝在了第一塊硬盤(pán)的第一個(gè)分區(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

現(xiàn)在分析一下這個(gè)命令的細(xì)節(jié)。

install

一個(gè)內(nèi)置的命令,它告訴GRUB將(hd0,0)/boot/grub/stage1安裝到hd0的主引導(dǎo)紀(jì)錄中。

(hd0,0)/boot/grub/stage2[!--empirenews.page--]

告訴GRUB stage2映象的位置。

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

為菜單的顯示設(shè)置配置文件。

下面是對(duì)這個(gè)命令用法的總結(jié):

1.install

2.ource_of_stage1

3.where_to_install

4.source_of_stage2

5.p source_of_configuration_file

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

在軟盤(pán)上的安裝:

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

安裝stage1到軟盤(pán)上:

插入一張已格式化的軟盤(pán),鍵入命令:

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

命令的詳細(xì)說(shuō)明如下:

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ù)目的塊到目標(biāo)地址。

安裝stage2到軟盤(pán)

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

這里的步驟同stage1的相同,除了一個(gè)seek選項(xiàng)外。Seek選項(xiàng)將調(diào)過(guò)一個(gè)“bs”。例如,在上面的命令中bs的值是512,這樣seek=1意味著將跳過(guò)軟盤(pán)上前512個(gè)字節(jié) ,從513字節(jié)開(kāi)始。這將使得第一步操作不會(huì)覆蓋stage1的前512字節(jié)。

現(xiàn)在你完成了基本的軟盤(pán)驅(qū)動(dòng)器安裝。

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

3.2 配置grub

grub啟動(dòng)時(shí)會(huì)在/boot/grub/中尋找一個(gè)名字為menu.lst的配置文件,如果找不到此文件則不進(jìn)入菜單模式而直接進(jìn)入命令行模式。

現(xiàn)在,我們來(lái)看一下如何在啟動(dòng)后進(jìn)入各種操作系統(tǒng),如何建立menu.conf文件。我們就從GRUB支持的啟動(dòng)過(guò)程開(kāi)始。可以有兩種方法來(lái)完成啟動(dòng)過(guò)程:

·A.通過(guò)調(diào)用內(nèi)核本地啟動(dòng)

·B.連續(xù)啟動(dòng)或者將控制轉(zhuǎn)給另一個(gè)引導(dǎo)器

A模式啟動(dòng)過(guò)程

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

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

3.重新啟動(dòng),試一下。

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

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

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

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

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

或者NTLDR):

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

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

3.配置需要啟動(dòng)的分區(qū)的第一個(gè)扇區(qū)

4.重新啟動(dòng),看一下效果。

我們?cè)谠囋噯?dòng)安裝在/dev/hdc1或者(hd1,0)的widows。啟動(dòng)windows的過(guò)程如下:

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文件:它用于建立啟動(dòng)多操作系統(tǒng)時(shí)的菜單。建立menu.conf并不難。它使用簡(jiǎn)單的英語(yǔ),就象你在這一節(jié)看到的那樣。

所有的菜單項(xiàng)目都以沒(méi)有逗號(hào)分隔的“title TITLENAME”開(kāi)頭。你可以隨意設(shè)置

TITLENAME。

設(shè)置Linux啟動(dòng)菜單步驟如下:

1.設(shè)置標(biāo)題

2.設(shè)置根分區(qū)

3.設(shè)置內(nèi)核的相應(yīng)參數(shù)

4.啟動(dòng)

一個(gè)菜單例子:

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

前面有#的行是一個(gè)注釋。

建立啟動(dòng)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也行。不過(guò)經(jīng)過(guò)實(shí)踐來(lái)看。有時(shí)引導(dǎo)win時(shí),系統(tǒng)安裝好后,是rootnoverify (hdX.Y)這樣形式的,這樣會(huì)出現(xiàn)windows起不來(lái),出現(xiàn)什么windows什么文件損壞的情況。這時(shí),我們就要把在grub中,引導(dǎo)windows的那段中的rootnoverify改為root

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

----

如果你安裝了兩個(gè)版本的Windows—一個(gè)是你自己用的,另一個(gè)給你的家人用的—這樣第二個(gè)就無(wú)法安裝,因?yàn)橛刑崾菊f(shuō)Windows已經(jīng)安裝了。

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

建立windows 項(xiàng)目"My Entry":

title My Entry

lock

unhide (hd0,0)

hide (hd0,1)

rootnoverify (hd0,0)

makeactive

chainloader +1

boot

#----

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

建立Windows 項(xiàng)目"Family Entry"

title Family Entry

unhide (hd0,1)

hide (hd0,0)[!--empirenews.page--]

rootnoverify (hd0,1)

makeactive

chainloader +1

boot

任何人都可以啟動(dòng)這個(gè)項(xiàng)目,而無(wú)須輸入密碼。

這有一個(gè)使用password命令的有趣的竅門(mén)。為了在缺省菜單列表或配置文件中隱藏某些項(xiàng)目,你可以使用下面的命令加載一個(gè)定制的列表:

password secret

在這個(gè)命令中,“secret”是密碼,而/boot/grub/secret-list.conf是密碼文件。這樣做之前,你要先進(jìn)入到根目錄或者給出全路徑名。例如:

password secret (hd0,4)/boot/grub/secret-list.conf

還有一個(gè)更重要的命令是“map”。當(dāng)你有兩塊硬盤(pán),一個(gè)無(wú)法從第二塊硬盤(pán)啟動(dòng)的操作系統(tǒng),例如Windows,就可以使用map命令。例如,你能夠?qū)d0映射為hd1,將hd1映射為hd0。換句話說(shuō),你可以虛擬的交換兩個(gè)硬盤(pán)而啟動(dòng)所需要的操作系統(tǒng) 。命令形式如下:

grub> map (hd0) (hd1)

grub> map (hd1) (hd0)

啟動(dòng)FreeBSD:

title FreeBSD 4.0

root (hd0,4,a)

kernel /boot/loader

boot

#----

這里我們調(diào)用了FreeBSD的啟動(dòng)管理器。Root (hd0,4,a)由四個(gè)參數(shù),是因?yàn)?/p>

FreeBSD對(duì)一個(gè)單獨(dú)分區(qū)進(jìn)行了虛擬分割。我們稱根分區(qū)為“a”。如果FreeBSD占

據(jù)了整個(gè)第二塊硬盤(pán),這里就應(yīng)該是root (hd0,a)。這樣,就不是調(diào)用內(nèi)核而是調(diào)用FreeBSD的啟動(dòng)管理器,它要比調(diào)用內(nèi)核更易使用。

(注意:推薦在使用OpenBSD和GNU/Hurd之前,要先試一下鏈?zhǔn)郊虞d。)

現(xiàn)在你已經(jīng)完成了基本的GRUB編譯、安裝和配置。你對(duì)GRUB了解的越多,就越會(huì)發(fā)現(xiàn)GRUB是一種控制啟動(dòng)的易用和高效的方法。

各種GRUB命令:

default xx

表明xx是缺省的啟動(dòng)項(xiàng)目

timeout yy

表明在yy秒后缺省啟動(dòng)項(xiàng)目將啟動(dòng)

fallback zz

在第一個(gè)啟動(dòng)項(xiàng)目失敗后,過(guò)了timeout時(shí)間后,就將啟動(dòng)zz項(xiàng)目。

color

這個(gè)命令將生成彩色菜單。它的語(yǔ)法是:color normal current_selection。這兩個(gè)域都可以有兩個(gè)值,形如foreground/background。例如:

color green/black or light-gray/blue

你也可以使用相關(guān)的數(shù)字。

記?。核械闹刀际菑?開(kāi)始,所以0是第一個(gè)

3.3 GRUB啟動(dòng)盤(pán)

要制作引導(dǎo)盤(pán),需執(zhí)行一些簡(jiǎn)單的步驟。首先,在新的軟盤(pán)上創(chuàng)建 ext2 文件系統(tǒng)。然后,將其安裝,并將一些 GRUB 文件復(fù)制到該文件系統(tǒng),最后運(yùn)行 "grub" 程序,它將負(fù)責(zé)設(shè)置軟盤(pán)的引導(dǎo)扇區(qū)。

將一張空盤(pán)插入 1.44MB 軟驅(qū),輸入:

# mke2fs /dev/fd0

創(chuàng)建了 ext2 文件系統(tǒng)后,需要安裝該文件系統(tǒng):

# mount /dev/fd0 /mnt/floppy

現(xiàn)在,需要?jiǎng)?chuàng)建一些目錄,并將一些關(guān)鍵文件(原先安裝 GRUB 時(shí)已安裝了這些文件)復(fù)制到軟盤(pán):

# mkdir /mnt/floppy/boot

# mkdir /mnt/floppy/boot/grub

# cp /boot/grub/stage1 /mnt/floppy/boot/grub

# cp /boot/grub/stage2 /mnt/floppy/boot/grub

再有一個(gè)步驟,就能得到可用的引導(dǎo)盤(pán)。

在linux bash中,從 root 用戶運(yùn)行“grub”,該程序非常有趣并值得注意,因?yàn)樗鼘?shí)際上是GRUB 引導(dǎo)裝入器的半功能性版本。盡管 Linux 已經(jīng)啟動(dòng)并正在運(yùn)行,您仍可以運(yùn)行 GRUB 并執(zhí)行某些任務(wù),而且其界面與使用 GRUB 引導(dǎo)盤(pán)或?qū)?GRUB 安裝到硬盤(pán) MBR 時(shí)看到的界面(即GRUB控制臺(tái))完全相同。

在 grub> 提示符處,輸入:

grub> root (fd0)

grub> setup (fd0)

grub> quit

現(xiàn)在,引導(dǎo)盤(pán)完成了。

如果要把GRUB裝到硬盤(pán)上,也很容易。這個(gè)過(guò)程幾乎與引導(dǎo)盤(pán)安裝過(guò)程一樣。首先,需要決定哪個(gè)硬盤(pán)分區(qū)將成為 root GRUB 分區(qū)。在這個(gè)分區(qū)上,創(chuàng)建 /boot/grub 目錄,并將 stage1 和 stage2 文件復(fù)制到該目錄中,可以通過(guò)重新引導(dǎo)系統(tǒng)并使用引導(dǎo)盤(pán),或者使用駐留版本的 GRUB 來(lái)執(zhí)行后一步操作。在這兩種情況下,啟動(dòng) GRUB,并用 root 命令指定 root 分區(qū)。例如,如果將 stage1 和 stage2 文件復(fù)制到 hda5 的 /boot/grub 目錄中,應(yīng)輸入 "root (hd0,4)"。接著,決定在哪里安裝 GRUB -- 在硬盤(pán)的 MBR,或者如果與 GRUB 一起使用另一個(gè)“主”引導(dǎo)裝入器,則安裝在特定分區(qū)的引導(dǎo)記錄中。如果安裝到 MBR,則可以指定整個(gè)磁盤(pán)而不必指定分區(qū),如下(對(duì)于 hda):

grub> setup (hd0)

如果要將 GRUB 安裝到 /dev/hda5 的引導(dǎo)記錄中,應(yīng)輸入:

grub> setup (hd0,4)

現(xiàn)在,已安裝 GRUB。引導(dǎo)系統(tǒng)時(shí),應(yīng)該立即以 GRUB 的控制臺(tái)方式結(jié)束(如果安裝到 MBR)?,F(xiàn)在,應(yīng)創(chuàng)建引導(dǎo)菜單,這樣就不必在每次引導(dǎo)系統(tǒng)時(shí)都輸入那些命令。

從軟盤(pán)啟動(dòng)grub

制作啟動(dòng)盤(pán)后可以用軟盤(pán)啟動(dòng)引導(dǎo)硬盤(pán)上的操作系統(tǒng), 插入制作好的啟動(dòng)軟盤(pán),進(jìn)入BIOS設(shè)定軟盤(pán)啟動(dòng)。軟盤(pán)啟動(dòng)成功后就會(huì)進(jìn)入grub的命令行模式

grub>

要啟動(dòng)一個(gè)操作系統(tǒng),首先指定引導(dǎo)哪個(gè)分區(qū)上的系統(tǒng),例如要引導(dǎo)指第一個(gè)硬盤(pán)上的第一個(gè)分區(qū)的操作系統(tǒng),先鍵入

grub>root (hd0,0)

接著如果要啟動(dòng)的是Windows系統(tǒng),鍵入

grub>chainloader (hd0,0)+1

注意(hd0,0)要隨著硬盤(pán)和分區(qū)的不同而改變數(shù)字。

如果要引導(dǎo)Linux或其他系統(tǒng),應(yīng)鍵入

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

注意hda1參數(shù)也要隨著硬盤(pán)和分區(qū)的不同而改變,如從第二個(gè)硬盤(pán)的第一個(gè)分區(qū)引導(dǎo)則用hdb1。

最后敲入boot就可以啟動(dòng)系統(tǒng)了。

在任何時(shí)候不能確定命令或者命令的參數(shù)都可以按Tab獲得相關(guān)的幫助。用上下鍵可以獲得命令的歷史記錄。其實(shí)這些命令就是menu.lst的啟動(dòng)描述,您也可以根據(jù)那些描述來(lái)自己鍵入啟動(dòng)命令,最后敲入boot就可以引導(dǎo)系統(tǒng)了。

4 GRUB的交互性

GRUB 最好的優(yōu)點(diǎn)之一就是其強(qiáng)健的設(shè)計(jì) -- 在不斷使用它時(shí)請(qǐng)別忘了這點(diǎn)。如果更新內(nèi)核或更改它在磁盤(pán)上的位置,不必重新安裝 GRUB。事實(shí)上,如有必要,只要更新 menu.lst 文件即可,一切將保持正常。[!--empirenews.page--]

只有少數(shù)情況下,才需要將 GRUB 引導(dǎo)裝入器重新安裝到引導(dǎo)記錄。首先,如果更改 GRUB root 分區(qū)的分區(qū)類型(例如,從 ext2 改成 ReiserFS),則需要重新安裝?;蛘撸绻?/boot/grub 中的 stage1 和 stage2 文件,由于它們來(lái)自更新版本的 GRUB,很有可能要重新安裝引導(dǎo)裝入器。其它情況下,可以不必理睬!

GRUB的最大的特點(diǎn)就是交互性特別強(qiáng)。在開(kāi)機(jī)時(shí),按一下“c”,將進(jìn)入GRUB 控制臺(tái)。顯示如下:

GRUB version 0.5.96.1 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB

lists possible command completions. Anywhere else TAB lists the possible

completions of a device/filename. ]

grub>

歡迎使用 GRUB 控制臺(tái)?,F(xiàn)在,再研究命令:

將通過(guò)GRUB 控制臺(tái)繞過(guò)lilo來(lái)啟動(dòng)RedHat linux,

grub> root (h

現(xiàn)在,按一次 Tab 鍵。如果系統(tǒng)中有多個(gè)硬盤(pán),GRUB 將顯示可能完成的列表,從 "hd0" 開(kāi)始。如果只有一個(gè)硬盤(pán),GRUB 將插入 "hd0,"。如果有多個(gè)硬盤(pán),繼續(xù)進(jìn)行,在 ("hd2" 中輸入名稱并在名稱后緊跟著輸入逗號(hào),但不要按 Enter 鍵。部分完成的 root 命令看起來(lái)如下:

grub> root (hd0,

現(xiàn)在,繼續(xù)操作,再按一次 Tab 鍵。GRUB 將顯示特定硬盤(pán)上所有分區(qū)的列表,以及它們的文件系統(tǒng)類型。在我的系統(tǒng)中,按 Tab 鍵時(shí)得到以下列表:

grub> root (hd0, (tab,按tab一下鍵)

Possible partitions are:

Partition num: 0, Filesystem type is fat, partition type 0x6

Partition num: 2, Filesystem type is ext2fs, partition type 0x83

Partition num: 4, Filesystem type unknown, partition type 0x7

Partition num: 5, Filesystem type is ext2fs, partition type 0x83

Partition num: 6, Filesystem type is fat, partition type 0xb

Partition num: 7, Filesystem type is fat, partition type 0xb

Partition num: 8, Filesystem type is ext2fs, partition type 0x83

Partition num: 9, Filesystem type unknown, partition type 0x82

如您所見(jiàn),GRUB 的交互式硬盤(pán)和分區(qū)名稱實(shí)現(xiàn)功能非常有條理。這些,只需要好好理解 GRUB 新奇的硬盤(pán)和分區(qū)命名語(yǔ)法,然后就可以繼續(xù)操作了

grub> root (hd0,8)

現(xiàn)在已安裝了 root 文件系統(tǒng),到裝入內(nèi)核的時(shí)候了

grub> kernel /boot/vmlinuz-2.4.2 root=/dev/hda5 ro

[Linux-bzImage, setup=0x1200, size=0xe1a30]

您已經(jīng)安裝了 root 文件系統(tǒng)并裝入了內(nèi)核?,F(xiàn)在,可以引導(dǎo)了。只要輸入 "boot",Linux 引導(dǎo)過(guò)程就將開(kāi)始。是不是很cool啊,GRUB的menu.lst更像一個(gè)linux下的腳本程序。

5 常見(jiàn)grub除錯(cuò)方法的思路

首先進(jìn)去Linux的rescue模式!

用軟盤(pán)或光盤(pán)啟動(dòng),然后在啟動(dòng)的提示符輸入:linux rescue

按照提示進(jìn)入一個(gè)Shell狀態(tài),你可以到/mnt/下面看到一個(gè)sysimage這么目錄,進(jìn)去以后,就是你安裝linux的/分區(qū).

使用命令將根分區(qū)變?yōu)楫?dāng)前目錄的根分區(qū):chroot /mnt/sysimage

然后轉(zhuǎn)到/sbin/這個(gè)目錄中.

使用fdisk -l 顯示當(dāng)前分區(qū)情況,然后使用#grub-install /dev/hdx(x為你使用的是那塊硬盤(pán)安裝的,一般情況下是hda)

使用exit推出chroot,再使用exit退出linux rescue模式,系統(tǒng)將重新啟動(dòng)!取出光盤(pán),應(yīng)該可以看到grub安裝好了.

在具體的環(huán)境中,編輯/boot/grub/grub.conf文件和menu.lst文件.

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉