`
txf2004
  • 浏览: 7041931 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

GRUB安装,配置及使用汇总

阅读更多

转载地址:http://www.linuxmine.com/3996.html

(一)安装linux时安装grub.
安装redhat linux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘的引导扇区MBR.grub 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT、2000、XP。
(二)grub的配置
一旦选择了grub为引导程序,下面我们来了解一下它的配置.
/boot/grub/grub.conf是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 have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,6)
# kernel /vmlinuz-version ro root=/dev/hda10
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,6)/grub/splash.xpm.gz
# --> Redhat Linux 8.0 <--
title Red Hat Linux (2.4.18-14)
root (hd0,6)
kernel /vmlinuz-2.4.18-14 ro root=LABEL=/
initrd /initrd-2.4.18-14.img
# --> Microsoft Windows XP <--
title Microsoft Windows XP
rootnoverify (hd0,0)
chainloader +1

#===========例子结束==========

配置选项解释:
以"#"开头的是注释行.
我这里有两个操作系统,分别是Red Hat Linux和Microsoft Windows XP.
其中 timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择的话,将自动选择默认的操作系统(我这里默认的是Redhat linux 8.0)
默认的操作系统是由default一项来控制的,default后的数字表明第几个是默认的,这里0表示第一个,1表示第二个.所以如果你想修改默认的操作系统,就修改default后的数字.
title一项是设置操作系统的名称,grub不支持中文(有点遗憾).
splashimage一项指定grub界面的背景图片,有兴趣的朋友可以修改grub的背景哦!
root (hd0,6)标识从第一个硬盘,第7个分区来启动搜索引导内核.注意这儿的root与linux的root分区不同,此root非彼root也! grub的硬盘标识方法与linux的有点不同.在linux中第一个主分区为hda1,第二个主分区为hda1,第一个逻辑分区为hda5,而在 grub中是以(hdx,y)来标识的,如第一个主分区为(hd0,0)第一个逻辑分区为(hd0,1)依此类推.所以这儿root后面的是你的 /boot所在分区标识.
知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。
kernel /vmlinuz-2.2.18-14 ro root=LABEL=/.说明/boot/vmlinuz-2.2.18-14 就是要载入的内核。后面的都是传递给内核的参数。ro是以readonly的意思。注意我这里内核前面的路径是"/",因为我的boot单独分了一个区, 如果你没有为boot单独分区,那么内核前面的路径就是"/boot".
initrd用来初始的linux image,并设置相应的参数
再来看一看windows的定义段吧。
这里,我添加了一项来引导 WindowsXP。要完成此操作,GRUB 使用了"链式装入器"(chainloader)。链式装入器从分区 (hd0,0) 的引导记录中装入 winXP 自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。如果你在计算机中装有win98,winme,win2k,winxp的话,chainloader会把引导权交与win的 NTLoader来引导.

(三)Grub启动盘的制作
要制作引导盘,需执行一些简单的步骤。首先,在新的软盘上创建 ext2 文件系统。然后,将其安装,并将一些 GRUB 文件复制到该文件系统,最后运行 "grub" 程序,它将负责设置软盘的引导扇区。

将一张空盘插入 1.44MB 软驱,输入:

# mke2fs /dev/fd0
创建了 ext2 文件系统后,需要安装该文件系统:

# mount /dev/fd0 /mnt/floppy
现在,需要创建一些目录,并将一些关键文件(原先安装 GRUB 时已安装了这些文件)复制到软盘:

# 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
再有一个步骤,就能得到可用的引导盘。

在linux bash中,从 root 用户运行"grub",该程序非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面(即GRUB控制台)完全相同。
在 grub> 提示符处,输入:

grub> root (fd0)
grub> setup (fd0)
grub> quit

现在,引导盘完成了。

(四).恢复被windows破坏的grub.
如果你用grub来引导linux和windows,当windows出毛病重新安装后,会破坏MBR中的grub,这时需要恢复grub.
1.把linux安装光盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。
2.等安装界面出来后,按[F4]键,也就是linux rescue模式。
3.一系列键盘以及几项简单的配制,过后就[继续]了。。。这个过程,我不说了,比较简单。
4.然后会出现这样的提示符:
sh#
5.我们就可以操作GRUB了.输入grub:
sh#grub
会出现这样的提示符:
grub>
我们就可以在这样的字符后面,输入:
grub>root (hdX,Y)
grub>setup (hd0)
如果成功会有一个successful......
这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上。

(五).用NTLoader来引导linux.
如果你在安装linux时没有选择安装grub,不必着急,现在我们来看看如何在安装linux后安装grub.并用windows的NTLoader来引导linux.
1. 安装grub
我用的grub是Redhat8.0带的grub安装包: grub-0.92-7.rpm
安装: rpm -ivh grub-0.92-7.rpm

其他安装方式也一样,只要你安装上grub就行了.RH8缺省用的grub, 1,2步骤可以
省了.

2. 建立grub的环境
cp /usr/share/grub/i386-pc/* /boot/grub

3. 生成grub的配置文件/boot/grub/menu.conf
按照上面所讲的grub.conf来生成一个配置文件.
注意了, 这里我的linux在/dev/hda4,所以menu.conf那些分区位置为(hd0,3),
你的可能不一样了,不能完全照着"画瓢"噢! 下面第3步install的中的分区位置也应该和你的系统一致.

3. 安装grub至Linux分区boot
将grub的stage1安装到/dev/hda4的boot扇区(hd0,3). 过程如下:

/sbin/grub (运行grub)
grub> install (hd0,3)/boot/grub/stage1 d (hd0,3) (hd0,3)/boot/grub/stage2 p (hd0,3)/boot/grub/menu.conf

(注意,上面"grub>"为grub的提示符,其后内容写在一行上.)

4. 取得grub的boot信息
过程如下:
dd if=/dev/hda4 of=/grub.lnx bs=512 count=1

这样得到grub的引导信息,只要用NT Loader来加载它就行了.

5. 将上面得到的grub.lnx弄到Windows的C盘根目录下
可以先把grub.lnx弄得软盘上,然后启动windows,拷贝到C:\; 情况允许也可以直接在Linux下拷贝到C:了. 我的C盘(即设备/dev/hda1)为FAT32, 可以直接从Linux下弄过去了. 如下:

mount -t vfat /dev/hda1 /mnt/c
cp /grub.lnx /mnt/c
umount /mnt/c

6. 修改NT Loader的boot.ini
在其中加入一行: C:\grub.lnx="Redhat Linux - GRUB"
加入后boot.ini的内容如下:

[boot loader]
timeout=15
default=C:\boot.lnx
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

[VGA mode]" /basevideo /sos
C:\grub.lnx="Redhat Linux - GRUB"

OK. 可以用NT Loader加载Linux了, 其实上面过程基本上和用NT Loader加载LILO一样.其基本思想就是用NT Loader来加载LILO或grub的引导区(grub.lnx), 其中的关键就是LILO或grub的引导区的获取.

(六)活用grub的交互功能
grub具有强大的交互功能.学会了将会使你受益非浅!
1.grub没有显示菜单怎么办?
当开机后进入grub界面但没了菜单,只剩下一个grub>提示符,怎么启动呢?别急,看下面:
grub>cat (hd0,6)/boot/grub/grub.conf (为了看参数)
grub>root (hd0,6)
grub>kernel (hd0,6)/vmlinuz-2.4.18-14 ro root=LABEL=/
grub>initrd (hd0,6)/initrd-2.4.18-14.img
grub>boot
OK!启动了吧!以上有些数字要根据你的实际情况更改.
以上这个方法也可以用于测试新编译的内核.
2.进入单用户模式.
有时不小心把root用户密码忘了,只能进入单用户模式来重新设置root密码.方法如下:
开机进入grub界面,按C进入命令行模式,然后按照上面的方法进行,只是在第三步要在后面加入single参数.

分享到:
评论

相关推荐

    grub4dos初级教程

    例如,如何使用grubinst_gui工具,Grub命令索引,Grub简体中文化版的使用方法,GRUBforDOS磁盘仿真命令简介,GRUB安装配置使用的汇总,以及如何为GRUB系统引导管理器加上密码等。这些内容为用户提供了更为详细的操作...

    系统安装与维护汇总

    5. **GHOST安装**:使用GHOST软件进行系统镜像的恢复安装,适用于快速部署相同配置的多台计算机。 **注意事项**: - 在安装任何操作系统前,确保数据备份,以防数据丢失。 - 检查硬件兼容性,尤其是对于特定版本的...

    ubuntu常见问题汇总大全问题解决宝典

    - **安装Gnome桌面及卸载Unity**:使用sudo apt-get install gnome-session-fallback命令安装Gnome桌面。在使用Gnome桌面之后,可以通过更改登录界面设置并使用特定命令卸载Unity。 2. **双系统引导及时间同步问题...

    BIOS方式引导、安装GPT分区的XP系统用户经验汇总

    ### BIOS方式引导、安装GPT分区的XP系统用户经验汇总 #### 一、引言 在计算机技术领域,操作系统安装及启动方式的变化始终是技术人员关注的重点。随着硬件性能的提升和软件技术的发展,传统的MBR(主引导记录)分区...

    centos 安装教程 pdf

    以上是 CentOS 4.0 的安装教程知识点汇总,包含了从安装前的硬件软件准备到具体安装步骤以及后续配置的详细介绍。对于初学者来说,这些步骤较为复杂,需要仔细阅读并按照指导逐步操作。对于有一定经验的用户,则可以...

    安装linux简易教程

    ### Linux Ubuntu 安装简易教程知识点汇总 #### 一、引言 随着开源技术的不断发展,Linux 成为了许多用户及开发者的首选操作系统之一。对于初次接触 Linux 的用户来说,掌握基本的安装流程是非常重要的。本篇文章将...

    CHM_Maded_Myself---Gentoo resource

    6. **Gentoo_Grub错误汇总.chm**:GRUB是Gentoo常用的引导加载器,这份文件集中了与GRUB相关的错误和解决办法,对于处理启动问题的用户来说是一份宝贵的参考资料。 7. **Gentoo_LVM2安装指南.chm**:LVM(逻辑卷...

    中科曙光服务器培训教程汇总:操作系统异常情况处理.pptx

    中科曙光服务器培训教程汇总:操作系统异常情况处理 本资源是中科曙光服务器培训教程汇总的操作系统异常情况处理部分,涵盖了操作系统异常情况的处理方法和工具。以下是相关知识点的总结: 1. 硬件相关工具: * ...

    制作WinPE的知识汇总

    ### 制作WinPE的知识汇总 #### 一、WinPE.INI调用过程与功能解析 在构建Windows预安装环境(WinPE)时,`WINPE.INI`扮演着核心角色,它由PE系统的`SYSTEM32\PECONFIG.INI`文件指定。此配置文件包含了PE环境启动和...

    Linux运维工程师面试常见问题汇总.pdf

    总的来说,成为一名优秀的Linux运维工程师需要广泛而深入的技能,包括但不限于系统管理、网络配置、数据库管理、安全防护、监控工具的使用、自动化脚本编写等。具备这些技能,加上良好的沟通和团队合作能力,将大大...

    linux新手管理员指南 txt

    - **引导加载器配置**:讲述了LILO和GRUB这两种引导加载器的使用方法和配置技巧。 - **网络配置**:介绍了如何配置Linux系统的网络连接,包括静态IP设置、DNS解析等。 - **X-Windows系统使用**:指导用户如何启动和...

    redhat linux教材20课程学习文档

    11.6 磁带机的介绍及使用 第十二章 软件包管理 12.1 rpm 基础 12.2 rpm 主要运行方式和常用选项 12.3 查找 rpm 信息 12.4 rpm 包的安装与删除 12.5 rpm 包的升级 12.6 rpm 命令的用法 12.7 使用rpmbuild构建自己的...

    LINUX命令汇总,参考手册,命令大全

    从给定的文件内容来看,这是一份关于Linux命令与操作的综合指南,涉及了从基本的系统配置、网络设置到软件安装与管理等多个方面。下面将对这些内容进行详细的解读与扩展,以便更好地理解每个知识点。 ### 1. 修改...

Global site tag (gtag.js) - Google Analytics