首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux基础>安装配置>正文

甩开Lilo,使用Grub

http://www.oklinux.cn  2007-09-30  来源: oklinux收集整理 oklinux  会员收藏  游客收藏  【 】 
  作者: 开花石头 [文章出自: www.phpx.com]

  假如你玩过Linux ,那么你一定使用过或者知道 LILO ,这个在安装有Linux 的系统上使用最广泛的多重启动治理程序。然而笔者今天要介绍的是随 Mandrake Linux 所带的 GRUB(GRand Unified Bootloader),让我们看看它怎样来代替LILO。

  LILO 需要知道你的内核在驱动器上的实际位置,但是GRUB

  却不需要,它不仅能读文件系统还能识别内核映像,而且它还支持最新的 2.4.1 内核所带的 Reiser 日志文件系统。这意味着你不必在更新内核或者改变配置文件之后重新安装GRUB。假如BIOS 支持LBA 的话,也没有1024 柱面的问题。另外还支持网络启动和无盘客户机。

  然而,或许我们对LILO 太熟悉了吧,也或许GRUB 还有很多需要完善?总之,安装 GRUB 看起来并不是一件很轻松的事情。下面我们就具体介绍GRUB 的安装和配置。

  安装

  在 /tmp 目录下解开文件:

  # tar zxvf grub-0.5.96.1.tar.gz

  进入 "grub-0.5.96.1" 目录,编译程序:

  # ./configure

  # make

  # make install

  配置:

  和许多我们平常看到的多重启动治理程序一样,GRUB

  提供一个菜单界面(LILO 不是菜单界面的)。GRUB的

  缺省安装位置为 /boot/grub ,配置文件也放在这个目录下。缺省的配置文件名为 menu.lst,这个文件的功能就像和 lilo.conf

  一样,定义多重启动选项以及磁盘映像。

  我们来看一个 menu.lst 文件的示范例子:

  timeout 5

  color black/yellow yellow/black

  default 0

  password freeos

  title My Mandrake

  kernel (hd0,1)/vmlinuz root=/dev/hda3 idebus=66

  title My Red Hat

  kernel (hd0,6)/boot/vmlinuz root=/dev/hda7 idebus=66

  title W2K Pro

  root (hd0,0)

  makeactive

  chainloader 1

  让我们具体分析一下各个选项的含义:

  timeout - 缺省入口的显示延迟时间(秒)

  color - 菜单显示的颜色组合,第一组颜色为前景色和背景色,

  第二组为高亮时的组合。

  default - 定义缺省的启动入口,这里的 0 就是使用定义的第一个入口。

  password - 定义进入GRUB 高级特性时需要的口令。GRUB 利用其能读取文件系统的特色,提供十分强大的功能。例如用户可以在grub 的启动提示符下输 'cat /etc/shadow' 来读包含加密口令的文件,而不需要进入你的系统!所以,为你的系统设置一个口令十分重要。

  下面分析启动入口,每一个入口都应该以一个 'title' 的要害字开始,后面跟上对该启动入口的描述。接下来就是 'kernel' 入口,

  kernel (hd0,1)/vmlinuz root=/dev/hda3 hdc=ide-scsi

  根据 GRUB 对设备的命名规则,我们可以很轻易的理解上面这行的含义:软驱设备名为 fdx ,硬盘为 hdx,需要记住的是 GRUB 从0 开始计数,所以第一台硬盘为 hd0 而不是 hd1。设备名用括号括起来,硬盘上的分区用逗号连接。例如 (hd0,1) 表示第一台硬盘上的第二个分区,而 (hd1,5) 就表示第二台硬盘上的第一个逻辑分区。

  GRUB 能读取大多数文件系统,上面这一行指定 GRUB 寻找

  位于第一台硬盘上第二基本分区上的 /vmlinuz 文件,你也需要指定 'root=/dev/hda3' (假设你的根文件系统位于/dev/hda3),否则内核就不能挂接上根文件系统,之后就是你自己想加入的其他参数了。这些参数就和LILO 启动时传递给内核的参数一样,或者说和 lilo.conf 中 append 后面的参数一样。

  另外一个比较非凡的入口是启动Windows 2000 的入口,root 入口指向 Windows 2000 的安装位置(C:\\),接下来的入口设置分区的激活标志,最后的入口告诉 GRUB 搜索分区的第一个扇区来启动那里的操作系统。

  以上是对GRUB 的一个典型的多重启动设置的分析,在正式开始安装GRUB 之前,建议你手头有一张LILO 启动盘或者一张应急启动盘,以防不测。

  以root 登录,输入"grub"命令以后,就会看到如下的画面:

  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 提示符,我们要在这个提示符下面安装GRUB。

  grub> install (hd0,1)/boot/grub/stage1 d (hd0) (hd0,1)/boot/grub/stage2 p (hd0,1)/boot/grub/menu.lst

  GRUB 分为两个主要的步骤, stage1 和 stage2。Stage1 是一段嵌入MBR 的迷你代码。Stage2 是主要部分,在 stage1 把控制权传递给它后,就由它来接管所有事情。

  install 后面指定stage1 的位置,我们不仅说明了其分区

  位置:(hd0,1),因为 GRUB 能读取文件系统,所以还说

  明了分区上目录位置:/boot/grub/stage1,d 参数表示 stage1 将寻找 stage2 所在的磁盘。接着就是 GRUB 的安装位置:(hd0) ,这里就是指安装在MBR。后面的参数指定 stage2 的位置:(hd0,1),和 stage1 的定义一样。p 参数指定 menu.lst 文件的位置。

  对于 /boot 作为单独的分区的例子,需要采用下面的命令行:

  grub> install (hd0,1)/grub/stage1 d (hd0) (hd0,1)/boot/grub/stage2 p (hd0,1)/grub/menu.lst

  以上例子假设 /boot 位于 (hd0,1) (也就是hda2),而 / 位于(hd0,2) (也就是 hda3) ,我们不能用 '(hd0,2)/boot/grub/stage1' ,因为GRUB 不知道 (hd0,1) 是 /boot ,所以必须首先指向挂接为 /boot 的分区,然后把目录指向那里。

  重新启动系统以后,就可以看到 GRUB 菜单了。看起来似乎很繁琐,这么长的命令行,是的!对于那些 LILO 能正常使用的人来说,或许没有必要来玩这个危险游戏。但是,对于那些想使用 GRUB 增强功能的人来说,试一下 GRUB 或许会有意想不到的惊喜。我的朋友告诉我说他不能用 LILO 识别 1G 内存,希望 GRUB 能帮助办到。本文旨在抛砖引玉,
