Как изменить порядок загрузки операционных систем (Linux, Windows) в GRUB
Всем привет! Сегодня я расскажу о простом способе изменения порядка загрузки операционных систем (Linux, Windows) в загрузчике GRUB, который не требует правки различных конфигурационных файлов, все будет выполняться в удобном графическом интерфейсе.
Данная процедура будет Вам полезна, если у Вас на компьютере установлено несколько операционных систем Linux и Windows, например, Linux Ubuntu и Windows 10. О том, как установить себе на компьютер Linux Ubuntu второй системой рядом с Windows 10 с учётом особенностей UEFI, я подробно рассказывал в отдельной статье – Установка Linux Ubuntu рядом с Windows 10 на компьютере с UEFI.
Но в такой конфигурации по умолчанию будет загружаться Linux Ubuntu, однако многим хочется изменить данный порядок, например, чтобы по умолчанию загружалась Windows 10 или любая другая система, иными словами, отсортировать порядок так, как им хочется. Как я уже об этом говорил ранее, это можно сделать, и сейчас я подробно расскажу о том, как это делается, т.е. как изменить порядок загрузки операционных систем в загрузчике GRUB.
Введение
Итак, на текущий момент у Вас при включении компьютера появляется меню загрузчика GRUB, в котором первым пунктом идет операционная система Linux Ubuntu (или другой дистрибутив Linux, в моем случае именно Ubuntu). Выглядит это меню следующим образом.
- Ubuntu – это как раз операционная система Linux Ubuntu;
- Windows Boot Manager (на /dev/sda2) – это Windows 10.
Если ничего не выбрать, то через несколько секунд, по умолчанию, будет загружаться Ubuntu.
У нас стоит задача изменить порядок загрузки операционных систем таким образом, чтобы первым пунктом стояла Windows 10 и, соответственно, загружалась также первой. Дополнительно, для удобства и ясности, мы хотим присвоить пункту Windows Boot Manager более удачное имя, например – Windows 10.
Все этом можно реализовать с помощью одной программы – Grub Customizer, которую можно использовать в Linux Ubuntu.
Таким образом, сейчас я покажу, как установить Grub Customizer в Linux Ubuntu, и изменить порядок загрузки операционных систем в загрузчике Grub, используя эту программу.
На заметку! Начинающим пользователям Linux рекомендую почитать мою книгу « Linux для обычных пользователей » – в ней я максимально подробно рассказываю про Linux и о том, как пользоваться этой операционной системой без командной строки
Обзор программы Grub Customizer
Grub Customizer – это программа с графическим интерфейсом для редактирования настроек загрузчика GRUB.
Основные возможности Grub Customizer:
- Добавление и удаление операционных систем в меню GRUB, которое появляется во время загрузки компьютера;
- Изменение порядка загрузки ОС;
- Изменение времени ожидания перед загрузкой;
- Изменение оформления загрузчика GRUB (шрифт, цвет шрифта, фон и так далее).
Установка Grub Customizer в Ubuntu
Установить Grub Customizer в Ubuntu не составит труда, в Ubuntu 19.04 это можно сделать с помощью менеджера приложений (в предыдущих версиях Ubuntu возможно потребуется устанавливать PPA репозиторий).
Шаг 1 – Запускаем менеджер приложений
Сначала запускаем менеджер приложений, и для того чтобы найти нужный пакет в поиск, вводим grub сustomizer.
Шаг 2 – Запускаем установку Grub Customizer
Затем щелкаем по найденному пункту. После того как откроется окно с описанием программы, нажимаем «Установить».
Далее потребуется ввести пароль, так как процесс установки программ в Ubuntu требует дополнительных привилегий.
Шаг 3 – Запускаем программу Grub Customizer
Когда появится кнопка «Запустить», установка будет завершена. Мы можем нажать на данную кнопку, чтобы сразу запустить Grub Customizer. Также программу можно запустить и из меню приложений.
Для запуска программы снова потребуется ввести пароль, так как изменение порядка загрузки операционных систем в GRUB также требует дополнительных прав.
После запуска программы у Вас отобразится интерфейс Grub Customizer.
Изменение порядка загрузки операционных систем
Для того чтобы изменить порядок загрузки ОС, выберите нужный пункт, и нажмите кнопку перемещения вверх или вниз на панели инструментов, в зависимости от выбранного пункта.
Я для примера выберу Windows Boot Manager, и перемещу его в самый верх.
Переименование пунктов загрузочного меню
Теперь давайте переименуем пункт Windows Boot Manager в Windows 10. Для этого достаточно щёлкнуть двойным кликом по пункту и ввести новое имя.
Сохранение настроек, загрузка и проверка порядка ОС
После ввода всех настроек необходимо нажать кнопку «Сохранить», для того чтобы все введенные параметры сохранились.
В случае необходимости Вы можете перейти на дополнительные вкладки: «Основные настройки» и «Настройки оформления». Например, для того чтобы изменить шрифт меню загрузчика или цвет шрифта.
После ввода и сохранения всех настроек выключаем компьютер, и включаем его заново и смотрим, изменилось ли меню загрузчика.
В моем случае все настройки были применены и теперь по умолчанию у меня загружается Windows 10.
Видео-инструкция
У меня все, надеюсь, материал был Вам полезен, пока!
При загрузке компьютера отсутствует окно выбора ОС после установки Linux Mint 19.3 к Windows 8.1
Здравствуйте! Впервые обращаюсь с каким-либо техническим вопросом на форуме. Я абсолютный новичок в Linux, и хотел с сегодняшнего дня начать своё знакомство с Linux Mint 19.3. Сделал всё как было написано в инструкциях и сказано в видео-гайдах на YouTube. Linux работает идеально, но он сразу запускается, не выдав окно выбора ОС. Как мне сделать этот выбор, ибо у меня очень много важных программ и материалов на Windows для работы, и если я не верну к ней доступ, то это будет ужасно. Что мне сделать, если я даже не умею здесь пользоваться терминалом?
наброс защитан
Что мне сделать, если я даже не умею здесь пользоваться терминалом?
- открывай терминал
- выполни команду
Выполнил? Поздравляю, ты сохранил информацию о разделах своего компьютера в файле list-of-partion.
- размести файл list-of-partion на pastebin-сервисе (любом общедоступном).
- опубликуй ссылку в своём ответе в этой теме.
В «видео-гайдах на YouTube» нет решения?
Ты бы хоть ссылку на инструкцию запостил.
Ладно, попробуем экстасенсорные навыки — при загрузке подержи Shift и ты скорее всего попадешь в menu grub, где сможешь выбрать загрузку windows.
тем временем я повангую
Так-то у тебя UEFI (99,999%, но проверить не мешает). Mint загружается grub-ом. Достаточно немного подправить конфиг grub и будет тебе выбор ОС при загрузке…
Пришлось погуглить, что это за сервисы такие, но надеюсь, что всё сделал так, как вы сказали)
Не помогло, всё равно Linux никого не спрашивая грузится(
Сейчас почитал за UEFI, проверил и выяснилось, что да, UEFI стоит
Посмотрел, почитал, нашёл и у меня следующие строчки:
Не даёт сохранить файл. Сейчас ещё правда попробую
Права на файл не меняй, просто редактируй с sudo.
sudo update-grub не забудь после правки файла дёрнуть.
надо по хорошему править файл /etc/default/grub. Потом идешь туда где лежит твой grub.cfg(при efi ты в /boot без рута не войдешь) и делаешь grub-mkconfig -o grub.cfg
Поздравляю! Ты делаешь успехи 🙂
Да всё верно. В твоём компьютере UEFI. А grub не предлагает выбора OS при загрузке т.к. о Windows «ему не сказали».
Самое простое решение (например здесь) указать grub на windows
у меня нет dualboot-систем под рукой. этот код я не проверял и он может не работать или работать неправильно 🙁 но… это решаемая ситуация
сохрани файл, нажав «Ctrl+O» (потребуется также подтвердить это)
закрой nano, нажав «Ctrl+X»
обнови конфиг grub, выполнив в терминале команду
- осталось проверить результат. перезагрузи компьютер. должно появится меню загрузчика как минимум из 2 пунктов. оно должно показываться 5 секунд, если за это время не сделать выбор загрузиться Mint
я эту часть проверить на ошибки не могу. поэтому использование google обязательно. Удачи!
Как и какой программой ты редактируешь файл? Если в графическом редакторе, то порой бывает не совсем тривиально открыть файл через файл-менеджер под рутом.
Если уже смог в vi/vim, то используй его: sudo vim /etc/default/grub (ну, или какой ты файл правишь)
Что мне сделать, если я даже не умею здесь пользоваться терминалом?
Если уже смог в vi/vim, то используй его: sudo vim /etc/default/grub
ждем следующий тред
мне посоветовали отредактировать файл в vi. и у меня…
Всё сделал как вы сказали, только перед этим (гугл в помощь) скачал Grub Customizer и настроил через него файл. Теперь отобразилось меню выбора ОС при загрузке, но там были три пункта:
- Linux Mint
- Дополнительные параметры Linux Cinnamon или как-то так
- Setup System, которая вела в UEFI Это было страшно видеть, что Windows отсутствует в этом списке. Потом через редактор nano прописал и сохранил, но при выполнении команды «sudo grub-update» терминал пишет, что такой команды нет, а если я меняю (по руководству) порядок на «sudo update-grub», то он пишет, что для выполнения этой команды требуются права суперпользователя, а я не понимаю, как ему их дать
Самое обидное, что у меня даже отображаются диски с данными. Один из них прям и называется: «OS Windows 8.1 PRO» с файлами всеми Windows. Может через него как-то можно запустить её?
Простите, я вынужден отлучиться на час — полтора. Когда вернусь — отпишусь и все новые сообщения прочитаю
https://losst.ru/nastrojka-zagruzchika-grub Почитай вот здесь, там есть несколько разных способов. Рекомендую разобраться и настроить grub вручную. Графическую утилиту я ни разу не использовал, потому не знаю, насколько она хорошо работает. Плюс придется ее ставить скорее всего через ppa.
Наверное, это было не лучшее предложение с моей стороны – предлагать ручную настройку. Смотри сейчас у тебя несколько вариантов:
- установить пакет os-prober и «найти и добавить» windows в конфиг grub с его помощью. Подробности погугли.
- разобраться с ручной правкой конфига. (от советов я воздержусь по-меньшей мере пока)
- загрузить windows из командной строки grub. Только я не уверен, что тебя такой метод устроит.
Setup System, которая вела в UEFI
это именно настройки BIOS/UEFI были или «черная консоль»?
при выполнении команды «sudo grub-update» терминал пишет, что такой команды нет,
а если я меняю (по руководству) порядок на «sudo update-grub», то он пишет, что для выполнения этой команды требуются права суперпользователя, а я не понимаю, как ему их дать
это должно решиться следующими командами в терминале:
может затребовать пароль пользователя
exit – необходим для завершения оболочки суперпользователя.
Попробуй сначала обновить конфиг grub. И посмотри в терминале добавился пункт с windows или нет?
Если я ничего не путаю, то grub.cfg будет в /boot/grub/ и команда
выдаст список всех пунктов меню, в том числе и windows должен быть.
Да, именно настройки, с графическим интерфейсом и кучей переключателей и вкладок (Я про UEFI). Команды сейчас в терминале попробую
Есть несколько пунктов с Mint Cinnamon, но с Windows не одного нет 🙁
После ввода команды: «update-grub exit» он начал ругаться на синтаксис того, что я написал в nano: «Добавление записи в загрузочное меню для конфигурации с микропрограммой EFI /etc/grub.d/40_custom: 3: /etc/grub.d/40_custom: menuentry: not found /etc/grub.d/40_custom: 4: /etc/grub.d/40_custom: regexp: not found /etc/grub.d/40_custom: 5: /etc/grub.d/40_custom: chainloader: not found /etc/grub.d/40_custom: 6: /etc/grub.d/40_custom: Syntax error: «>» unexpected» P.S. Несколько строчек кода сверху я не стал писать Вроде я в nano написал без ошибок, в гугле информации только не нашёл
я тоже мог где-то ошибиться. выложи на pastebin файл /etc/grub.d/40_custom – попробуем разобраться, что не так.
кажется, снова я был невнимателен. замени menuentry на submenu. затем попробуй снова обновить конфиг.
Попробовал, но всё так же не получилось 🙁
Хочу спросить. Если я сейчас удалю Linux Mint, то это ещё не значит, что я этим способом вернусь на Windows без переустановки?
Не надо ничего удалять или переустанавливать. Можешь, пока с grub не решиться, в System Setup выбрать загрузку windows. Mint при этом грузиться перестанет. Не знаю может там и настроить можно загрузку разных ОС, хотя это вряд ли.
в общем я разобрался, где тебя подставил 🙁
сохрани этот текст, как /etc/grub.d/40_custom и обнови конфиг
я выложил этот файл на pastebin
тебе нужно его загрузить и «залить» в /etc/grub.d/40_custom командами
проверить права и пользователя (в этой чехарде могло что-то изменится)
троеточием я заменил неважный нам вывод, если будет что-то другое пиши что не так. если всё совпало, обновляй конфиг.
и закрой оболочку суперпользователя командой exit.
Простите, наверное глупый вопрос, но не могу не много разобраться. Терминал постоянно, как бы я не записывал, пишет «Нет такого файла или каталога», когда я прописываю имя загружаемого файла
он же в каталоге Download (Загрузки или иначе как-то), а терминал вероятно в домашней директории пользователя. Не обижайся, я всё забываю что многое тебе неочевидно…
выполни в терминале
Вроде получилось файл залить, но при выполнении следующей команды выдаёт «-rw-r–r– 1 root root», а не «-rwxr-xr-x 1 root root»
я вот думаю «а не ошибся ли я снова?». конфиг не обновляется?
первая команда вернет права на исполнение файла. вторая позволит в этом убедиться. третья покажет содержимое файла
О, после второй команды вывелось то, что нам требовалось: «-rwxr-xr-x 1 root root», вошёл в оболочку суперпользователя, ещё раз убедился в том, что вывелось то, что нам надо, обновил конфиг и опять вывелись эти ошибки: «https://pastebin.com/p7Lp1dVn»
Получилось! Разыскал в интернете команду по удалению файлов, разобрался, что эти файлы «40.custom.save.1» и т.д. понасоздавал я сам, видимо через Nano, когда разбирался в его функционале. Сейчас обновил конфиг с правами суперпользователя и мне написало: «Добавление записи в загрузочное меню для конфигурации с микропрограммой EFI завершено» — Это хороший знак?
молодец, догадался убрать не нужное.
мне написало: «Добавление записи в загрузочное меню для конфигурации с микропрограммой EFI завершено» — Это хороший знак?
думаю, да. посмотри grub.cfg
если добавился пункт с windows, пора проверять работоспособность этого пункта 🙂
Всё проделал, но пункта с Windows так и не появилось. Боюсь вот, чтобы загрузочные файлы винды не «затёрлись»
пункта с Windows так и не появилось
Потому, что начали не с того конца.
Первое, что нужно сделать, выяснить, БИОС у тебя или УЕФИ. Вроде выяснили, что УЕФИ. Следующий шаг, какой режим включен в УЕФИ: ЕФИ или легаси.
Главное правило, все должно быть в одном режиме: УЕФИ, загрузчики, системы.
Без этого никакая магия не поможет тебе запускать системы.
Следующий шаг. Выяснить, в каком режиме запущен линукс. В файловом менеджере идешь в каталог /boot/grub. Если видишь в нем каталог i386-pc, то установлен грубПС. Если видишь каталог x86_64-efi, то установлен грубЕФИ. Зайди в каталог /sys/firmware. Если видишь там каталог efi, и в этом каталоге тоже есть файлы, то система запущена в режиме ЕФИ. Если каталога efi нет, то система запущена в режиме легаси. После этого выяснить, в каком режиме установлена Виндовс.
Grub Customizer — настройка загрузчика системы
По идее все должно быть довольно просто (но это не точно).
Устанавливаешь os-prober или как то так, поищи в репозитории.
Затем: grub-install /boot/efi (убедись что efi раздел примонтирован- команда mount ). Эта команда переустановит загрузчик.
Далее: grub-mkconfig -o /boot/grub/grub.cfg Эта команда сконфигурирует конфиг и выведет на экран разделы efi
PS в системе должен быть установлен efibootmgr
любезный, не в коем случае не ставлю под сомнение ваши знания и опыт, но
значительную часть этого треда я пытался помочь ТС добавить в меню grub пункт для загрузки Windows … и ничего не получилось. Действительно, магия какая-то 🙁
Оставим за скобками содержание этого пункта (я вполне допускаю, что там что-то может быть не верно), но вот почему он не добавляется в конфиг? Вопрос о его работоспособности не стоит на повестке дня просто потому, что он не добавляется в конфиг.
Может вы можете пояснить почему его отвергают? Я, честное слово, уже не понимаю, почему легальным образом не получается изменить конфиг загрузчика.
можете пояснить почему его отвергают?
Учитывая опыт ТС, сам боюсь того момента, когда придется объяснять ему, как редактировать конфиг. Честно говоря, в голом терминале или с помошью nano я бы не рискнул это делать. Без MC как без рук.
эти вещи не взаимосвязаны
- пункт с Windows в меню загрузчика
- загрузочные файлы винды
если есть и то и другое, то windows будет загружаться из меню загрузчика Mint. только и всего.
Ладно, давай действительно проверим есть ли там загрузчик Windows. Раздел /dev/sda7 должен быть примонтирован в точку /boot/efi примонтирован?
ну, не знаю… человеческий фактор (в данном случае ТС) причина очевидная. мне показалось, что он быстро учиться и элементарные ошибки сам устраняет. вроде бы все исправили, а результата нет 🙁
я подумал, что вы свежим взглядом укажете на какой-то очевидный ляп… я вот не вижу ничего «криминального».
укажете на какой-то очевидный ляп…
Иногда, при генерации конфига, udate-grub видит ошибки и даже создает конфиг, но с другим именем (не помню с каким), но действующим остается старый. Иногда ошибка может попасть в новый конфиг. В этом случае бывает так, что часть конфига до ошибки выводится на экран и работает, а часть после ошибки не выводится. Поэтому новый, непроверенный код лучще помещать в конце конфига. Есть шанс, что хотя-бы часть конфига до ошибки останется рабочей.
Сегодня попробовал, добавил твой код в 40_custom. Конфиг сгенерировался без ошибок. Проверить работу не могу, нет УЕФИ, да и винды нет. Если проанализировать, то вторая строка вроде правильная, но чтобы она сработала, в первой нужно как минимум установить правильное значение переменной root. Не очень знаком с командой regexp, не уверен, что она делает то, что нужно.
Продолжаем разговор. Решил практически посмотреть. В конфиг груба добавил код:
До регекспа в переменной root (hd0,msdos1). Это было-бы правильным значенем. В переменной cmdpath (hd0). После регекспа в переменной root hd0, т.е. команда вырезала скобки. Но хоть со скобками, хоть без, это значение неверно. Загрузчик не будет найден.