У меня есть система с несколькими установками Red Hat на одном жестком диске. Я хотел бы автоматически выбрать установку по умолчанию для загрузки во время выполнения. Red Hat способ сделать это (который немного отличается от документации Grub) - войти в оболочку grub и сказать
savedefault --stage2=<Stage 2 File> --default=<default>
который сохраняется в указанный.
Я использую цепную загрузку, поэтому на диске есть несколько файлов grub.conf. Я хочу изменить только файл stage2, связанный с файлом, привязанным к MBR в / boot, а не отдельные файлы, связанные с самими установками. В жратве, если я скажу
find /boot/grub/stage2
or
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, который фактически контролирует начальная загрузка.
Что мне здесь не хватает?