1.启动linux系统(如果现有系统无法启动,可用修复模式)
2.安装grub的软件包
3.安装grub的引导程序到mbr中
步骤:如下
#grub
grub> root (hdx,y) //指定/boot目录所在分区 注:hdx中的X是代表第几个硬盘, Y代表第几个区。
grub> setup (hdx) //安装到指定的硬盘MBR中.
配制GRUB菜单界面
#VI /boot/grub/grub.conf
(1) 配制默认启动项
---DETAULTS=数字
设置默认启动项为第几项
------TIMEOUT=数字
设置菜单延迟 TIMEOUT=0表示直接启动 不显示启动菜单 TIMEOUT=-1
表示永久等待直到用户确认为止.
(2)配置菜单背景图片
--SPLASHIMAGE=(HDX,Y)/路径/*.xpm.gz
注: --GRUB菜单背景图片是.XPM.GZ文件 且图片分辨率为640x140颜色为14色
可以用convert 命令 将JPG/PNG/BMP文件转换成XPM文件
#convert -resize 640x480! -colors 14 源文件 XPM文件
(3) 配制GRUB口令
passwd=口令 /--md5 口令密文
注:GRUB口令分为全局口令和私有口令,放在下面为引导项口令 放在所有引导项上面的为全局口令
--grub口令用明文和密文表示
可用grub-md5-crypt命令生成指定的口令的密文.
(4)配制GRUB的启动项
---linux启动项
a title 字符串 //设置启动项标题
b root (hdx,y) //设置LINUX内核所在分区
c kernel /路径/文件名 [参数] //指定内核文件路径
d initrd 路径/文件名 //指定initrd镜像文件路径
--启动项WINDOWS
A title 字符串
B rootnoverify (hdx,y) //设置系统的启动分区位置
C chainloader +1 //读取启动分区的引导扇区
注: 如果启动项与GURB不在同一块硬盘上,则需要添加map选项 map选项的作用用于建立磁盘关联
格式:map(hdx)(hdy)
map(hdy)(hdx)
(5)GRUB常见问题
1 如果从MBR中删除GRUB的引导程序?
解决方法:---利用DOS启动盘启动系统
---运行fdisk /mbr
2 如何从新加载GRUB引导程序到MBR中?
解决方法:
-----利用安装盘启动LINUX的修复模式
-----#grub
-----grub>root (hdx,y)
-----grub>setup (hdx)
-----grub>quit
3 为什么启动时不出现GRUB菜单界面,只显示GRUB命令界面,在GRUB命令行能启动系统。
原因是:启动时找不到GRUB菜单界面,
命令行启动方法如下:
A、启动LINUX系统
#grub>root (hdx,y)
#grub>kernel /路径/
#grub>initrd /路径/
#grub>boot
B、启动WINDOWS系统
#grub>rootnoverify (hdx,y)
#grub>chianloader +1
#grub>boot
注:如果需要启动系统与GRUB不在同一块硬盘上,必须运行MAP命令。
4 如何使用GRUB菜单编辑模式来启动LINUX系统的单用户模式 。
--GRUB菜单编辑模式
A 作用:可用于在启动系统前对菜单界面进行了临时性的修改。
B 使用方法:将光标移动到某菜单或启动项按“e”键即可进行编辑模式,编辑模式可按“e”进行修改命令行。按“d”删除命令行 按“o”是添加空白行,按“b“启动系统。
C 启动单用户系统、
选中LINUX启动项――>e――>编辑模式――在kernel这一行按e进行编辑在其后添加“空格1” 最后按b启动系统
-------------------------------------------------------------------------------------
grub引导常见的错误:如下 (注:以下内容转载)
引用:
1 : Filename must be either an absolute filename or blocklist
解释 :1号错误表示文件名格式错误。在 GRUB 中要么是以绝对路径给出文件
例子 :
grub> kernel vmlinuz root=label=/
Error 1: Filename must be either an absolute pathname or blocklist
grub>
引用:
2 : Bad file or directory type
解释 :2号错误表示命令期望的是一个普通文件,但相应文件名的对象是一个符号链接、目录、FIFO
例子 :
grub> kernel /testdir root=LABEL=/
Error 2: Bad file or directory type
grub>
引用:
3 : Bad or corrupt data while decompressing file
解释 :3号错误表示解压文件时发生错误。可能是因为这个文件被损坏了
引用:
4 : Bad or incompatible header in compressed file
解释 :4号错误表示压缩文件的头部格式不被兼容或者错误
引用:
5 : Partition table invalid or corrupt
解释 :5 号错误表示分区表无效或者被破坏。这是一个不好的预兆
引用:
6 : Mismatched or corrupt version of stage1/stage2
解释 :6号错误表示 install 命令发现 stage1 和 stage2 的颁布号不被兼容
引用:
7 : Loading below 1MB is not supported
解释 :This error is returned if the lowest address in a kernel is below
the 1MB boundary. The Linux zImage format is a special case and
can be handled since it has a fixed loading address and maximum size
引用:
8 : Kernel must be loaded before booting
解释 :8号错误表示执行 boot 命令之前没有先执行 kernel 命令
引用:
9 : Unknown boot failure
解释 :9 号错误表示未知的引导错误
引用:
10 : Unsupported Multiboot features requested
解释 :10 号错误表示请求 Multiboot header 所要求功能不被 GRUB 所支持。
引用:
11 : Unrecognized device string
解释 :11 号错误表示无法识别的设备字符串。
例子 :
grub> root hd0
Error 11: Unrecognized device string
grub>
引用:
12 : Invalid device requested
解释 :12 号错误表示请求的设备无效
例子 :
grub> root (hd2)
Error 21: Selected disk does not exist
grub> kernel /grub/grub.conf root=LABEL=/
Error 12: Invalid device requested
grub>
引用:
13 : Invalid or unsupported executable format
解释 :13 号错误表示无效或者无法识别的可执行格式
例子 :
grub> kernel /grub/grub.conf root=LABEL=/
Error 13: Invalid or unsupported executable format
grub>
引用:
14 : Filesystem compatibility error, cannot read whole file
解释 :14 号错误表示文件系统兼容性错误,无法读取整个文件
引用:
15 : File not found
解释 :请求的文件无法找到
例子 :
grub> find /grub-noexist/grub.conf
Error 15: File not found
grub>
引用:
16 : Inconsistent filesystem structure
解释 :16 号错误表示不一致的文件系统结构。可能是文件系统结构被破坏了。
引用:
17 : Cannot mount selected partition
解释 :17号错误表示无法挂载指定分区。例如 swap 分区
例子 :
grub> root (hd0,2) 这是一个 swap 分区
Filesystem type unknown, partition type 0x82
grub> kernel /vmlinuz
Error 17: Cannot mount selected partition
grub>
引用:
18 : Selected cylinder exceeds maximum supported by BIOS
解释 :18 号错误表示选择的柱面超过了 BIOS 支持的最大能力。这通常发生在不支持 LBA 模式
的硬盘上。
引用:
19 : Linux kernel must be loaded before initrd
解释 :19 号错误表示执行 initrd 命令前必须先执行 kernel 命令
引用:
20 : Multiboot kernel must be loaded before modules
解释 :20 号错误表示执行 module 或者 moduleunzip 命令前必须先执行 kernel 命令
引用:
21 : Selected disk does not exist
解释 :21 号错误表示选择的磁盘不存在
例子 :
grub> root (hd2)
Error 21: Selected disk does not exist
grub>
引用:
22 : No such partition
解释 :22 号错误表示分区不存在
例子 :
grub> root (hd0,10)
Error 22: No such partition
grub>
引用:
23 : Error while parsing number
解释 :23 号错误表示参数解释错误,希望是一个数值,但参数却是其他类型
例子 :
grub> root (hda,0)
Error 23: Error while parsing number
grub>
引用:
24 : Attempt to access block outside partition
解释 :24 号错误表示尝试访问的 block 超出了分区
引用:
25 : Disk read error
解释 :25 号错误表示磁盘读错误
引用:
26 : Too many symbolic links
解释 :26 号错误表示太多的符号连接(默认最多允许5个)
引用:
27 : Unrecognized command
解释 :无法识别的命令
引用:
28 : Selected item cannot fit into memory
解释 :选择的对象无法被加载到内存中。
例子 :
[root@monitor boot]# dd if=/dev/zero of=vmlinuz-2.4.20-31.9 bs=1024 count=1 seek=1
读入了 1+0 个块
输出了 1+0 个块
[root@monitor boot]#grub
grub> kernel /vmlinuz-2.4.20-31.9 root=label=/
[Linux-bzImage, setup=0x1400, size=0xfffff200]
Error 28: Selected item cannot fit into memory
grub>
引用:
29 : Disk write error
解释 :磁盘写错误
引用:
30 : Invalid argument
解释 :无效参数
例子 :
grub> serial --noarg=0
Error 30: Invalid argument
grub>
引用:
31 : File is not sector aligned
解释 :This error may occur only when you access a ReiserFS partition by
block-lists (e.g. the command `install'). In this case, you should
mount the partition with the `-o notail' option.
引用:
32 : Must be authenticated
解释 :要求输入口令才能继续进行下面的操作。例如配置文件中有 password 或者 lock 命令
例子 :
password root1234
title DOS
lock
rootnoverify (hd0,0)
chainloader +1
引用:
33 : Serial device not configured
解释 :33 号错误表示串口还没有配置。这一般发生在你执行 terminal serial 的时候
引用:
34 : No spare sectors on the disk
解释 :磁盘自由空间不足。可能发生在把 stage 1.5 嵌入到 MBR 之后的空间的时候。但这部分空间可能已经被分区表使用了