共2页: 上一页 1 [2] 下一页

上一篇:X60-B57AtherosWifi在SuSE下的驱动安装手记   下一篇:通过Grub安装或者升级Fedora1.0Redhat9.08.07.XAS2.1AS3.0等发行版


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·通过Grub安装或者升级Fedora1.0Redhat9.08.07.XAS2.1A
·X60-B57AtherosWifi在SuSE下的驱动安装手记
·RHAS4gcc安装记
·fc7下常用软件安装包括字体
·CheckInstall-便民的Linux源码安装工具
·Linux开机程序之研讨
·linux启动全接触
·备份和修复linuxLILO指南
·使用yum把内核升级到Kernel2.6.0test9
·RedHat7.3LiveinCDROMHowTo
·制作FedoraDVDISO的方法
·Linux下安装Realtek 80SC千兆网卡驱动
·制作自己的Floppy-LinuxStepByStep
·Linux中安装Alsa声卡驱动的一些经验心得
·Vista与Linux操作系统双启动
·在Linux操作系统中,通过bonding 绑定实现网络负载均
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·将Linux加入到WindowsNT/2000的启动选
·UbuntuLinux系统帐户密码找回功能
·一行命令在Ubuntu上装好Firefox 3 Beta
·小企鹅(FCITX)输入法快速安装笔记
·如何清理Ubuntu系统中的无用软件包
·Ubuntu 7.10 (Gutsy) 下安装 Tor 的过
·Ubuntu Linux系统下硬盘ISO启动方法介
·将Ubuntu Linux系统放到你的移动硬盘中
·重装Windows操作系统后修复Fedora的Gru
·Ubuntu 7.0下配置安装VirtualBox .5.4
·Linux操作系统下如何配置Qt(4.3.2)环境
·如何制作Ubuntu Linux系统的本地源
  阅读排行
·Redhat5 Server下载、序列号以及相关介
· 在U盘上安装Damn Small Linux
·Linux的GRUB引导程序配置方法大全
·新手学堂 详细讲解Ubuntu Server安装过
·新手入门 Fedora Linux 7系统的安装指
·从硬盘安装RHEL 5(Red Hat Enterprise
·RedHat AS 4.0 硬盘安装图解一
·什么是Linux?Linux与UNIX之间的关系
·Linux不是Windows
·Intel 845集成显示驱动
·简介 PLAYSTATION 3 上的 Linux
·安装大型Linux 集群: 配置服务和安装
·Linux操作系统配置基础祥解:GRUB入门
·tagfile帮你定制安装slackware
·介绍Linux操作系统下添加新硬盘的方法
网摘收藏: