Как изменить порядок загрузки GRUB?

291

У меня есть как Windows 7, так и Ubuntu, установленные на общей машине. Поскольку многие не-разработчики используют Windows, я бы хотел изменить порядок загрузки, чтобы упростить их.

В настоящее время порядок загрузки выглядит следующим образом:

  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (безопасная загрузка)
  • Тест памяти
  • Тест памяти
  • Windows 7 on /dev/sda6

Как изменить порядок по умолчанию, чтобы Windows 7 находилась в верхней части списка?

  • Windows 7 on /dev/sda6
  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (безопасная загрузка)
  • Тест памяти
  • Тест памяти
задан chrisjlee 31.01.2012 в 17:18
источник

5 ответов

269

Вы можете использовать простое в использовании приложение GUI, называемое Grub Customizer , чтобы сделать вашу жизнь немного легче. Как следует из названия, вы можете сделать гораздо больше, чем просто переупорядочить записи в меню GRUB.

Вы можете установить его:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

(См. вопрос Ask Ubuntu Безопасны ли PPA для добавления в мою систему и какие "красные флаги" нужно соблюдать? ).

Существует статья How-To Geek о ней, Как настроить загрузочное меню Linux GRUB 2 на Easy Way . Взгляните на него, если вы заинтересованы. Кроме того, на форумах Ubuntu существует разрешенный поток, Изменить порядок загрузки в GRUB 2 , который упоминает этот инструмент.

Вот несколько скриншотов:

Некоторые способы устранения неполадок:

Настройки Grub Customizer могут работать только с самой последней установки Linux / Ubuntu, той, которая установила Grub.

Например, если у кого-то установлены две ОС (Windows и Ubuntu), а затем устанавливается третья ОС (Manjaro и т. д.), а затем пытается выполнить описанный выше ответ, изменения Grub Customizer не будут работать, если они сделаны из вторая ОС (Ubuntu, в примере). Программа должна быть установлена ​​в ОС, поскольку, похоже, Grub Customizer может редактировать файлы Grub, созданные при установке системы, на которой она установлена.

Файлы, определяющие меню загрузки Grub, приходят в большинстве случаев с последней системой, установленной на компьютере, поэтому Grub Customizer должен быть установлен и использоваться из системы , которая Linux.

    
ответ дан Nitin Venkatesh 31.01.2012 в 18:30
источник
205

Вы также можете изменить начальную загрузочную запись grub из командной строки без необходимости установки какого-либо дополнительного инструмента. Это не изменит порядок в списке, но позволит по-разному загружать другую ОС, что походит на то, что вы можете пожелать в любом случае.

Сначала создайте резервную копию /etc/default/grub . Если что-то пойдет не так, вы можете легко вернуться к хорошо известной копии:

sudo cp /etc/default/grub /etc/default/grub.bak

Затем отредактируйте файл, используя vim или текстовый редактор по вашему выбору:

sudo vim /etc/default/grub

Найдите строку, содержащую

GRUB_DEFAULT=0

и установите его в

GRUB_DEFAULT=x

где x - индекс элемента меню grub, к которому вы хотели бы загрузиться по умолчанию. Обратите внимание, что пункты меню ноль-индексируются. Это означает, что первый элемент в списке 0 и что шестой элемент на самом деле 5 . Таким образом, чтобы загрузить шестой элемент в списке, строка будет читать:

GRUB_DEFAULT=5

Если вы забыли порядок пунктов, посмотрите /boot/grub/grub.cfg . Каждая запись меню задается строкой типа:

