Завантаження різних дистрибутивів Linux кожного разу, коли комп'ютер запускається автоматично?


15

У мене є два дистрибутиви Linux (OpenSuSE, Ubuntu), встановлені на двох різних розділах. Кожен раз, коли я запускаю свою машину, GRUB завантажується, що дозволяє мені вибрати один з двох дистрибутивів.

Я не хочу, щоб GRUB з'являвся, тому я обмежую тайм-аут до нуля в /boot/grub/menu.lst, що, швидше за все, змусить мою машину завантажувати OpenSuSE щоразу, коли я запускаю комп'ютер, тому що це перша опція в меню .lst.

Чи можливо, що при другому перезавантаженні ПК Ubuntu автоматично завантажується? Третій раз, коли я перезавантажуюсь знову, OpenSuSE може бути завантажений, тоді як четвертий раз перезавантажую, Ubuntu може завантажуватися і так далі?

Іншими словами, як я можу змусити машину завантажувати наступну ОС в menu.lst при наступному її перезапуску?


1
Не заперечуєте додати якусь деталь: Ви використовуєте Karmic (який використовує Grub2)? Також ви поділяєте / boot розділ між обома дистрибутивами? Або посилання одного завантажувального розділу дистрибутива до ядра дистрибутива / initrd і т.д.?

Це зовсім не дивно! Раніше я робив це з виділеним розділом Linux, який би відновив Windows за допомогою Partimage. Кожна інша завантажувальна система піде в Linux для відновлення, а потім негайна перезавантаження назад у Windows. (Але я використовував LiLo тоді з перемикачем -R IIRC.)

Відповіді:


11

Покладіть щось у сценарії запуску, щоб переписати menu.lst.

Так Ubuntu має написати версію, menu.lstяка завантажує OpenSuSE, а OpenSuSE написати версію, що завантажує Ubuntu.

Щодо безпечний спосіб зробити це буде мати 3 файлів menu.lst, menu.lst.ubuntuа menu.lst.SuSEй є скрипти зробити:

cp menu.lst.ubuntu menu.lst

на SuSE та:

cp menu.lst.SuSE menu.lst

на Ubuntu.


9

Я домігся функціоналу, який я шукав, використовуючи опцію 'savedefault' GRUB. Раніше я встановлював значення для іншої операційної системи в кінці запису кожної ОС у menu.lst.

Велике спасибі всім, хто намагався допомогти. :)


1
+1 збирався запропонувати savedefault, але ви побили мене до цього;)
chris

3

Ліло може це зробити.

Але ви можете розглянути простий скрипт у кожній ОС, який встановлює іншу ОС як груб за замовчуванням. Наприклад, наступний скрипт змінить default 1налаштування на default 0:

echo -e "g/default 1/d\ni\ndefault 0\n.\nw" | ed /boot/grub/menu.lst

(Ед дуже схожий на Vi. Запустіть лише першу команду, щоб побачити, що вона робить.)

В іншій ОС ви можете запустити аналог:

echo -e "g/default 0/d\ni\ndefault 1\n.\nw" | ed /boot/grub/menu.lst

Дякую jhs. Думаю, у мене це вийде. Але я дістанусь до LILO, якщо мені не вдасться досягти функціональності з GRUB.

2

Яка ваша причина / мета для цього?

Чи розглядали ви лише запуск двох різних віртуальних машин ? Якщо VM можна розглянути, існує декілька різних способів досягти цього з боку самої хост-машини, не підробляючи гостей.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.