Груб 1 (Ubuntu 9.04 і новіші версії)
Я вважаю найпростішим способом зробити це - перемістити запис завантаження Windows над записами Ubuntu в /boot/grub/menu.lst
. За замовчуванням файл конфігурації Grub викладається так:
- основні варіанти
- Конфігурація автоматичного магічного ядра debian (включаючи утиліти, такі як memtest86 + за замовчуванням)
- інші виявлені ОС
Розділ 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
.