GRUB学习笔记

@ GRUB 学习笔记 @


GRUB 学习笔记
声明 : 本笔记并非原创 , 只是我个人的学习笔记 !
很多的内容来自 www.linuxsir.com www.linuxfans.org www.linuxAID.com
非常感谢以上网站对我的学习提供的莫大的帮助 , 本着学习和分享的原则我贴出我的学习笔记 , 更希望兄弟们能给我指出其中错误的地方 . 谢谢 !!!
学习这部分知识 , 首先要学到问题的思路 , 其次你还要记住一些东西 , 是死记硬背下来 ! 你会发现这点东东的确是很有用的 !
尽管如此 , 本文档归属 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
title Microsoft Windows XP
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
chainloader (hd1,0)+1
makeactive
boot


你可能感兴趣的:(职场,休闲,GRUB学习笔记)