|
GRUB支持一种备用机制,如果默认的启动项失败,它可以引导一个或多个其他项。如果需要的话,您可以指定多个备用项。
假设您有三个系统,A'、B'和C'。A'是您默认希望引导的系统。B'是一个备份系统,应该可以安全引导。C'是另一个备份系统,在`B'无法正常引导时使用。
那么您可能希望GRUB引导A'、B'和`C'中可引导的第一个系统。可以按以下方式编写配置文件:
default saved # This is important!!!
timeout 10
fallback 1 2 # This is important!!!
title A
root (hd0,0)
kernel /kernel
savedefault fallback # This is important!!!
title B
root (hd1,0)
kernel /kernel
savedefault fallback # This is important!!!
title C
root (hd2,0)
kernel /kernel
savedefault
Copied!
请注意,配置文件中使用了default saved',fallback 1 2'和`savedefault fallback'。在这个配置中,GRUB默认引导一个已保存的项,并将一个备用项保存为下一个引导项。
当GRUB尝试引导A'时,GRUB将1'保存为下一个引导项,因为fallback命令指定1'是第一个备用项。而1'对应的是B',所以GRUB将在下一次引导时尝试引导B'。
同样地,当GRUB尝试引导B'时,GRUB将2'保存为下一个引导项,因为fallback指定2'作为下一个备用项。这确保在引导B'后,GRUB将引导`C'。
值得注意的是,无论是在GRUB本身引导项失败还是在A'或B'启动您的系统失败时,GRUB都会使用备用项。因此,这个解决方案确保即使GRUB找不到您的内核或内核发生崩溃,您的系统也能够启动。
然而,当A'正确启动或您修复A'后,您需要运行grub-set-default,因为GRUB始终将下一个引导项设置为备用项。您可以在启动脚本(如rc.local)中运行这个命令来将`A'设置为默认引导项:
# grub-set-default 0
这里的0'是系统A'的引导项号码。
如果您想查看当前的默认引导项,可以查看文件/boot/grub/default(或某些系统中的/grub/default)。由于该文件是纯文本文件,您可以直接使用cat命令查看。但强烈建议不要直接修改该文件,因为如果您以意外的方式更改该文件,GRUB可能无法保存默认引导项在该文件中。因此,当您需要更改默认引导项时,请使用grub-set-default命令。
|
|