Зробіть grub зберігати завантаження за замовчуванням під оновленнями ядра


11

Я подвійно завантажую свою машину і хочу, щоб вона за замовчуванням завантажувалася у Windows, так що коли я перезавантажую машину віддалено від свого дому, вона зможе повернутися до Windows (замість Ubuntu).

Проблема полягає в тому, що щоразу, коли Ubuntu оновлює ядро, мені доводиться скидати елемент завантаження за замовчуванням grub назад до windows. Це пов'язано з тим, що завантажувач меню grub використовує позиції, тобто 6 для завантаження ОС за замовчуванням. І коли Ubuntu встановлює нове ядро, він змінює цей порядок.

Я шукаю спосіб налаштувати grub для запам’ятовування його елемента завантаження за замовчуванням під оновленнями ядра.

Відповіді:


9

Груб 1 (Ubuntu 9.04 і новіші версії)

Я вважаю найпростішим способом зробити це - перемістити запис завантаження Windows над записами Ubuntu в /boot/grub/menu.lst. За замовчуванням файл конфігурації Grub викладається так:

  1. основні варіанти
  2. Конфігурація автоматичного магічного ядра debian (включаючи утиліти, такі як memtest86 + за замовчуванням)
  3. інші виявлені ОС

Розділ 2 розмежований цими рядками у конфігураційному файлі:

### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST

Записи для автоматично виявлених ОС (наприклад, Windows) розміщуються після цього розділу. Під час встановлення нового ядра розділ 2 - це єдиний розділ, який змінюється. Таким чином, переміщуючи автоматично виявлену ОС кудись до того, як BEGINрядок розмістить її там, де номер введення не зміниться, коли буде встановлено нове ядро.


Grub 2 (Ubuntu 9.10 та новіших версій)

З Grub2 весь файл конфігурації створюється заново в будь-який час, коли update-grubвоно запускається, тому редагування /boot/grub/grub.cfgне буде виправленим постійно. Як генерується цей файл, обробляються файли /etc/default/grubта сценарії в /etc/grub.d/*. Таким чином, ми змінюємо конфігурацію, змінюючи файли, які керують окремими розділами конфігураційного файлу, а потім update-grubзнову запускаємо .

Мій /etc/grub.dвключає ці файли:

  • 00_header
  • 05_debian_theme
  • 10_год
  • 10_linux
  • 20_memtest86 +
  • 21_memtest86
  • 30_os-prober
  • 40_склад

Це shellscripts , що задавлять для того , щоб згенерувати конфігураційний файл. Запис завантажувальної системи Windows генерується за допомогою 30_os-prober, який виконується після того, як генеруються записи завантажувальної машини Linux 10_linux. Тому просто перейменуйте 30_os-proberна щось менше 10 і повторітьupdate-grub

mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub

Тепер ваш запис Windows повинен бути першим записом, і ви можете встановити це як запис за замовчуванням ( GRUB_DEFAULT=) для Windows /etc/default/grub.


2

Дотримуйтесь інструкцій на моєму блозі тут, щоб використовувати чистий завантажувач Windows для своєї роботи. Я використовую його зараз, і коли я запускаю ПК, у мене є два варіанти:

Windows Vista Ubuntu 10.04

Іншого захаращення немає. Ви також можете встановити багато різних варіантів. Якщо я не натискаю нічого протягом 5 секунд, Windows завантажується.

Удачі.


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