尽管如此,本文档归属linuxsir-probing!转载请注明出处!更不能被用到商业用途上!
1 首先要了解的几个概念
1.1 启动管理器
启动管理器是存储在磁盘开始扇区中的一段程式,例如,硬盘的MBR(Master Boot
Record),在系统完成启动测试后,假如系统是从MBR启动,则BIOS(Basic Input/Output
System)将控制传送给MBR。然后存储在MBR中的这段程式将运行。这段程式被称为启动管理器。他的任务就是将控制传送给操作系统,完成启动过程》有许多可用的启动管理器,包括GNU
GRUB (Grand Unified Boot Loader),Bootmanager, LILO (LInux LOader),
NTLDR (boot loader for Windows NT systems),等等等.
1.2 什么是GRUB?
grub 是个多重启动管理器。grub是GRand Unified
Bootloader的缩写,他能够在多个操作系统共存时选择引导哪个系统。他能够引导的操作系统包括:
Linux,FreeBSD,Solaris,NetBSD,BeOSi,OS/2,Windows95/98,Windows
NT,Windows2000,WinXP。他能够载入操作系统的内核和初始化操作系统(如Linux,FreeBSD),或把引导权交给操作系统(如Windows
98)来完成引导。
1.3 GRUB的特点
特别适用于linux和其他操作系统共存情况。
支持大硬盘
现在大多数Linux发行版本的lilo都有同样的一个问题:根分区(/boot分区)不能分在超过1024柱面的地方,一般是在8.4G左右的地方,否则lilo不能安装,或安装后不能正确引导系统。而grub就不会出现这种情况,只要安装时您的大硬盘是在LBA模式下,grub就能够引导根分区在8G以外的操作系统。
支持开机画面
grub支持在引导开机的同时显示一个开机画面。对于玩家来说,这样能够制作自己的个性化开机画面;对于PC厂商,这样能够在开机时显示电脑的一些信息和厂商的标志等。grub支持640x480,800x600,1024x768各种模式的开机画面,而且能够自动侦测选择最好模式,和Windows那320x400的开机画面不可同日而语。
两种执行模式
grub不但能够通过配置文档进行例行的引导,还能够在选择引导前动态改变引导时的参数,还能够动态加载各种设备。例如您在Linux下编译了一个新的核心,但不能确定他能不能工作,您就能够在引导时动态改变grub的参数,尝试装载这个新的核心进行使用。Grub的命令行有很强大的功能,而且支持如bash或doskey相同的历史功能,您能够用上下键来寻找以前的命令。
菜单式选择 grub使用一个菜单来选择不同的系统进行引导。您还能够自己配置各种参数,如延迟时间,默认操作系统等。
分区大小改变后不必重新配置 grub是通过文档系统直接把核心读取到内存,因此只要操作系统核心的路径没有改变,grub就能够引导系统。
除此之外,Grub更有许多很强大的功能。例如支持多种外部设备,动态装载操作系统内核,甚至能够通过网络装载操作系统核心。Grub支持多种文档系统,支持多种可执行文档格式,支持自动解压,能够引导不支持多重引导的操作系统,支持网络启动等。
1.4 MBR和第一扇区
您能够简单的理解为MBR是整个硬盘的物理第一位置,而第一扇区是硬盘的物理第二位置.
1.5 一个GRUB配置文档
基于本例的分区如下:
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,这个文档位于;/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
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



