Как отредактировать загрузку нескольких ОС Windows, Linux — как выбрать какую систему загружать по умолчанию (настройка GRUB)
Подскажите, с одной проблемой. У меня на диске была установлена Windows 10, затем я установил еще одну Windows. Теперь по умолчанию после включения компьютера — загружается именно вторая новая система (мне же приходится вручную на этапе загрузки успевать указывать свою «родную» 10-ку).
Как сделать так, чтобы по умолчанию стартовала моя основная Windows 10. Спасибо!
Да, вы правы, при установке еще одной версии ОС Windows — она будет загружаться по умолчанию! Исправить это можно 👉 в свойствах системы (ниже покажу на примерах, как это делается).
Настройка загрузки: выбор ОС по умолчанию
Если установлено несколько версий ОС Windows 7/10/11
Вариант 1
Обратите внимание на фото с окном выбора ОС ниже 👇 (такое, обычно, бывает при использовании Windows 10/11, в Windows 7 — просто список на «черном» фоне).
Окно, появляющееся после вкл. ПК/ноутбука (по умолчанию 30 сек. отображается)
Далее появится окно, в котором вы сможете установить таймер (как долго будет отображаться окно с выбором ОС) и выбрать ОС по умолчанию. Если предложенных параметров недостаточно — загрузите пока какую-нибудь копию Windows и переходите к нижеприведенным инструкциям.
Вариант 2
Выбрать ОС Windows по умолчанию (как уже говорил выше) можно в 👉 свойствах системы.
Самый простой способ открыть их — вызвать меню «Выполнить» (сочетание кнопок Win+R ) и использовать команду sysdm.cpl (также это команду можно использовать в диспетчере задач).
sysdm.cpl — диспетчер задач
Загрузка и восстановление системы, отладочная информация
В появившемся окне вы сможете выбрать нужную ОС (для ее загрузки по умолчанию) и установить таймер. См. пример на скрине ниже. 👇
Важно! Рекомендую с осторожностью выставлять значение «0» в таймере отображения списка ОС Windows! Например, если вы ошибочно укажите «0» и выберите «неработающую» ОС — могут быть сложности при загрузке. (и придется прибегать к восстановлению).
Операционная система, загружаемая по умолчанию
Вариант 3 (+ удаление «ненужных» ОС)
Этот способ хорош еще и тем, что позволяет удалить ненужные ОС (правда, с этим следует быть осторожным: если надумали удалять что-то — 👉 см. эту инструкцию ).
msconfig — конфигурация системы
Если установлена Linux + ОС Windows (меню GNU GRUB)
GNU Grub // меню после вкл. ПК/ноутбука // В качестве примера
Для ее установки в Ubuntu используйте команду:
sudo apt install grub-customizer
Если появятся ошибки — попробуйте выполнить поочередно следующие команды:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
Пример установки и запуска grub-customizer (Linux Mint)
Далее откройте окно основных настроек и установите время отображения меню Grub, а также тот пункт в списке, который будет выбран по умолчанию (в моем случае это Windows Boot Manager). 👇
Есть также вкладка «Настройки оформления» — может быть архи-полезна, если на вашем экране элементы Grub выглядят мелко / или плохо-читаемы. Шрифт текста можно увеличить вручную!
В общем-то, при следующей загрузке ПК вы должны заметить, что по умолчанию курсор в меню стоит на той ОС, которую вы выбрали. Т.е. задача решена?! 👌😉
Меню grub загружающего более 100 операционных систем dos windows linux bsd и solaris
Очень Важно: Если Вы не владеете теорией и практикой по работе с MBR, GPT, предварительно, сделайте как минимум копию таблицы разделов, и как максимум, копию диска.
Особено, это касается владельцев ноутбуков с технологией автоматического восстановления, в дополнение к верхнему, сделайте отдельно копию резервной партиции, MBR и копию таблицы разделов с указанием секторов.
Коротко о MBR.
Для MBR нет стандарта, но традиционно считается, таблица разделов MBR может содержать описание только четырех основных разделов диска.
Поскольку, основная таблица разделов MBR может содержать не более 4 первичных разделов, поэтому был изобретён Расширенный раздел (англ. extended partition).
Это первичный раздел, который не содержит собственной файловой системы, а содержит другие логические разделы, позволяя увеличивать количество разделов на диске.
Коротко о GPT (GUID Partition Table).
GPT является частью расширенного стандарта EFI, предложенного компанией Intel.
EFI, впоследствии стандарт UEFI, используется для замены BIOS, используемого всеми PC-совместимыми компьютерами.
Коротко о загрузке FreeBSD.
В данной заметке будет рассказано как установить Операционные системы Windows 7,8,10 и FreeBSD на один жесткий диск размером не более 2TB, используя Boot Manager от FreeBSD настроить DualBoot установленных систем.
Прежде чем приступить к практической реализации вопроса, необходимо рассмотреть возможности установки и загрузки ОС FreeBSD и выбрать наиболее простой метод размещения двух систем на диске.
Коротко о загрузке Windows 7,8,10.
В сравнении с версией ОС Windows XP, в указанных версиях ОС Windows, загрузчик полностью изменился.
Операционная система Windows поддерживает:
Выбор MBR схемы разметки диска для установки ОС.
Далее будет показано, как используя новый установщик FreeBSD, начиная с FreeBSD 9.3-RELEASE, разметить диск в MBR, установить и настроить Boot Manager.
Вариант 1. Установка FreeBSD, затем Windows 7/8/10 на MBR.
Для установки FreeBSD и Windows, в обычном BIOS настраиваем загрузку с CD/DVD или USB флешки.
В случае UEFI BIOS, переводим UEFI BIOS в режим Legacy.
1.1 Установка FreeBSD
Запускаем установку FreeBSD с CD/DVD или USB-Live, и доходим до разметки диска:
Выбираем наш диск, куда будут установлены ОС FreeBSD и Windows 7/8/10:
Получаем картинку следующего вида:
По-скольку, создаем разделы MBR или слайсы (slices) в терминах FreeBSD, Mountpoint не задается.
В результате, получим следующее:
Теперь, можно создавать партиции самой FreeBSD, курсор должен быть наведен на ada0s1
затем, «Create»:
Важно: ниже показано как убрать ufs-журналирование для корневой FS,
пока с ним в FreeBSD есть проблемы, выбираем Options:
Отменяем выбор SUJ:
подтвеждаем изменение опций: OK
и еще раз подтверждаем создание файловой системы: OK
Вот так будет выглядеть созданная файловая система для последующей установки на нее ОС FreeBSD:
Например, создание корня:
1.2 Установка Windows
Выделяем Незанятое место на диске 0 и нажимаем Далее, инициируем установку Windows на Незанятое место
Загружаемся с CD/DVD или USB-Live FreeBSD и выходим в SHELL, для установки Boot Manager FreeBSD:
В данном режиме, выполняем следующие команды:
Получаем следующую картину:
Примечание: Чтобы убрать из меню F3, необходимо снова воспользоваться boo0cfg для более тонкой настройки.
Вариант 2. Установка Windows 7/8/10, затем FreeBSD на MBR.
2.1 Установка Windows
Подразумевая что у нас чистый диск, размером 50GB, запускаем установку Windows:
Произведем разметку диска, создадим несколько партиций для логичских дисков Windows, нажимаем «Создать»:
Создаем первый раздел, размером 25GB:
Создаем еще один раздел MBR, для Windows логического диска D: размером 10GB
Производим установку Windows, по завершению которой, запускаем установку FreeBSD с CD/DVD или Live-USB.
2.2 Установка FreeBSD
Выбираем Create для создания слайса FreeBSD:
Создаем 4’ый слайс MBR под FreeBSD размером 16GB:
Получаем последний 4’ый раздел MBR с FreeBSD, в котором создадим партиции FreeBSD, используя Create:
Создаем партицию FreeBSD 2GB для корневой FS (должна быть первой: ada0s4a):
В опциях, отключаем UFS журналирование SUJ
Вид после создания корневой FS:
Создаем партицию под swap:
Вид после создания SWAP:
Создаем партицию под FS /usr:
Вид после создания /usr:
Создаем партицию под FS /var:
Вид после создания /var:
Создаем последнюю партицию под FS /home:
Вид после создания /home:
Для установки FreeBSD Finish, по завершению установки, выходим в Shell
и производим установку Boot Manager FreeBSD:
Ранее уже описывались используемые команды, по завершению, производим Reboot и получаем
меню Boot Manager FreeBSD.
Важно: в данной статье не рассматривалось выравнивание на границе партиций для сектора диска размером 4K.
Итог: Выше были рассмотрены два варианта установки систем FreeBSD и Windows на разделы MBR и настройка
Boot Manager FreeBSD для DualBoot.
Использование загрузчика GRUB2 для загрузки Windows 7/8/10 и FreeBSD.
Ниже будет показана установка и настройка загрузчика GRUB. Загрузчик grub2 будет установлен из ОС FreeBSD, в общем случае порядок установки ОС Windows и FreeBSD не важен.
В примере ниже, будет показана установка и настройка загрузчика grub2 из ОС FreeBSD:
Пусть мы загрузились в ОС FreeBSD, смотрим таблицу разделов:
Можно задать модули по-умолчанию в grub-install:
В документации grub2 не рекомендуют создавать файл конфигурации вручную, а рекомендуют выполнить: Однако во FreeBSD c генератором grub-mkconfig все время только проблемы, поэтому, советую создавать
/boot/grub/grub.cfg именно руками и не тратить время на отладку и правку grub-mkconfig.
В GRUB2, диски нумеруются с «0», а разделы с «1», с учетом этого создадим меню загрузки:
Получается следующая конфигурация:
Прежде чем комментировать конфигурацию, покажем общий шаблон для одного входа меню:
Я бы выделил еще один вариант загрузка собственного Loader‘а Операционной системы, который самостоятельно загружает родную ОС, он относится к спецификации Grub Multiboot, в отличие от прямой загрузки Kernel, ядра ОС, с параметрами.
Вернемся к меню /boot/grub/grub.cfg, для Windows 7/8/10:
Возможные проблемы.
1. Осталась альтернативная копия GPT:
— по какой-то причине, не удалилась альтернативная копия GPT, если Вы использовали GPT или меню Auto при установке FreeBSD.
определяем количество секторов на диске и вычитаем 34: пропускаем вычисленное количество секторов (задаем в seek=) и обнуляем последние 34:
4. Если хотите использовать только GPT разметку, BIOS должен быть UEFI для Windows и boot manager GRUB2 с поддержкой EFI.
Аббревиатура и сокращения.
Настройка запуска меню загрузчика GRUB при установке Linux с Windows на один компьютер с таблицей разделов GPT
Привет, Хабр! Сегодня мы рассмотрим ситуацию, когда при двойной установке Linux & Windows загрузчик GRUB не стартует, давая возможность выбрать ОС, а автоматически загружается Windows. Немного теории:
GRUB (GRand Unified Bootloader) — программа-загрузчик операционных систем.
GRUB может загрузить любую совместимую с ней операционную систему. Среди них: Linux, FreeBSD, Solaris и многие другие. Кроме того, GRUB умеет по цепочке передавать управление другому загрузчику, что позволяет ему загружать Windows (через загрузчик NTLDR), MS-DOS, OS/2 и другие системы.
Значит с теорией мы немного разобрались (думаю этого будет достаточно), теперь же рассмотрим, какие бывают подводные камни, при установке Dual Boot Windows и Linux на одном компьютере.
Эксперимент производился на рабочей станции со следующими характеристиками:
Base Board Information
Но, как показала практика, не со всеми дистрибутивами такое происходит. При установке Ubuntu 16.04.1 вместо Debian на ту же рабочую станцию вылез первый подводный камень — GRUB не стартовал, и Windows 10 автоматом шла на загрузку.
Решение проблемы было найдено спустя недели три-четыре (тогда уже надоело считать, сколько времени убито на решение проблемы). Оно оказалось неожиданным, но в тоже время вся система заработала. Значит, если вы столкнулись с такой же проблемой, приведенная ниже инструкция может вам пригодится и сэкономить кучу времени.
Важно! До начала выполнения инструкции нужно подготовить LiveCD с дистрибутивом Linux Mint — все операции мы будем выполнять на нем (я выбрал этот дистрибутив из-за того, что на него спокойно можно установить Midnight Commander, что сложно сделать на LiveCD с Ubuntu, так мы получаем больше пространства для маневров). Также стоит заметить, что команда из под консоли update-grub вам не поможет, так как она рассчитана на случай, когда GRUB запускается, но не видит другие ОС кроме Линукса. Также рекомендую создавать резервные копии файлов/каталогов, над которыми вы осуществляете хоть малейшие изменения.
Написать openSUSE The best choice!:):
Хоть мелочь, а приятно! Остальное в коде советую не трогать.
Если трудно разобраться с управлением Midnight Commander (в этом нет ничего страшного, у меня тоже в первый раз были проблемы с этой программой), все операции можно выполнить в файловом менеджере Nautilus (или в другом, не суть важно), но изначально запустив его под правами пользователя root.
После этого идем на перезагрузку и радуемся результату. Но, как оказывается, такая проблема есть и у дистрибутива OpenSUSE Leap 42.2. Как показала практика, если на компьютере установлен дистрибутив OpenSUSE с Windows 10, то приведенная выше инструкция не поможет. Точнее, она поможет, но только ее нужно дополнить. После выполнения основной части выполняем следующие шаги:
Для тех же, кого заинтересовала данная тема, рекомендую прочитать статью: «Начальный загрузчик GRUB 2 — полное руководство».
Содержание
Первые шаги
При первом сравнении GRUB со старым GRUB Legacy самым весомым различием оказывается измененная структура файлов конфигурации.
И об этом нас предупреждают не просто так. Ведь «grub.cfg» генерируется автоматически с использованием нескольких скриптов. Поэтому после следующего обновления GRUB ваш «grub.cfg» будет создан заново, и все ваши правки будут утрачены.
Кроме файла «grub.cfg», отвечающего за загрузочное меню, имеются файл «/etc/default/grub» и папка «/etc/grub.d«. Рассмотрим их подробнее.
/etc/default/grub
Данный файл содержит в себе основные настройки для GRUB. Через него, собственно, они и изменяются. Для наглядности ниже приводится примерное содержимое этого файла:
Изменение стандартного пункта загрузки
Значением «GRUB_DEFAULT» является номер пункта меню, который должен быть выбран стандартным. Чтобы выбрать другой пункт, нам нужно узнать, каким по счету он будет в списке. Есть два варианта:
Или же можно указать значение идентификатора (id), оно должно быть именно таким, каким мы его видим в «/boot/grub/grub.cfg«. Данный способ удобен тем, что после обновления ядра не придется изменять настройки из-за сбившейся нумерации.
Пример
Если в «grub.cfg» пункт меню выглядит так:
То значение параметра «GRUB_DEFAULT» должно указываться именно в виде:
Изменение времени отображения меню
«Скрытое» меню
В случае, если на компьютере установлена только Ubuntu, меню загрузки по умолчанию не будет отображаться, а GRUB будет загружать вас напрямую в систему. Однако же, иногда может возникнуть необходимость загрузиться с другим ядром или же запустить проверку памяти. Для этого предусмотрено «скрытое меню» за него отвечает параметр «GRUB_HIDDEN_TIMEOUT».
Параметр «GRUB_HIDDEN_TIMEOUT_QUIET» отвечает за отображение таймера во время паузы. Если его значение «true» таймер отображаться не будет, а со значением «false» будет.
Чтобы GRUB отображал меню со списком установленных операционных систем, без нажатия клавиш вызова меню (например Shift или Esc ) необходимо:
Убираем подменю
Чтобы раскрыть все меню используем такой параметр:
Это бывает нужно если хотим загружаться не с первой строчки.
Особые случаи
Поведение меню отличается от заданного переменными GRUB_TIMEOUT и GRUB_HIDDEN_TIMEOUT когда предыдущая загрузка не завершилась успехом или предыдущаяя загрузка происходила в режиме восстановления. Подробно это описано далее, в разделе «Защита от зацикливания на перезагрузке». Полную справку по параметрам файла настроек можно дав команду:
Изменение стандартных параметров загрузки ядра
Вы можете добавить необходимые вам параметра запуска ядра, приведя это значение к виду «quiet splash your_param1 your_param2», то есть дописав через пробел нужные параметры.
Пример
Чтобы заменить графическую заставку во время загрузки на информацию о загрузке компонентов системы (это позволит проследить за процессом загрузки и выявить неполадки). Необходимо заменить строчку:
/etc/grub.d
Эта папка содержит в себе скрипты, которые используются для создания файла «grub.cfg». При обновлении GRUB они находят все установленные на компьютере системы и ядра и формируют в файле «grub.cfg» меню загрузки, которое мы и видим. Два основных из них:
Пример
Добавляем режим загрузки без графической заставки, с текстовым отображением процесса загрузки (verbose mode). Для этого мы немного отредактируем обычный пункт загрузки. допустим, он выглядит так (в «/boot/grub/grub.cfg«):
Для того, чтобы сделать из этого verbose mode, нам нужно убрать опции quiet и splash и изменим название самого пункта. В итоге получаем:
Все это и добавляем в «40_custom» в конец файла. Строка с echo не является обязательной она лишь будет сигнализировать нам о том, что наш пункт найден и добавлен при обновлении GRUB.
Команды консоли GRUB
Чтобы попасть в консоль, нужно нажать клавишу C во время отображения меню загрузки.
Команда сообщит нам тип файловой системы на разделе, метку раздела (если таковая имеется), UUID и дату последнего изменения данных на разделе (в формате UTC).
Данная команда выводит содержимое заданного файла, используется в формате:
linux
Аналог команды «kernel» в GRUB Legacy. Загружает указанное Linux-ядро:
initrd
Загружает указанный initrd-образ. Используется так:
chainloader
Передает управление загрузкой по цепочке другому загрузчику (загрузчик ищется на заданном в качестве root разделе). В общем случае требует указания файла для загрузки:
Для (загрузчика Windows) можно использовать:
После задания раздела команда сообщит новый root-раздел и тип файловой системы. Примечание: «root hd(*,*)» не всегда корректно срабатывает. более предпочтительным вариантом является «set root» (см. ниже)
Весьма универсальная команда для изменения различных параметров. Служит для задания значений переменных и используется в формате:
search
Служит для поиска раздела по UUID, метке или заданному файлу. Имеет следующие ключи:
lsfonts
Команда отобразит список загруженных в настоящий момент шрифтов.
При использовании в чистом виде выведет список доступных команд. В формате:
Выведет справку по всем командам, начинающимся на «r».
Отобразит справку по команде «search»
reboot
background_image
Позволяет «на лету» изменить фоновое изображение. Используется в формате:
Дает замечательную возможность посмотреть на выбранную картинку в действии, избегая лишних перезагрузок. В сочетании с заменой цветов через set позволит довольно быстро подобрать подходящий вариант оформления.
terminal_output.console
Применение изменений
После этого смело перезагружаемся и видим, что все работает как надо.
Нюанс с нумерацией дисков и разделов
Если в GRUB Legacy первый раздел первого диска (sda1) именовался «hd0,0». То в GRUB, первый раздел первого диска (sda1) теперь будет «hd0,1».
Создание дополнительного меню загрузки
Суть в том, что вместо уже знакомого «grub.cfg» можно загрузить свой файл настройки загрузочного меню со своей конфигурацией. Это позволяет создать дополнительное меню с другими пунктами, настройками, оформлением и т.д. Итак, создадим наш новый файл конфигурации. Создавать с нуля не будем, а скопируем «grub.cfg», дав новое имя:
Поскольку файл скопируется с правами 444, выставим ему права на запись:
Теперь открываем его в любимом текстовом редакторе и изменяем:
Строкой ниже мы можем задать цвета текста. Изменяются они так же, как и в »/etc/grub.d/05_debian_theme« (см. Настройка внешнего вида загрузчика GRUB). Можно проделать один интересный трюк: уберите строки с set color_highlight и else теперь настройка будет такой:
Закончив с настройкой, перейдем к пунктам меню, они идут ниже. Измените их, удалите ненужные и добавьте новые, пересортируйте на свой вкус.
Настроив свой файл, сохраните его Ctrl + Shift и закройте.
Теперь необходимо добавить дополнительное меню. Для этого в файле »/etc/grub.d/40_custom« добавим запись такого вида:
Если вы хотите, чтобы ваше новое меню загружалось вместо стандартного «grub.cfg», установите новый пункт в качестве пункта по умолчанию, но перед этим проверьте новое меню на работоспособность.
Обновите свой «grub.cfg» выполнив команду:
В качестве образца пример файла «custom.cfg» (файл урезан до необходимого минимума):
Защита от зацикливания на перезагрузке
Зачем это сделано
А что если.
А что если отключить?
Отключаем.
Как это работает
Для того, что бы убрать необходимость интерактивного вмешательства в процесс загрузки нужно установить переменную GRUB_RECORDFAIL_TIMEOUT в /etc/defaul/grub в то количество секунд, которые меню GRUB-а будет ждать ввода в случае когда recordfail=1. Сохранить изменения и обновить GRUB (sudo update-grub).
Финт с GRUB_RECORDFAIL_TIMEOUT может не сработать в некоторых (старых) версиях GRUB. Тогда нужно редактировать /etc/grub.d/00_header. Нужно найти функцию make_timeout (), которая выглядит примерно так:
и заменить в ней строчку
После этого финт с GRUB_RECORDFAIL_TIMEOUT заработает. Нужно сохранить изменения и обновить GRUB (sudo update-grub).