menuentry 'Ubuntu' [options] {

Вы также можете выбрать значение по умолчанию вместо имени индекса, например:

GRUB_DEFAULT='Ubuntu'

, если на menuentry 'Ubuntu' есть /boot/grub/grub.cfg . Это может быть лучший метод, поскольку он не зависит от порядка записей, которые могут измениться.

Чтобы использовать ядро ​​в подменю «Предыдущие версии Linux», используйте:

GRUB_DEFAULT="Previous Linux Versions>x"

(обязательно включите цитаты), где x - индекс старого ядра в подменю или имя ядра, как оно отображается в /boot/grub/grub.cfg . Например,

Затем создайте обновленное меню grub:

sudo update-grub
    
ответ дан dcharles 07.03.2012 в 04:44
34

Из сайта tombuntu (статья Tom ):

  

GRUB можно настроить с помощью файла /etc/default/grub . До тебя   внесите в него какие-либо изменения, может быть хорошей идеей поддержать его   создание копии:

sudo cp /etc/default/grub /etc/default/grub.bak
     

Вы можете восстановить копирование резервной копии по оригиналу:

sudo cp /etc/default/grub.bak /etc/default/grub
     

Откройте файл с помощью текстового редактора с привилегиями root:

gksu gedit /etc/default/grub
     

Строка GRUB_DEFAULT=0 означает, что GRUB выберет первое меню   элемент для загрузки. Измените это на GRUB_DEFAULT=saved . Это изменение будет   упростить изменение элемента по умолчанию позже.

     

Сохраните и закройте файл. Запустите эту команду, чтобы применить свои изменения к   Конфигурация GRUB:

sudo update-grub
     

Сконфигурированное изменение конфигурации позволяет использовать набор grub-default и   grub-reboot, которые будут использоваться в любое время. Они позволяют изменять   загружаемый элемент по умолчанию навсегда или только для следующей загрузки,   соответственно.      

Запустите grub-set-default или grub-rebootsudo ) с номером   пункта меню для загрузки (первый элемент равен 0). Эта команда будет   измените значение по умолчанию на второй элемент:

sudo grub-set-default 1
    
ответ дан silenTK 11.06.2012 в 19:04
-2

Я попробовал следующее и получил хорошие результаты.

Откройте окно терминала ( Ctrl + Alt + T ),

Введите sudo gksu nautilus и нажмите Enter. Введите пароль пользователя.

Перейдите к файлу /boot/grub/grub.cfg . Скопируйте и вставьте файл в тот же каталог, чтобы создать резервную копию файла grub.cfg. Затем дважды щелкните grub.cfg, чтобы открыть файл в текстовом редакторе.

В файле вы найдете строку ( set default="0" ). Измените 0 на номер строки в Grub, который вы хотите загрузить. Шахта была шестой строкой, поэтому я использовал 5, так как первая строка считается 0. Сохраните файл. Перезагрузите компьютер, и если вы выбрали правильную строку, он будет выделен, когда Grub загрузится.

Удачи.

    
ответ дан Outkast 19.09.2012 в 22:08
-5

Откройте окно терминала ( Ctrl + Alt + T ) или нажмите Alt + F2 .

Введите gksu nautilus и нажмите Enter .

Это откроет браузер файлов Nautilus с разрешением на изменение файлов, принадлежащих root.

Перейдите к файлу /boot/grub/grub.cfg и дважды щелкните, чтобы открыть файл в текстовом редакторе.

Вырезать, переместить и вставить разделы в том файле, который принадлежит к разным операционным системам. Вы должны быть очень осторожны при выполнении этого, как будто вы делаете это неправильно, тогда вы больше не сможете загружаться. Загрузка Windows всегда может быть восстановлена ​​с помощью инструментов с установочного диска Windows ( FIXMBR ), который перезаписывает GRUB-MBR с типичным Windows-MBR.

Я тестировал его с Ubuntu 9.04 до 12.04, и он работал нормально каждый раз.

Но я только попытался переместить раздел загрузки Windows в начало списка, чтобы он стал по умолчанию.

Если моя память правильная, каждый раздел меню загрузки в файле начинается с begin ... и заканчивается ... end . И охватывает несколько строк текста.

Текст в этом файле стал немного более сложным, и он не выглядит таким же в последней версии Ubuntu, как в предыдущих версиях. Таким образом используйте свой мозг , чтобы спасти вас от совершения ошибки.

    
ответ дан Curt Jonsson 05.07.2012 в 20:01