- Windows boot manager
- Установка дистрибутива на компьютер с EFI
- Содержание
- how to install
- Управление списком загрузки
- Удаляем запись Windows Boot Manager
- Удаляем запись Linux
- Редактируем паузу
- Как я могу добавить Linux в новый менеджер загрузки Windows 8?
- BootDev
- Страницы
- 2017-02-01
- Установка rEFInd
- Установка rEFInd на флешку
- Установка rEFInd из Windows.
Windows boot manager
Стоял на ноуте ssd с manjaro linux. Поставил на день hdd с виндой, винда благополучно поставила какие-то обновления, в итоге когда поставил ssd обратно, то grub просто перестал грузится, грузится какой-то windows boot manager и посылает меня нафиг. Включал Legacy mode, Legacy first, выставил загрузку с ssd в первую очередь, но грузится Atheros boot client, и посылает меня так же, перепробовал различные варианты, grub так и не захотел грузится. Как запустить grub с ssd и успешно загрузить линукс?
Ты Linux ставил в UEFI режиме? Тогда:
1) Legacy загрузчика Linux скорее всего нет. А даже если есть, то некоторые BIOS считают, что Legacy режим может быть только с MBR и если разметка GPT (а она обязательна для UEFI), то ничего не загрузят.
2) При загрузке с извлечённым SSD UEFI увидел, что загрузчик пропал и удалил пункт меню для запуска GRUB (который был добавлен при установке).
3) Винда добавила в список первым пунктом Windows Boot Manager и UEFI теперь радостно грузит его.
1) Пункт 2 таки не выполнился. В таком случае надо просто повысить приоритет GRUB по сравнению с Windows Boot Manager.
2) Пункт 2 выполнился. Нужно загрузиться с LiveCD и с помощью efibootmgr или grub-install в chroot заново создать необходимые пункты. И больше SSD не вытаскивать.
UEFI несколько отличается от BIOS и работать с ним надо иначе.
Ещё в некоторых UEFI захардкожен путь поиска виндового загрузчика, если ничего не прописано явно. Так что если винда грузится без специальных действий, а Linux нет — не удивляйся.
Также добавлю к последнему пункту, что все (кроме яббловских, наверное, я это на них не проверял) UEFI грузятся в первую очередь в \EFI\Boot\bootx64.efi (или x32, в зависимости от архитектуры) на первом или указанном диске, вне зависимости от выставленного приоритета.
все (кроме яббловских, наверное, я это на них не проверял) UEFI грузятся в первую очередь в \EFI\Boot\bootx64.efi (или x32, в зависимости от архитектуры) на первом или указанном диске, вне зависимости от выставленного приоритета.
у меня все грузит согласно приоритетам. ЧЯДНТ? Мать Gigabyte
у меня все грузит согласно приоритетам. ЧЯДНТ?
- У тебя Legacy;
- У тебя не стоит Шindoшs;
- У тебя стоит Шindoшs, но в Legacy;
- У тебя стоит Шindoшs в UEFI, но не на первом диске;
- Ты удалил \EFI\Boot\bootx64.efi и прописал загрузчик из \EFI\Microsoft\что-то-там ;
- Твоя матплата клала на стандарты, и грузится без этой фичи;
- Вендор сильно хитрый, и этот финт ушами работает только на USB, но это сомнительно.
Пожалуйста, ссылку на пункт в стандарте, что если есть на первом диске (и на разъяснение вот этого тоже) \EFI\Boot\Bootx64.efi, то на BootOrder надо забить.
А то пока получается, что даже ОС (уже установленную в UEFI) не переставить, т.к. \EFI\Boot\Bootx64.efi уже существует.
Да плевать на эти стандарты все хотели, у каждого своя реализация, goal только в том, чтобы венда устанавливалась и запускалась. Всё.
А \EFI\Boot\bootx64.efi сделан для того, чтобы воткнутая флэшка была бутабельна, не у всех же есть EFI Shell. Любой носитель проверяется на данный файл, чтобы без плясок загрузиться, иначе ты получишь кирпич вместо компьютера.
Установка дистрибутива на компьютер с EFI
Содержание
Сначала немного теории. Extensible Firmware Interface (EFI) — интерфейс между операционной системой и микропрограммами, управляющими низкоуровневыми функциями оборудования, его основное предназначение: корректно инициализировать оборудование при включении системы и передать управление загрузчику операционной системы. EFI предназначен для замены BIOS — интерфейса, который традиционно используется всеми IBM PC-совместимыми персональными компьютерами
Что это значит? Значит что способ описанный в Установка Ubuntu может не сработать. Кроме того, большие диски требуют использования GPT (вместо старой версии таблицы разделов в MBR, которая имеет ограничение адресуемого на диске пространства в 2,2 ТБ = 2,2 × 10¹² байт)
Поскольку EFI представляет собой специфический загрузчик, то он должен где то храниться, в нашем случае для него выделено отдельное место на жёстком диске с GPT таблицей разделов. Когда компьютер проходит процедуру POST, BIOS обнаруживает на подключённом носителе EFI раздел с установленным загрузчиком. Как следствие в самом BIOS в меню BOOT(У вас может называться по другому, там находиться порядок загрузки устройств) на ровне с устройствами появятся и дистрибутивы.
how to install
A. В начале нам понадобиться LiveCD(почему именно LiveCD? Смотри ниже) установочный образ , how to написано тут получение_ubuntu. Если у вас уже есть установочный диск/флешка, вам ниже.
B. Загружаемся, всё как при обычной установке → загрузка_с_livecd. Затем, если у кого то всё нормально и графический режим с выбором языка работает, то хорошо, у некоторых может появиться незнамо что (экран в пикселях, видно как ленточка выбора перемещается для выбора варианта загрузки)
Порядок надписей следующий:
Как следствие выбираем первую и загружаемся в графическом режиме.
C. Открываем центр приложений, ищем grub-pc удаляем, ищем grub-efi под нужную разрядность (64 или 32) ставим его.
UPD. можно оставить только grub-common остальные грабы он сам во время установки догрузит (у меня на всех работало (12.04-12.10 альфа 3),12.10 бета 1 «невозможно установить загрузчик….»)\\ Вариант не нужен и может даже навредить установке на 12.04.1 и 12.10 бета 2 и старше.
E. запускаем саму установку, выбираем «другой вариант» и вручную размечаем диск «разметка_диска». Так всё по плану:
Отлично, фарс почти закончился, в самом низу выбирается путь установки загрузчика (там должно быть что то вроде /dev/sda/
Устанавливаем, по окончанию перезагружаем, заходим в BIOS, там boot menu. Должны были появиться новые пункты «Linux» «Ubuntu», первым можно поставить Ubuntu
Управление списком загрузки
Способ подходит как для редактирования из установленной системы, так и с LiveCD Нам понадобиться следующая консольная утилита bootmgr.
bootmgr — это пользовательское приложение для редактирования Intel Extensible Firmware Interface (EFI) Boot Manager. Оно позволяет добавлять, изменять и удалять опции загрузки.
После установки открываем терминал и вбиваем туда:
Вот что оно вам выдаст.(С моими комментариями)
Как видно из этого у меня 2 ненужных записи(Windows, Linux), заглянем в официальную инструкцию.
хм.. я ничего не понял , но поковырявшись ещё немного вот что получилось: Чтобы удалить какую-либо запись нужно ввести команду вида:
Удаляем запись Windows Boot Manager
Где xxxx Это hex номер загрузочной записи, его можно сокращать, вот например в моём случае для удаления Windows нужно ввести:
Сразу после этого консоль отрапортует результат:
Удаляем запись Linux
Теперь удаляем запись Linux
После перезагрузки получим вот такую красоту:
Редактируем паузу
Если необходимо отредактировать паузу то делаем следующее:
Как я могу добавить Linux в новый менеджер загрузки Windows 8?
Какие операционные системы можно установить в новый загрузчик Windows 8?
Кажется, что это довольно красиво и согласуется с остальным новым дизайном Windows 8, поэтому было бы здорово установить Linux (Ubuntu) вместо него вместо GRUB или BURG . Кроме того, в моей личной системе Linux будет установлен на жесткий диск, а не на SSD , так что это будет немного быстрее.
Вы можете сделать то же самое, что и в Windows 7, хотя я не уверен, что рекомендовал бы это, используя графическое меню загрузки (причина в конце).
Сначала кое-что:
Обычная настройка для людей, которые имеют конфигурации с двойной загрузкой, когда Linux является одной из установленных на машине ОС, — это установить загрузчик Linux по умолчанию и добавить туда запись для ОС Windows. Для этого нужно загрузить загрузчик Linux и, если вы хотите загрузить Windows, он загружается по цепочке в загрузчик Windows, который затем загружает Windows.
Поскольку обычно установлена только одна Windows, селектор меню загрузчика Windows никогда не появляется, создавая впечатление, что запись, добавленная вами в загрузчик Linux, фактически загружает Windows.
Возможно и обратное, хотя это не распространено среди пользователей Linux. Например, мой основной загрузчик — тот, из Windows, который затем загружается в Linux для загрузки Linux; Я настроил Linux так, чтобы он был в основном невидимым и загружался сразу же.
Как добавить запись Linux в загрузчик Windows:
Это действительно зависит от того, что вы устанавливаете вначале, а что позже, я уверен, что в Интернете есть несколько руководств, объясняющих подробную процедуру настройки среды с двумя загрузками. Так что я просто пройду 2 разные установки:
При первой установке Windows: В этом случае, когда вы устанавливаете дистрибутив Linux, если он позволяет вам установить загрузчик в разделе напрямую, а не в MBR жесткого диска, сделайте это. После перезагрузки вы обнаружите, что вы загружаете Windows так же, как Linux вообще не был установлен, после этого следуйте сценарию, в котором Linux был установлен, сначала описанному ниже.
Если вы можете установить загрузчик только в MBR жесткого диска после перезагрузки, вы увидите загрузчик Linux (Syslinux, GRUB, назовите его), выберите там запись Windows и загрузитесь в Windows.
Теперь я хотел бы использовать EasyBCD (бесплатно для личного пользования) , чтобы иметь дело с загрузчиком Windows, но все , что я с ним также может быть выполнена с надлежащим bcdboot , bcdedit и т.д. команды.
- Откройте EasyBCD и перейдите в раздел «Добавить новую запись» и вкладку «Linux / BSD».
- Выберите загрузчик, который у вас есть для вашего дистрибутива Linux. В случае GRUB2 есть режим автоматического выбора, который выберет соответствующий раздел для вас, например, для Syslinux вы должны обязательно выбрать раздел, в котором он установлен.
- Назовите запись, имя, которое вы там указали, будет отображаться в загрузчике Windows.
Выберите раздел, в котором находится ваш загрузчик, или выберите автоматически, если это возможно. В конце вы должны получить что-то вроде этого:
Нажмите «Добавить запись», и вы получите результат в левой нижней части программы:
Теперь вам нужно восстановить загрузчик Windows по умолчанию, для этого перейдите в раздел «Развертывание BCD», там выберите запись загрузчика Vista / 7 в MBR (который, кстати, такой же, как для Windows 8):
После этого все готово, вы получите такое же подтверждение, как и раньше. При загрузке вы увидите меню загрузки, предлагающее выбрать один из них:
Когда вы сначала устанавливаете Linux: в этом случае вам не нужно восстанавливать MBR (Master Boot Record, сообщает, что нужно выполнить на брутто-режиме), так как установка Windows перезапишет любое предыдущее значение.
ПРИМЕЧАНИЕ: с дисками UEFI и GPT это может отличаться, но у меня нет возможности попробовать это.
Почему я не уверен, что рекомендую делать это, используя новое графическое меню загрузки в Windows 8:
По сути, потому что способ работы отличается от текстового меню (по умолчанию для Windows 7). В Windows 7 (или Vista) вы сначала получаете меню загрузки, а затем он начинает загружать все, что вы выберете, в новом графическом меню сначала загружает некоторые вещи (= требует времени), а затем представляет вам меню загрузки , Если вы не выберете загрузку Windows 8, она перезагрузит компьютер и начнет загружать все, что вы выбрали, в данном случае это загрузчик Linux.
Я нахожусь в ожидании, чтобы загрузить некоторые вещи, просто чтобы сбросить их и перезагрузить ненужные, если я просто хочу загрузить другую ОС; но это мое личное мнение по этому вопросу, нет проблем с загрузкой Linux или любой другой ОС таким образом.
В любом случае, есть и другие способы использовать текстовое меню загрузки вместо Windows 8, если вам интересно проверить этот ответ .
BootDev
Создание загрузочных дисков и прочие полезные мелочи
Страницы
2017-02-01
Установка rEFInd
Перед началом всех манипуляций с установкой, скачаем последнюю версию загрузчика. Достать его можно по этой ссылке. На момент написания этого текста, последней была версия 0.10.4. Необходимый нам архив называется refind-bin-0.10.4.zip.
Если же, нужен EFI Shell в меню, то скачиваем архив refind-cd-0.10.4.zip с livecd версией загрузчика.
Оба данных архива содержат все необходимые файлы для установки. Разница в лишь в том, что если использовать livecd версию, то мы получаем EFI Shell и экономим время необходимое на создание папок и переименование файлов загрузчика.
Установка rEFInd на флешку
Так как rEFInd загрузчик для UEFI BIOS, это означает что раздел флешки, на котором он будет располагаться, должен быть отформатирован в файловую систему FAT (12,16,32), либо так, как описано в статье «Загрузка в UEFI режиме с NTFS раздела». Во втором случае загрузчик будет загружаться с NTFS раздела.
Пример форматирования раздела. |
И так, флешка отформатирована. Неважно каким способом, главное что в итоге она с пустым файловым разделом.
Создадим в корне флешки папку EFI, а внутри нее папку boot.
Извлечем содержимое папки refind архива refind-bin-0.10.4.zip в директорию EFI\boot на флешке.
Переименуем файлы refind_aa64.efi, refind_x64.efi, refind_ia32.efi в bootaa64.efi, bootx64.efi, bootia32.efi соответственно.
Так же переименуем файл refind.conf-sample в refind.conf.
Если в загрузочном меню необходимо наличие EFI Shell, то необходимо извлечь файлы shellia32.efi и shellx64.efi из livecd версии в корень флешки.
Установка загрузчика rEFInd на флешку на этом завершена. Проверим флешку загрузив ее в виртуальной машине VirtualBox.
Так выглядит меню если загрузчик не нашел установленных ОС на дисках компьютера. Если к виртуальной машине подключить жесткий диск с установленными ОС Windows и Linux Ubuntu, а потом снова попробовать загрузиться с подготовленной флешки, результат будет следующим.
Теперь перейдем к установке rEFInd на жесткий диск компьютера в качестве основного загрузчика.
Установка rEFInd из Windows.
Рассмотрим установку загрузчика r EFI nd из ОС Windows. Специально для этого я установил операционные системы Windows 8.1 и Ubuntu 16.10 на виртуальную машину, для последующей демонстрации мульти-загрузки. По умолчанию основной загрузчик Windows Boot Manager (BOOTMGR),
Первым делом, распаковываем скачанный архив с дистрибутивом rEFInd в удобное для вас место. В моем случае я это был рабочий стол.
Подключим ESP (EFI System Partition) раздел. Воспользуемся для этого DISKPART‘ом. Запускаем для этого командную строку WIN+X > Командная строка (администратор) пишем diskpart и нажимаем ENTER .
Выведем список дисков командой list disk чтобы определить номер нужного диска.
Как можно наблюдать диск в списке один с нулевым номером. Укажем что все дальнейшие действия нужно проводить с ним. Выполняем для этого команду select disk 0 .
Отобразим список разделов выбранного диска командой list partition , чтобы узнать номер ESP раздела.
Определить ESP раздел можно по его маленькому размеру и «системному» типу. Как видно он расположен под вторым номером. Выберем его для дальнейших манипуляций командой select partition 2 .
Подключим раздел к системе присвоив ему букву диска. Буква может быть любой незанятой системой. Выполним команду assign letter=S .
После успешного выполнения команды, проводнике можно увидеть подключенный диск. Но, к сожалению, получить доступ к нему через проводник не получится.
Чтобы увидеть содержимое диска S: нужно обладать правами администратора. То есть, если к примеру запустить Far Manager от имени администратора, то он сможет войти на данный раздел.
Или же с помощью командной строки запущенной от имени администратора, так же можно попасть в данный раздел.
Дальнейшие действия я буду проводить в командной строке, с Far Manager все слишком просто.
Переименуем файл refind.conf-sample в папке refind распакованного дистрибутива в refind.conf.
Скопируем путь до папки refind.
Теперь нам нужно скопировать папку refind в S:\EFI. Выполним для этого команду xcopy C:\Users\USER\Desktop\refind-bin-0.10.4\refind S:\EFI\refind\ /E используя при этом скопированный ранее путь.
Убедимся что все скопировано как надо командой dir S:\EFI\refind .
И последнее, укажем загрузчику Windows что нужно по умолчанию загружать rEFInd. Делается это командой bcdedit /set