Chinaunix首页 | 论坛 | 博客
  • 博客访问: 128843
  • 博文数量: 62
  • 博客积分: 1476
  • 博客等级: 上尉
  • 技术积分: 662
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-03 16:38
文章分类

全部博文(62)

文章存档

2010年(14)

2009年(48)

我的朋友

分类: LINUX

2009-12-03 18:20:40

对于Grub的简介,我在日志《GRUB4DOS》已经略讲过,grub的强大,使得grub完全可以引导任何系统,不同媒介,不同操作系统(windows更不在话下),不同文件系统,统统通杀,一点不含糊。



这篇日志对grub功能的介绍只领略其中一点点,倘若想深入grub,还得看君多修炼。



rootnoverify - 做root命令同样的事情,只是不挂入分区



#boot引导单独在第一块硬盘的第一个分区,根分区在第二个分区:
root (hd0,0)
kernkel /vmlinuz root=/dev/hda2 ro quiet
boot

fallback - 当这个命令被使用时,如果第一次尝试失败,那么这个项目的标题名称将被试用。

hide (hd0,0) 隐藏第一块分区

cat (hd0,0)/grub/menu.lst 显示文件
find /grub/menu.lst 查找文件

命令map:当你有两块硬盘,一个无法从第二块硬盘启动的操作系统,例如WindowsXP,就可以使用map命令.你能够将hd0映射为hd1,将hd1映射为hd0。换句话说,你可以虚拟的交换两个硬盘而启动所需要的操作系统 。命令形式如下:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
GRUB 使用了“链式装入器”(chainloader)。链式装入器从分区 (hd1,0) 的引导记录中装入winxp自己的引导装入器,然后引导它。这就是这种技术叫做链式装入的原因 -- 它创建了一个从引导装入器到另一个的链。这种链式装入技术可以用于引导任何版本的 DOS 或 Windows。



Grub使用:

GRUB 的菜单配置文件 grub.conf/menu.lst 位于 /boot/grub/,您可以使用您偏爱的编辑器来修改它。典型的 grub.conf/menu.lst 具有如下的样式:
# grub.conf generated by MagicInstaller.

# Note that you do not have to rerun grub after making changes to this file.
default=1
timeout=5
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
title windows xp


rootnoverify (hd0,0)
chainloader +1
title MagicLinux
root (hd0,2)
kernel /boot/vmlinuz-2.6.0-1 ro root=/dev/hda3 vga=791 splash=silent
initrd /boot/initrd-2.6.0-1.img

一些全局变量的设置

default 变量定义了 GRUB 默认将引导哪个系统, 索引从0开始。(在这个例子里是 MagicLinux)

超时将启动这个选项 fallback num

timeout 变量定义了系统在引导默认启动项前将会在菜单画面等待几秒

splashimage 变量定义了菜单页面的背景图像

下部由 title 分割为若干独立的启动项,每个启动项又有各自的参数。

我们首先看 windows xp 部分

GRUB 并不知道如何引导 windows xp,也读不懂 NTFS 的文件系统。

GRUB 使用了“链式加载”的方法来引导它不支持的操作系统。在这个例子里,GRUB 通过 rootnoverify 变量指向 windows xp 所在的分区,然后将引导权交给了位于这个分区上的 xp 自己的引导程序。

关于 MagicLinux 部分

root 变量指向内核所在的分区

kernel 变量指向内核文件,ro 表示 read only,ro 后面的 root 指向Linux 的根目录所在的分区,vga 参数指定启动时的显示模式,splash 参数定义了启动时您将看到图像(silent)还是文字(verbose)。

initrd 参数定义了 initrd 映像文件

使用开机密码

GRUB 支持加密。加密后最直接的结果是,只有知道密码的人才能通过命令行以交互的方式引导计算机。要给 GRUB 加密,首先您要取得一个通过 MD5 算法加密后的密码。( 尽管这么做并不是必须的,但把密码以明文保留在 grub.conf 里面总归不太让人放心 ) 打开 GRUB shell:
# grub
Probing devices to guess BIOS drives. This may take a long time.

GRUB version 0.93 (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>

使用 md5crypt 命令来取得加密后的密码:

grub> md5crypt
Password: **********
Encrypted: $1$U$JK7xFegdxWH6VuppCUSIb.

取得密码后,将这个密码复制粘贴到 grub.conf 的上半部分,形势如下:

password --md5 $1$U$JK7xFegdxWH6VuppCUSIb

如果您希望别人不能使用您机器上的某些操作系统,您可以进一步使用 lock 锁住它。这里以 windows xp 为例,注意 lock 的位置:

title windows xp
lock
rootnoverify (hd0,0)
chainloader +1

现在启动是您若是想进入 windows xp 或是修改启动选项,您需要参照启动菜单框下方的提示,键入“p”,然后输入正确的密码方可解除锁定。


map
如何从非第一个硬盘(指主硬盘)引导Windows (或DOS)。
使用map命令,交换虚拟BIOS驱动,如下:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
GRUB 不会分辨 IDE 或 SCSI. 正常程况下SCSI先行。所以
(hd0)为SCSI硬盘, (hd1)为IDE硬盘


splashimage:
GRUB splashimages 规则:
1. 文件类型是 xpm.gz
2. 分辨率为 640x480
3. 14 色
图片的制作:
方法一:
# convert -resize 640x480 -colors 14 image.png image.xpm && gzip image.xpm
在GRUB 配置文件中(grub.conf或者menu.lst)中写上这一行:
splashimage=(hd0,0)/GRUB/image.xpm.gz
方法二:
第一步:

用GIMP或其它软件编辑一幅中意的图片,图片要求为:

1. 图片xpm文件格式
2. 大小为640x480
3. 只能是14色

调整大小: Image -> Scale Image, 将原值调整为640X480(pixels)后点"Scale"
调整图片为14色: Image -> Mode -> Indexed, 将"Generate optimum palette Maximum number of colors"值调整为14(注意不要勾选下面的"Enable dithering of transparency",点"Convert"
保存:File -> Save As ... 点"Select File Type (By Extension)", 选择"X pixmap image", 点"Save"

然后用gzip压缩下:

gzip yourfilename.xpm

产生一个文件"yourfilename.xpm.gz", 注意,此时就不要再改文件名字啦,因为.gz文件中含有文件的原始名字, grub依赖于它.
阅读(812) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~