GRUB学习笔记3(转载)

七、GRUB 和 stage 文件

GRUB 含有几个 images 文件,两个基础(必需的)stages 文件(stage1和 stage2),可选的 stage(也称为 stage1.5),和两个网络引导的images 文件

nxgrub 和 pxegrub)。stage1 是用于引导 GURB 的一个必须的映象文件。通常它是被嵌入到 MBR。或者一个分区的引导扇区之中。因为 PC 的引导扇区是

512 字节,所以 stage1 也是 512 字节。stage1 的作用就是从一个本地磁盘加载 stage 2 或者 stage 1.5 。因为大小的限制,stage1 对 stage2 或者

stage 1.5 的位置进行编码,也就是说,stage1 是无法识别文件系统格式的。stage2 是 GRUB 的核心映象。它几乎处理所有的事情(除了加载它自己),

通常可以把他放在文件系统上,但不是必须的。

一旦你执行了 grub-install 安装了 boot loader ,stage1 文件就不是必须的,可以把它移动到任意位置,因为它已经被嵌入到 MBR 或者 PBR 了。

stage1和stage2 文件一般位于 /boot/grub/ 目录下,在这个目录下还有很多 stage 1.5 的文件,而且都是以文件系统格式命名的。它们的目的是在 stage1

和 stage2之间搭建一个桥梁,也就是 stage 1 加载 stage 1.5, stage 1.5 加载 stage2。stage1 和 stage 1.5 的不同之处是 stage1 无法识别文件系统,

stage 1.5 可以。因为 Stage2 太大了,无法被嵌入到某个固定的区域,而 Stage1.5可以安装在 MBR 之后的位置。

至于 nxgrub 和 pxegrub 我们在第10节才介绍。

八、GRUB 常见错误信息

我们把出错信息分成3类,stage1 阶段的、stage 1.5 阶段的、stage2 阶段。后两个可以合在一起。

8.1 Stage1 阶段可能出现的错误 :

GRUB 对于该阶段出现的错误一般是打印一个出错信息并挂起机器,除非按CTRL-ALT-DEL 重启。

a) Hard Disk Error :表示无法判读 stage 1.5 文件所在的磁盘的大小和 CHS 参数

b)Floppy Error :表示无法 stage 1.5 文件所在的软盘的大小和 CHS 参数

c)Read Error :表示无法读取 stage 1.5 文件或者 stage2 文件

d)Geom Error :stage2 或者 stage 1.5 位于 BIOS 的 read 调用可以访问的范围之外。

8.2 Stage 1.5/2 阶段可能出现的错误 :

一般会打印一个 “Error <N>“的错误信息,并根据错误的严重程度看是否继续进行。

QUOTE:

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>

 

QUOTE:

2 : Bad file or directory type

解释 :2号错误表示命令期望的是一个普通文件,但相应文件名的对象是一个符号链接、目录、FIFO

例子 :

grub> kernel /testdir root=LABEL=/

Error 2: Bad file or directory type

grub>

 

QUOTE:

3 : Bad or corrupt data while decompressing file

解释 :3号错误表示解压文件时发生错误。可能是因为这个文件被损坏了

 

QUOTE:

4 : Bad or incompatible header in compressed file

解释 :4号错误表示压缩文件的头部格式不被兼容或者错误

 

QUOTE:

5 : Partition table invalid or corrupt

解释 :5 号错误表示分区表无效或者被破坏。这是一个不好的预兆

 

QUOTE:

6 : Mismatched or corrupt version of stage1/stage2

解释 :6号错误表示 install 命令发现 stage1 和 stage2 的颁布号不被兼容

 

QUOTE:

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

 

QUOTE:

8 : Kernel must be loaded before booting

解释 :8号错误表示执行 boot 命令之前没有先执行 kernel 命令

 

QUOTE:

9 : Unknown boot failure

解释 :9 号错误表示未知的引导错误

 

QUOTE:

10 : Unsupported Multiboot features requested

解释 :10 号错误表示请求 Multiboot header 所要求功能不被 GRUB 所支持。

 

QUOTE:

11 : Unrecognized device string

解释 :11 号错误表示无法识别的设备字符串。

例子 :

grub> root hd0

Error 11: Unrecognized device string

grub>

 

QUOTE:

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>

 

QUOTE:

13 : Invalid or unsupported executable format

解释 :13 号错误表示无效或者无法识别的可执行格式

例子 :

grub> kernel /grub/grub.conf root=LABEL=/

Error 13: Invalid or unsupported executable format

grub>

 

QUOTE:

14 : Filesystem compatibility error, cannot read whole file

解释 :14 号错误表示文件系统兼容性错误,无法读取整个文件

 

QUOTE:

15 : File not found

解释 :请求的文件无法找到

例子 :

grub> find /grub-noexist/grub.conf

Error 15: File not found

grub>

 

QUOTE:

16 : Inconsistent filesystem structure

解释 :16 号错误表示不一致的文件系统结构。可能是文件系统结构被破坏了。

 

QUOTE:

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>

 

QUOTE:

18 : Selected cylinder exceeds maximum supported by BIOS

解释 :18 号错误表示选择的柱面超过了 BIOS 支持的最大能力。这通常发生在不支持 LBA 模式

的硬盘上。

 

QUOTE:

19 : Linux kernel must be loaded before initrd

解释 :19 号错误表示执行 initrd 命令前必须先执行 kernel 命令

 

QUOTE:

20 : Multiboot kernel must be loaded before modules

解释 :20 号错误表示执行 module 或者 moduleunzip 命令前必须先执行 kernel 命令

 

QUOTE:

21 : Selected disk does not exist

解释 :21 号错误表示选择的磁盘不存在

例子 :

grub> root (hd2)

Error 21: Selected disk does not exist

grub>

 

QUOTE:

22 : No such partition

解释 :22 号错误表示分区不存在

例子 :

grub> root (hd0,10)

Error 22: No such partition

grub>

 

QUOTE:

23 : Error while parsing number

解释 :23 号错误表示参数解释错误,希望是一个数值,但参数却是其他类型

例子 :

grub> root (hda,0)

Error 23: Error while parsing number

grub>

 

QUOTE:

24 : Attempt to access block outside partition

解释 :24 号错误表示尝试访问的 block 超出了分区

 

QUOTE:

25 : Disk read error

解释 :25 号错误表示磁盘读错误

 

QUOTE:

26 : Too many symbolic links

解释 :26 号错误表示太多的符号连接(默认最多允许5个)

 

QUOTE:

27 : Unrecognized command

解释 :无法识别的命令

 

QUOTE:

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>

 

QUOTE:

29 : Disk write error

解释 :磁盘写错误

 

QUOTE:

30 : Invalid argument

解释 :无效参数

例子 :

grub> serial --noarg=0

Error 30: Invalid argument

grub>

 

QUOTE:

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.

 

QUOTE:

32 : Must be authenticated

解释 :要求输入口令才能继续进行下面的操作。例如配置文件中有 password 或者 lock 命令

例子 :

password root1234

title DOS

                lock

        rootnoverify (hd0,0)

        chainloader +1

 

QUOTE:

33 : Serial device not configured

解释 :33 号错误表示串口还没有配置。这一般发生在你执行 terminal serial 的时候

 

QUOTE:

34 : No spare sectors on the disk

解释 :磁盘自由空间不足。可能发生在把 stage 1.5 嵌入到 MBR 之后的空间的时候。但这部分空间可能已经被分区表使用了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值