Grub 1 (Ubuntu 9.04 и более ранние)
Я считаю, что самый простой способ сделать это - переместить загрузочную запись Windows над записями Ubuntu /boot/grub/menu.lst
. По умолчанию файл конфигурации Grub выглядит следующим образом:
- основные варианты
- Конфигурация ядра debian auto-magic (включая такие утилиты, как 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_hurd
- 10_linux
- 20_memtest86 +
- 21_memtest86
- 30_os-тестовые пробники
- 40_custom
Это 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=
) в /etc/default/grub
.