Як змінити порядок завантаження GRUB?


336

У мене і 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 (безпечне завантаження)
  • Тест пам'яті
  • Тест пам'яті

5
Подібні запитання та відповіді: askubuntu.com/questions/52963/…
fossfreedom

Ви зробили 'sudo update-grub' після зміни файлу grub?
Tinellus

так, я думаю, я, можливо, забув це зробити, дякую! Я спробую і оновити результати.
jeffery_the_wind

kubuntu 14.04, sudo apt-get install kde-config-grub2потім у системній конфігурації відключення запуску запуску
n611x007

Відповіді:


295

Ви можете використовувати простий у користуванні GUI-додаток під назвою Grub Customizer, щоб полегшити ваше життя. Як випливає з назви, ви можете зробити набагато більше, ніж просто переупорядкувати записи меню GRUB з ним.

Ви можете встановити його:

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

(Див. Задати питання Ubuntu. Чи безпечно додати PPA до моєї системи та на які «червоні прапори» слідкувати? )

Про це є стаття How-To Geek про те, як налаштувати меню завантаження Linux GRUB 2 Easy Way . Погляньте на це, якщо вам цікаво. Також на форумах Ubuntu є вирішена тема, змінити порядок завантаження в GRUB 2, який згадує цей інструмент.

Ось кілька скріншотів:

екран_1

екран_2

екран_3


Деякі способи усунення несправностей:

Налаштування Grub Customizer можуть працювати лише в межах останньої установки Linux / Ubuntu, тієї, що встановила Grub.

Наприклад, якщо у когось встановлено два ОС (Windows та Ubuntu), а потім встановлюється третя ОС (Manjaro тощо), а потім намагається дотримуватися вищевказаної відповіді, зміни Grub Customizer не працюватимуть, коли вони зроблені з другої ОС ( Ubuntu, у прикладі). Програму потрібно встановити в третій ОС, оскільки, здається, що Grub Customizer може редагувати лише файли Grub, створені установкою системи, на якій сама встановлена.

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


4
Найкращі вітання :) Скріншоти надходять із блогу, який пов’язаний вище: P
Нітін Венкатеш,

2
Це не працює з останньою Ubuntu. Чи можемо ми отримати тут оновлений пост?
AT

7
Я думаю, що ваша відповідь хороша і корисна, тому, будь ласка, не зрозумійте мене неправильно. Хоча інструменти графічного інтерфейсу акуратні та прості, вони приховують факти. Відповідь Марве нижче обговорює файли, які використовуються, та способи їх оновлення вручну, даючи зрозуміти, як працює Grub. Коли графічний інтерфейс не вдасться, а для деяких він, принаймні, зазирне в основу - вони не такі вже й складні, адже ручне маніпулювання, ймовірно, буде простішим у довгостроковій перспективі.
barrypicker

1
Я також зіткнувся з проблемами використання цього інструменту. Здається, він оновлює коректність / etc / default / grub, але тоді він говорить, що ядро ​​скидає і скасовує.
Маурісіо Грація Гутьєррес

1
Для цього потрібне оновлення, пов'язане з подвійним рівнем поточного меню груб.
Hannu

243

Ви також можете змінити запис завантаження за замовчуванням 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індекс елемента меню, який ви хочете завантажувати за замовчуванням. Зверніть увагу, що пункти меню індексуються нулем. Це означає, що перший пункт у списку є, 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_DEFAULT="Previous Linux Versions>4.13.0-43-generic"

Потім складіть оновлене меню grub:

sudo update-grub

5
Останнє, що я подивився, grub2 генерує стільки записів на льоту, що важко зрозуміти, яке число використовувати для запису.
Джо

52
Використання індексу може бути досить безладним - список ОС може змінюватися після оновлення. Але ви можете заглянути /boot/grub/grub.cfg та знайти ім'я потрібної ОС за замовчуванням. Тоді скористайтеся цитованою назвою замість індексу. Приклад: GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)"замістьGRUB_DEFAULT=7
geekQ

1
Для цього потрібне оновлення, пов'язане з подвійним рівнем поточного меню груб.
Hannu

5
З поточною версією Ubuntu 16.04, якщо ви хочете вибрати конкретне ядро ​​для завантаження, вам потрібно додати до Advanced options for Ubuntuпідменю, як це:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic'
Джефф Вільямс,

1
@BandaMuhammadAlHelal Це спробує завантажити 7-й елемент у вашому списку - це те, що ви хочете? Якщо ви хочете 6-й елемент у своєму списку, використовуйте GRUB_DEFAULT=5.
Нік

39

З сайту tombuntu (стаття Тома ):

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-set-default та grub-reboot в будь-який час. Вони дозволяють постійно змінити елемент завантаження за замовчуванням або тільки для наступного завантаження відповідно.

Запустіть grub-set-defaultабо grub-rebootsudo) з номером пункту меню для завантаження (перший пункт - 0). Ця команда змінить типовий параметр на другий елемент:

sudo grub-set-default 1

15
Ця відповідь взята майже дослівно з tombuntu.com/index.php/2011/09/25/… . Будь ласка, надайте кредит там, де належить кредит.
Джеймс Макмахон

Ця відповідь, схоже, не змінює порядок завантаження елементів.
Спархак

Я використовую Linux Mint Debian Edition. У мене не було / etc / default / grub, але знайдено значення GRUB_DEFAULT для зміни було замість /etc/grub.d/00_header. Змінивши GRUB_DEFAULT у 00_header з потрібним ім'ям для завантаження, я просто запустив "sudo update-grub" і вуаля, успіх.
Нечіткий аналіз

Я бачив ці самі команди в tipsonubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04. Я зрозумів, що ці команди працюватимуть лише в тому випадку, якщо вони були видані з системи в порядку завантаження 0 спочатку.
Ведмідь Сонця

-2

Я спробував наступне і отримав хороші результати.

Відкрийте вікно терміналу ( Ctrl+ Alt+ T),

Введіть sudo gksu nautilusі натисніть Enter. Введіть свій пароль користувача.

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

У файлі ви знайдете рядок ( set default="0"). Відредагуйте 0 до номера рядка в Grub, який ви хочете завантажити. У мене був шостий рядок, тому я використав 5, оскільки перший рядок вважається 0. Збережіть файл. Перезавантажте ПК, і якщо ви вибрали правильний рядок, він буде виділений під час завантаження Grub.

Удачі


10
як ви бачите на початку файлу, там написано, що цього робити не слід. замість цього відредагуйте /etc/default/grubта запустіть update-grub.
сазарій

7
і я б не рекомендував gksu nautilus. Занадто просто скинути бомбу в вашу систему звідти.
sylvainulg

перевірити цей пост: psychocats.net/ubuntu/bootmenu
tqjustc

Чомусь ця відповідь відображається як "автоматична відповідь" в google при пошуку: "порядок зміни завантаження grub".
lepe

@lepe, не хвилюйся, для мене типовим є linuxandubuntu.com/home/…
vladkras

-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, як у попередніх версіях. Тож використовуйте свій мозок, щоб врятувати вас від помилки.


4
Хіба вам не доведеться бігати sudo update-grubв якийсь момент?
Елія Каган

4
/boot/grub/grub.cfgперезаписується при кожному встановленому / оновленому пакеті, викликаючи оновлення Grub, ефективно викликаючи update-grub. І це породжує нове grub.cfg. Отже, налаштування Grub виконується у файлах у /etcкаталозі, як пояснено іншими відповідями, щоб переконатися, що воно є стійким.
gertvdijk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.