9.7. 查错

本节列出使用 GRUB 进行引导的一些常见问题并提供可能解决方案的简短说明。一些问题在位于 http://portal.suse.de/sdb/en/index.html 的支持数据库的文章中有所介绍。如果某个特定问题未包括在此列表中,请使用位于 https://portal.suse.com/PM/page/search.pm 的支持数据库的搜索对话框搜索 GRUBbootboot loader 等关键字。

GRUB 和 XFS

XFS 未在分区引导块中为 stage1 预留任何空间。因此,不要指定 XFS 分区作为引导装载程序的位置。此问题可以通过创建单独的引导分区(不使用 XFS 进行格式化)得到解决。

GRUB 和 JFS

虽然在技术上可以实现,但将 GRUB 和 JFS 结合使用经常会出现问题。在这种情况下,创建单独的引导分区 (/boot) 并用 Ext2 对其进行格式化。在此分区中安装 GRUB。

GRUB 报告 GRUB Geom 错误

当引导系统时,GRUB 将检查连接的硬盘的磁盘空间。有时,BIOS 将返回不一致的信息,GRUB 将报告 GRUB Geom 错误。如果出现这种情况,请使用 LILO 或更新 BIOS。有关安装、配置和维护 LILO 的详细信息,可以在支持数据库中的关键字“LILO”下获得。

如果将 Linux 安装在未在 BIOS 中注册的其它硬盘上,GRUB 也会返回此错误讯息。找到并正确装载了引导装载程序的 stage1,但未找到 stage2。可以通过在 BIOS 中注册新硬盘解决此问题。

包含 IDE 和 SCSI 硬盘的系统未引导

安装时,YaST 可能没有正确确定硬盘的引导顺序。例如,GRUB 可能将 /dev/hda 视为 hd0 并将 /dev/sda 视为 hd1,虽然 BIOS 中的引导顺序是相反的(SCSI 先于 IDE)。

在这种情况下,在引导进程中借助 GRUB 命令行对硬盘进行更正。在引导系统后,编辑 device.map 永久应用新映射。然后,检查 /boot/grub/menu.lst/boot/grub/device.map 文件中的 GRUB 设备名,并使用以下命令重安装引导装载程序:

grub --batch < /etc/grub.conf
从第二块硬盘引导 Windows

某些操作系统(例如 Windows)只能从第一块硬盘进行引导。如果这样的操作系统安装在第一块硬盘之外的硬盘上,您可以影响相应菜单项的逻辑更改。

...
title windows
   map (hd0) (hd1)
   map (hd1) (hd0)
   chainloader(hd1,0)+1
...
     

在此示例中,将从第二块硬盘启动 Windows。出于此目的,请使用 map 更改硬盘的逻辑顺序。此更改不会影响 GRUB 菜单文件中的逻辑。因此,必须为 chainloader 指定第二块硬盘。