本节列出使用 GRUB 进行引导的一些常见问题并提供可能解决方案的简短说明。一些问题在位于 http://portal.suse.de/sdb/en/index.html 的支持数据库的文章中有所介绍。 如果某个特定问题未包括在此列表中,请使用位于 https://portal.suse.com/PM/page/search.pm 的支持数据库的搜索对话框搜索 GRUB、boot 和 boot loader 等关键字。
XFS 未在分区引导块中为 stage1 预留任何空间。因此,不要指定 XFS 分区作为引导装载程序的位置。此问题可以通过创建单独的引导分区(不使用 XFS 进行格式化)得到解决。
虽然在技术上可以实现,但将 GRUB 和 JFS 结合使用经常会出现问题。在这种情况下,创建单独的引导分区 (/boot) 并用 Ext2 对其进行格式化。在此分区中安装 GRUB。
当引导系统时,GRUB 将检查连接的硬盘的磁盘空间。有时,BIOS 将返回不一致的信息,GRUB 将报告 GRUB Geom 错误。如果出现这种情况,请使用 LILO 或更新 BIOS。有关安装、配置和维护 LILO 的详细信息,可以在支持数据库中的关键字“LILO”下获得。
如果将 Linux 安装在未在 BIOS 中注册的其他硬盘上,GRUB 也会返回此错误讯息。找到并正确装载了引导装载程序的 stage1,但未找到 stage2。可以通过在 BIOS 中注册新硬盘解决此问题。
在安装过程中,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)只能从第一块硬盘进行引导。如果这样的操作系统安装在第一块硬盘之外的硬盘上,您可以影响相应菜单项的逻辑更改。
... title windows map (hd0) (hd1) map (hd1) (hd0) chainloader(hd1,0)+1 ...
在此示例中,将从第二块硬盘启动 Windows。出于此目的,请使用 map 更改硬盘的逻辑顺序。此更改不会影响 GRUB 菜单文件中的逻辑。因此,必须为 chainloader 指定第二块硬盘。