【发布时间】:2015-05-31 19:18:56
【问题描述】:
我的系统在一个硬盘上安装了多个 Red Hat。我想在运行时自动选择默认安装启动。 Red Hat 这样做的方式(与 Grub 文档略有不同)是进入 grub shell 并说
savedefault --stage2=<Stage 2 File> --default=<default>
保存到指定的地方。
我使用链式加载,所以磁盘上有几个 grub.conf 文件。我只想更改与 /boot 中与 MBR 相关联的 stage2 文件,而不是与安装本身相关联的单个文件。在 grub 中,如果我说
find /boot/grub/stage2
或
find /grub/stage2
我返回了所涉及的分区和文件的完整路径名的有效列表。在前一种情况下,类似于
(hd0,1)
(hd0,2)
在后者中
(hd0,0)
我想改变的是后一种情况。但是,如果我说
根 (hd0,0)
savedefault --stage2=/grub/stage2 --default=1
或类似的变体
savedefault --stage2=(hd0,0)/grub/stage2
savedefault --stage2=(hd0,0)/boot/grub/stage2
或类似的,我明白了
Error 15: File not found
我隐约怀疑我没有正确安装分区,并且它可能是我做事的只读方式,但我所做的似乎没有改变正确的 stage2 文件。请注意,如果我只是说
savedefault --stage2=/boot/grub/stage2 --default=1
或完全关闭“--stage2=...”选项,该命令会成功,但会更改当前运行的操作系统启动的分区上的 stage2 文件 - 而不是与 MBR grub.conf 关联的那个文件实际上控制初始启动。
我在这里错过了什么?
【问题讨论】: