《系统引导管理器GRUB为初学者指南》由会员分享,可在线阅读,更多相关《系统引导管理器GRUB为初学者指南(20页珍藏版)》请在金锄头文库上搜索。
1、系统引导管理器 GRUB,为初学者指南作者:北南南北来自:LinuxSir.Org摘要: GRUB 是多系统引导管理器,简单的说既能引导 Linux,同时也能引导 Windows;从LinuxSir.Org 讨论区近四年的观察来看,大多初学者并不能在短时间内掌握 GRUB 的用法,为了解决初学者在最短时间内掌握 GRUB,重写 GRUB 入门文档还是有必要的;本文重点介绍了 GRUB 的 menu.lst 的写法,另外通过 GRUB 命令行引导系统也做了详述;这些无论是对Windows 版本的 WINGRUB 还是 Linux 版本的 GRUB 都是适用的;目录索引一、什么是多重操作系统引导管
2、理器,什么是 GRUB;1、什么是多重操作系统引导管理器及工作原理;2、什么是 GRUB;为什么我要选择 GRUB; 1)什么是 GRUB;2) “GRUB 太不好用 ”对 GRUB 的认识的误区;3)为什么要选择 GRUB; 二、GRUB 软件包版本选择和安装;1、Linux 版本的 GRUB 及 Windows 版本的 GRUB 的说明;2、GRUB 的 Windows 版本 WINGRUB;3、GRUB 的 Linux 版本软件包的安装; 三、在 Linux 中,GRUB 的配置中的安装和写入硬盘的 MBR;1、在 Linux 中, GRUB 配置过程中的安装 grub-install;
3、2、设定 GRUB 的/boot 分区并写入 MBR; 四、GRUB 的配置文件的 menu.lst 的写法;1、menu.lst 的写法之一; 1)在 menu.lst 中 ,通过 root (hd0-n,y)来指定/boot 所在的分区;2)在 menu.lst 中,kernel 命令行的写法;3)initrd 命令行的写法;4)menu.lst 第一种写法的总结和实践; 1用 fdisk -l ;df -lh ;more /etc/fstab 来确认分区情况;2查看内核 vmlinuz 的和 initrd 文件名的全称;3开始写 menu.lst ; 2、menu.lst 的写法之二,精
4、简型;1)第一种情况:/boot 和 Linux 的/根分区在同一个分区;2)第二种情况:/boot 独立一个分区,和 Linux 的根分区不位于同一分区; 五、通过 GRUB 命令行来启动 Linux 操作系统;1、为什么需要学习 GRUB 的命令行;2、用命令行来引导 Linux 操作系统的步骤; 1)进入 GRUB 的命令行模式 grub2)获取帮助 GRUB 的 help 3)cat 的用法;4)root (hd0-n,y) 指令来指定/boot 所在的分区;5)kernel 指令,用来指定 Linux 的内核,及/所在的分区;6)initrd 命令行来指定 initrd 文件;7)b
5、oot 引导系统;8)引导 Linux 系统实例全程回放; 六、通过 GRUB 引导 Windows 操作系统;1、通过编辑 menu.lst 来引导 Windows 系统;2、通过 GRUB 指令来引导 Windows ; 七、GRUB 丢失或损坏的应对策略;1、由于重新安装 Windows 或其它未知原因而导致 GRUB 的丢失;2、如果出现 GRUB 提示符,而不出现 GRUB 的菜单,如何引导系统; 八、关于 GRUB 的未尽事宜;九、关于本文;十、参考文档;十一、相关文档;+正文+一、什么是多重操作系统引导管理器,什么是 GRUB;1、什么是多重操作系统引导管理器及工作原理;系统启动
6、引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成;Briefly, boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hu
7、rd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).在 X86 架构的机器中,Linux、BSD 或其它 Unix 类的操作系统中 GRUB、LILO 是大家最为常用,应该说是主流;Windows 也有类似的工具 NTLOADER;比如我们在机器中安装了 Windows 98 后,我们再安装一个Windows XP ,在机器启动的会有一个菜单让我们选择进入是进入 Windows 98 还是进入 Windows XP。NTLOADER 就是一个多系统启动引导管
8、理器,NTLOADER 同样也能引导 Linux,只是极为麻烦罢了;在 Powerpc 架构的机器中,如果安装了 Linux 的 Powerpc 版本,大多是用 yaboot 多重引导管理器,比如 Apple 机目前用的是 IBM Powerpc 处理器,所以在如果想在 Apple 机上,安装 Macos 和 Linux Powerpc 版本,大多是用 yaboot 来引导多个操作系统;因为目前 X86 架构的机器仍是主流, 所以目前 GRUB 和 LILO 仍然是我们最常用的多重操作系统引导管理器;2、什么是 GRUB;为什么我要选择 GRUB;1)什么是 GRUB;GNU GRUB 是一个
9、多重操作系统启动管理器。GNU GRUB 是由 GRUB(GRand Unified Bootloader) 派生而来。GRUB 最初由 Erich Stefan Boleyn 设计和应用;GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.2)“GRUB 太不好用 ”对 GRUB 的认识的误区;GRUB 真的不好用吗?不是的,通过
10、LinuxSir.Org 社区近四年来的运行,我发现了大多新手弟兄还是不太了解 GRUB;当然这也有中文 Linux 社区的责任,虽然也有 GRUB 的中文译本,初学 Linux 的弟兄可能有点看不懂;我们欣喜的看到 LinuxSir.Org 社区的好多弟兄都曾经或正在写 GRUB 实践文档,也有的弟兄也总结了GRUB 的一些基础知识,比如 probing 兄弟的 GRUB 学习笔记 ;由于每个人的写文档时风格不同,可能同一份文档不同的人来写就有不同的风格;所以今天也抖胆也一篇入门级的教程,由于北南不会写高级教程,所以还得请高手弟兄指教,先谢过;3)为什么要选择 GRUB;基于在 X86 架构
11、的 CPU 而开发操作系统,系统引导管理器不仅仅有 GRUB ,而且也有 LILO,但对于多重系统引导管理器,你只能选择其一而用;不能两个同时使用;目前这两个多重系统引导管理器是大家最常用的,也是主流 Linux 发行版而采用的;有的弟兄喜欢GRUB,比如我个人,有的弟兄喜欢 LILO ,比如 etony 兄(谁是 etony,请参见 http:/debian.linuxsir.org );主流发行版 Fedora、Redhat、Centos 等基于 RPM 包的系统,在最新版本中都默认 GRUB 引导;Slackware 目前仍采用 LILO;而 Debian 发行版目前最新的版本也是采用
12、GRUB;从目前看来,GRUB 有逐渐取代 LILO 之势,GRUB 2.0 正在开发之中;所以我们有理由用 GRUB,我也有理由写 GRUB 使用教程;二、GRUB 软件包版本选择和安装;1、GRUB 的版本选择,Linux 版本的 GRUB 及 Windows 版本的 GRUB 的说明;GRUB 不但有 Linux 版本,也有 Windows 版本;现我们一一介绍;如前面所说,目前在在 Unix 类的操作系统中,大多是都有 GRUB;GRUB 几乎能引导所有 X86 架构的操作系统;功能之强,使用简单是 GRUB 最大的卖点;由于 Windows 操作系统的先入为主的优势,使得大家对 Wi
13、ndows 的 NTLOADER 了解的比较多,而对开源社区的 GRUB 显得有点寞生,由此而带来使用上的“心理恐惧” ;究其初学者对 GRUB“恐惧”的主要原因还是对 GRUB 没有太多的了解和深入;无论是WINGRUB 还是 Linux 版本的 GRUB,最方便的还是对 GRUB 命令行的操作;一谈到命令行(Command)的操作,可能初学者对此恐惧;其实没有什么难的,象北南这样低级的写手,还能操作得起来,您也应该能行;2、GRUB 的 Windows 版本 WINGRUB;请参考: 以 WINGRUB 引导安装 Fedora 4.0 为例,详述用 WINGRUB 来引导 Linux 的安
14、装3、GRUB 的 Linux 版本软件包的安装;其实对于 Linux 的 GRUB,几乎所有的 Linux 主流发行版都有打包,如果您安装了 Linux,并且在开机后出现 GRUB 字样的,证明您已经安装了 GRUB;而无需再次安装;Linux 的 GRUB 软件包安装部份并不是本文的重点;如果您的 Linux 系统没有安装 GRUB,或者采用的是 LILO,而您想用 GRUB,可以用系统安装盘自带GRUB 软件包来安装,或者到相关发行版本的软件仓库下载后安装;GRUB 的 Linux 版本目前在各大发行版中都有打包;比如Fedora/Redhat/Centos/Mandrive/Mandr
15、iva/SuSE 等以 RPM 包管理机制的系统,可以通过如下的命令来安装;请参考 Fedora / Redhat 软件包管理指南rootlocalhost # rpm -ivh grub*.rpm如果是 Slackware 您可以用如下的办法来安装;rootlocalhost # installpkg grub*.tgz其它的发行版本请用其自己特色的软件包管理工具来安装;当然您也可以通过源码包,在任何 Linux 的发行版上安装;至于源码包的安装方法;请参考: 如何编译安装源码包软件rootlocalhost #tar zxvf grub*.tar.gzrootlocalhost #cd g
16、rub-xxxrootlocalhost #./configure;make;make install确认您是否成功安装了 GRUB,您可以测试是否有如下两个命令;rootlocalhost # grubrootlocalhost # grub-install如果您不能找到这两个命令,可能您的可执行程序的路径没有设置;请参考: 设置可执行程序路径,当然您可以用绝对路径;比如下面的;rootlocalhost # /usr/sbin/grubrootlocalhost # /usr/sbin/grub-install如果您还是找不到 GRUB 软件包安装在哪了;您可以用下面的命令来解决和查找;rootlocal