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

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

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

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

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

  • Windows 7 на /dev /sda6
  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (безопасная загрузка)
  • Тест памяти
  • Тест памяти
307 голосов | спросил chrisjlee 31 Jpm1000000pmTue, 31 Jan 2012 20:18:09 +040012 2012, 20:18:09

5 ответов


277

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

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

sudo add-apt-repository ppa: danielrichter2007 /grub-customizer
Обновление sudo apt-get
sudo apt-get install grub-customizer

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

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

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

screen_1

screen_2

screen_3


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

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

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

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

ответил Nitin Venkatesh 31 Jpm1000000pmTue, 31 Jan 2012 21:30:39 +040012 2012, 21:30:39
217

Вы также можете изменить начальную загрузочную запись 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 - это индекс элемента меню grub, к которому вы хотели бы загрузиться по умолчанию. Обратите внимание, что пункты меню ноль-индексируются. Это означает, что первый элемент в списке 0 и что шестой элемент на самом деле 5. Таким образом, чтобы загрузить шестой элемент в списке, строка будет читать:

GRUB_DEFAULT = 5

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

menuentry 'Ubuntu' [опции] {

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

GRUB_DEFAULT = 'Ubuntu'

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

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

GRUB_DEFAULT = "Предыдущие версии Linux> x"

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

GRUB_DEFAULT = "Предыдущие версии Linux> 4.13.0-43-generic"

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

sudo update-grub
ответил dcharles 7 MaramWed, 07 Mar 2012 07:44:17 +04002012-03-07T07:44:17+04:0007 2012, 07:44:17
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 = сохраненный. Это изменение будет   упростить изменение элемента по умолчанию позже.

     

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

sudo update-grub
     

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

     

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

sudo grub-set-default 1
ответил silenTK 11 J0000006Europe/Moscow 2012, 21:04:38
-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 20 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 20 Sep 2012 00:08:23 +0400 2012, 00:08:23
-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 5 J000000Thursday12 2012, 22:01:20

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132