Grub

此页由Linux Wiki用户Chenxing于2012年1月31日 (星期二) 07:26的最后更改。 在孙瑞程wangyan万清的工作基础上。

出自Linux Wiki

提示:此文已超过 12 年(4685 天)未更新,如发现内容过时或有误,欢迎改进:)

目录

Grub简介

GNU GRUB 是一个多重操作系统启动管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而来。GRUB最初由Erich Stefan Boleyn 设计和应用。

目前,GRUB分成GRUB legacy和GRUB 2。版本号为0.9x及以前的版本均被称为GRUB legacy,版本号从1.x开始就被称为GRUB2。目前GRUB legacy已经停止开发了,只是不断推出bug fix,不会再引入新功能了,所有的开发都转移到GRUB2上面。

Hint.gif
提示:
有关配置、使用Grub 2的方法,请参阅Grub2配置

Grub特点简介

GRUB legacy相对于早期引导程序的特点

  1. 提供一个功能强大的命令行接口
  2. 支持LBA大容量硬盘访问模式。在LBA模式出现之前,启动的程序只能访问1024柱面的硬盘,大约就是8G空间,后面的空间就无法访问了,Grub对LBA的支持让操作系统调用的灵活性大大的增加了
  3. 可以支持多种文件系统(如EXT 2/3/4, FAT 16/32, minxFS, JFS, XFS, ReiserFS等)。这个功能可以让Grub直接访问到放在硬盘分区上的配置文件,从而一旦MBR受到破坏,只需要重新写MBR,不需要重新写配置文件便可以恢复启动
  4. 支持多种内核引导,如NT,FreeBSD,NetBSD,OpenBSD,Minix,linux
  5. 支持加载多个模块

Grub2 特点

  1. 支持脚本语言,可以编写一些逻辑控制,如条件判断,循环,变量函数等。
  2. 支持图形接口
  3. 支持动态加载模块,而不是在build时指定加载模块(静态)
  4. 可移植到不同的构架上。
  5. 支持国际化语言。
  6. 具有实际内存管理功能。使其更加具有扩展性。
  7. 针对文件系统,文件,设备,驱动,终端,命令,分区表,OS loader的模块化层次化基于对象的框架。
  8. 支持rescue模式,可用于系统无法引导的状况。stage1.5被取消了。
  9. 修复了GRUB legacy的bug。

Grub命令简介

在Grub菜单中按c可进入Grub命令模式,部分常用命令:

Grub Legacy

boot
启动操作系统,或者启动上一次的chainloader
chainload
启动特定的文件或者一个chainloader。如果启动的文件位于特定分区的第一个扇区,可以用+1符号代替文件名称,比如chainloader +1表示从当前选定的分区的第一个扇区启动。例见Grub引导Windows系统
displaymem
显示当前的内存利用率
initrd
让用户指定一个initrd RAM镜像启动(当内核需要某些特殊的模块才能启动的时候,就需要这个文件)
kernel
指定内核文件路径和内核参数
root
指定根分区,并挂载该分区
rootnoverify
指定根分区,但不挂载分区

Grub 2

请参阅Grub2配置的相关章节。

Note.gif
TODO:
参考资料。

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
个人工具
简体繁体转换