Как отредактировать uefi загрузчик
Изменяем пути Загрузчика UEFI - В режиме UEFI путь BCD по умолчанию - EFI/Microsoft/Boot /BCD Я использую имя BCD для 64-битных и B86 для 32-битных, это дает мне два отдельных файла меню. В этом режиме 32-разрядные версии Windows не могут загружаться в 64-разрядные UEFI , а 64-разрядные версии Windows не могут загружаться на 32-разрядном UEFI . Я использую два отдельных файла BCD , чтобы убедиться, что все меню работают.
Мы отредактируем файл bootx64.efi для 64-битных и bootia32.efi для 32-разрядных. Примечание . Я буду использовать HxD для редактирования шестнадцатеричного кода этих файлов. Откройте bootx64.efi с помощью HxD , нажмите Ctrl + F , чтобы открыть окно поиска и введите следующее:
Поиск : 42 00 43 00 44
Тип данных : Шестнадцаричные значения
- Изменяем имя BCD-шки на любое Имя, к примеру на DART64
Учтите, не стирайте, а заменяйте значения, точки между не трогаем.
и сохраняем это дело в bootx64.efi в редакторе HxD
- И Так, теперь нам надо создать Флешку на GRUB2 что бы загрузить наш .efi
Воспользуемся инструментом AIOBOOT
На сайте есть инструкция как создать мультизагрузочную флешку в Два клика.
После создания мы видим нашу флешку, с двумя разделами.
- Создадим любую папку на флешке, у меня будет DART
В папке DART , создаем еще папку. к примеру DARTefi
в нее я скину сам модифицированый наш bootx64.efi и две папки.
Скрин ниже.
- Берем оригинальный BCD , Переменовываем его DART64 и переносим файл по пути \EFI\Microsoft\Boot\DART64
Далее открываем его BCD - тут мы можем добавлять пункты меню. Указывать любые пути на любые .Wim и.т.д
- +можно редактировать файл где содержится Внешний ввид в коде \DART\DARTefi\ru-RU\bootx64.efi.mui
открываем через программу Resuorce Hacker редактируем и сохраняем пример в картинке
- Если Вы! создали не посредственно в AIOBOOT то открываем файл по пути \AIO\Menu\Main.cfg
и добавляем туда вот эту строку. Пути к нашему загрузчику.
теперь все протестируем в QEMU в режиме 64bit
- Это главное меню AIOBOOT его можно кастомизироватить менять интерфейс непосредственно в утилитке
Далее переходим в нашу Мини Сборку))) и смотрим
- Друзья. Я проверял на своем ноутбуке. В Режиме Security Boot Все работает как не странно. Файлы загрузчиков можете сказать по ссылке. Идея в том, что можно создать сколько угодно разных bcd и .efi загрузчиков на одной флешке. с красивыми разными оформлениями. ВОТ ЧТО У МЕНЯ ПОЛУЧИЛОСЬ
Последний раз редактировалось: vadlike (2017-11-02 15:10), всего редактировалось 1 раз
Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?
Я обещал "самое краткое руководство". Вот оно:
- Создаём на диске таблицу разделов GPT
- Создаём FAT32-раздел на пару сотен мегабайт
- Скачиваем из интернета любой UEFI-загрузчик
(нам нужен сам загрузчик, это один бинарный файл!) - Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
- Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
(настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете) - После перезагрузки видим меню загрузчика
(Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)
TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается
Как делать не надо
Есть, на самом-то деле, несколько способов настроить UEFI-загрузку. Я начну с описания других вариантов — чтобы было понятно, как (и почему) делать не надо. Если вы пришли за руководством — мотайте в самый низ.
Не надо лезть в NVRAM и трогать efivars
Наиболее "популярная" процедура установки загрузчика в систему такова: установщик ОС создаёт специальный раздел, на нём — структуру каталогов и размещает файлы загрузчика. После этого он с помощью особой утилиты (efibootmgr в linux, bcdedit в windows) взаимодействует с прошивкой UEFI-чипа, добавляя в неё загрузочную запись. В этой записи указывается путь к файлу загрузчика (начиная от корня файловой системы) и при необходимости — параметры. После этого в загрузочном меню компьютера появляется опция загрузки ОС. Для linux существует возможность вообще обойтись без загрузчика. В загрузочной записи указывается путь сразу к ядру вместе со всеми параметрами. Ядро должно быть скомпилировано с опцией EFISTUB (что давно является стандартом для большинства дистрибутивов), в этом случае оно содержит в себе заголовок "исполняемого файла EFI", позволяющий прошивке его запускать без внешнего загрузчика.
При старте системы, когда пользователь выбирает нужную ему загрузочную запись, прошивка UEFI сперва ищет на прописанном в этой записи диске особый EFI-раздел, обращается к файловой системе на этом разделе (обязательно FAT или FAT32), и запускает загрузчик. Загрузчик считывает из файла настроек свой конфиг, и либо грузит ОС, либо предоставляет загрузочное меню. Ничего не замечаете? Да, у нас два загрузочных меню — одно на уровне прошивки чипа UEFI, другое — на уровне загрузчика. В реальности о существовании второго пользователи могут даже не догадываться — если в меню всего один пункт, загрузчик Windows начинает его грузить без лишних вопросов. Увидеть экран с этим меню можно, если поставить вторую копию Windows или просто криво её переустановить.
Обычно для управления загрузочными записями руководства в интернете предлагают взаимодействовать с прошивкой UEFI. Есть аж пять основных вариантов, как это можно сделать: efibootmgr под linux, bcdedit в windows, какая-то софтина на "Маках", команда bcfg утилиты uefi shell (запускается из-под UEFI, "на голом железе" и без ОС, поскольку скомпилирована в том самом особом формате) и для особо качественных прошивок — графическими средствами UEFI (говоря популярным языком, "в настройках BIOS").
За всеми вышенаписанными "многобуков" вы могли легко упустить такую мысль: пользователь, чтобы изменить настройки программной части (например, добавить параметр запуска ОС), вынужден перезаписывать flash-память микросхемы на плате. Есть ли тут подводные камни? О да! Windows иногда способна сделать из ноутбука кирпич, linux тоже, причём разными способами. Качество прошивок часто оставляет желать лучшего — стандарты UEFI либо реализованы криво, либо не реализованы вообще. По логике, прошивка обязана переживать полное удаление всех переменных efivars без последствий, не хранить в них критичных для себя данных и самостоятельно восстанавливать значения по-умолчанию — просто потому что пользователь имеет к ним доступ, и вероятность их полного удаления далека от нуля. Я лично в процессе экспериментов неоднократно (к счастью, обратимо) "кирпичил" свой Lenovo — из загрузочного меню исчезали все пункты, включая опцию "зайти в настройки".
Работа с загрузочными записями UEFI — тоже не сахар. К примеру, утилита efibootmgr не имеет опции "редактировать существующую запись". Если ты хочешь немного изменить параметр ядра — ты удаляешь запись целиком и добавляешь её снова, уже измененную. При этом строка содержит в себе двойные и одинарные кавычки, а также прямые и обратные слеши в не особо очевидном порядке. Когда я наконец заставил эту магию работать — я сохранил её в виде bash-скриптов, которые до сих пор валяются у меня в корневой ФС:
Не надо использовать GRUB
Это чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига. На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов. Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию
Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой
Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на EFI-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.
"Самое краткое руководство" — чуть более подробно
Загрузочная запись нам не нужна — дело в том, что при выставлении в настройках BIOS загрузки с диска прошивка UEFI сначала ищет на нём EFI-раздел, а затем пытается исполнить файл по строго фиксированному адресу на этом разделе: /EFI/Boot/BOOTX64.EFI
Что такое "EFI-раздел"? В теории, он должен иметь особый тип "EFI System" (ef00). На практике, годится первый раздел на GPT-диске, отформатированный в FAT32 и имеющий достаточно места, чтобы разместить загрузчик и вспомогательные файлы (если есть).
Пункт 3: "Скачиваем из интернета любой UEFI-загрузчик". Что это значит? Загрузчик — это просто исполняемый файл определенного формата, к которому в комплекте идет конфиг. К примеру, если у вас есть под рукой установленный пакет с systemd — файл загрузчика можно найти по адресу /usr/lib/systemd/boot/efi/systemd-bootx64.efi, переименовать его в bootx64.efi и скопировать в /EFI/Boot/ на EFI-разделе. Нет под рукой systemd? Скачайте архив с сайта Archlinux. Или с репозитария Ubuntu. Или Debian. Есть под рукой система с Windows? Возьмите виндовый загрузчик оттуда, тоже сгодится )) Если сумеете настроить, я честно говоря не пробовал.
Пункт 4: "Настроить конфиг". Как и обычная программа, когда загрузчик запускается — он ожидает найти по определенным путям файлы конфигурации. Обычно эту информацию легко найти в интернете. Для загрузчика systemd-boot нам необходимо в корне EFI-раздела создать каталог "loader", а в нём файл "loader.conf" с тремя строчками (привожу свои):
Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском.
Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием:
Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС.
Другие загрузчики
systemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты.
Clover. Позволяет выставлять нативное разрешение экрана, имеет поддержку мыши на экране загрузки, разные темы оформления. Дефолтная тема ужасна, конфиг в виде xml нечитаем, настроить не смог.
Различные неочевидные последствия
Вы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать.
Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.
Загрузка с другого устройства может потребоваться в следующих случаях:
1. Переустановка операционной системы со съемного носителя или ее установка на новый жесткий диск.
2. Подключение к компьютеру еще одного жесткого диска, который предполагается использовать как системный.
3. Установка на дополнительное устройство хранения информации второй операционной системы.
4. Необходимость использования в качестве системного устройства флешки или жесткого диска. На них также может быть установлена работоспособная операционная система.
5. Проверка жесткого диска на наличие вредоносных программ и восстановление работоспособности операционной системы после вирусной атаки. Дело в том, что в зараженной Windows вирусы могут блокировать запуск антивирусных программ или сильно мешать им работать. В таком случае для восстановления системы понадобится загрузочный диск с антивирусом.
4. Создание образа системного диска или резервной копии данных в экстренных ситуациях.
5. Проверка состояния жесткого диска на наличие неисправностей и поиск на нем нечитаемых секторов.
Данный перечень не является исчерпывающим. Бывают и другие ситуации, когда приходится вручную менять приоритет загрузки.
Изменение приоритета загрузки в BIOS
Для изменения приоритета загрузки в старых версиях BIOS вам потребуется:
1. Включить компьютер или выполнить его перезагрузку.
2. Войти в BIOS. Для этого нужно нажать одну из функциональных клавиш или ввести определенную клавиатурную комбинацию. На что конкретно придется нажимать, зависит от модели материнской платы. Чаще всего это клавиши " Del ", "F2 ", " F10 " или "ESC ". Соответствующая подсказка будет отображена на экране после включения компьютера, но до начала загрузки операционной системы.
В данном случае для входа в BIOS надо нажать на "Del" (изображение загружено с Яндекс.Картинки). В данном случае для входа в BIOS надо нажать на "Del" (изображение загружено с Яндекс.Картинки).Чтобы не пропустить момент, когда нужно запускать BIOS, можно начинать нажимать на нужную клавишу сразу после появления соответствующего уведомления и делать это до тех пор, пока BIOS не загрузится.
3. После того, как БИОС загрузится, следует перейти в раздел, в котором настраивается порядок загрузки. Чаще всего нужно настройки находится в меню "Boot". Если такого пункта меню нет, поищите нужные настройки в разделе "Advanced BIOS Features".
4. Перемещаясь стрелками курсора, переходим к первому загрузочному устройству и жмем " Enter ". С помощью тех же стрелок курсора перемещаемся по списку доступных устройств и выбираем то, с которого должен загружаться компьютер. Еще раз нажимаем на " Enter ".
6. В случае необходимости измените приоритет загрузки для остальных устройств.
7. Для сохранения настроек и перезагрузки системы с новыми параметрами нужно нажать на функциональную клавишу " F10 ".
Изменение приоритета загрузки в UEFI
Настройка приоритета загрузки в UEFI во многом схожа с такой же процедурой в BIOS, но есть и некоторые нюансы. Теперь рассмотрим все по порядку:
1. Включаем компьютер или перезагружаем его.
BIOS UEFI загрузится после нажатия на клавишу "Del", а Boot-меню - после нажатия на "F11". BIOS UEFI загрузится после нажатия на клавишу "Del", а Boot-меню - после нажатия на "F11".Если нам нужно сразу загрузится с другого устройства без сохранения настроек, можно воспользоваться Boot-меню. Информация о способе его вызова также отобразится внизу экрана.
Boot-меню. Выбираем нужное устройство, жмем "Enter" и загружаемся. Boot-меню. Выбираем нужное устройство, жмем "Enter" и загружаемся.3. После того, как UEFI загрузится, переходим на вкладку "Settings" и находим меню"Загрузка" или "Boot".
4. Переходим к первому загрузочному устройству и дважды щелкаем по нему левой кнопкой мыши.
5. Из открывшегося списка выбираем носитель, с которого загрузка должна идти в первую очередь (двойным щелчком мышью или клавишей "Enter")
6. Если в системе используется несколько жестких дисков, переходим к "Hard Disk Drive BBS Priorities и меняем их приоритет.
Для изменения приоритета жесткого диска дважды кликаем по нему мышью или жмем на "Enter" и выбираем из списка обнаруженных устройств другой диск.
но вот что интересно, в menu.lst находится информация только о Live CD Acronis True Image 2013 и всё. Никакого упоминания о Windows 7, 8, 8.1 в этом файле нет.
Значит, если я создаю UEFI флешку в программе WinSetupFromUSB, то меню загрузки находится не в menu.lst, а в каком-то другом файле?
Всё-таки я решился добавить на флешку образ Windows 8.1 Single Languageи теперь у меня при загрузке выходит вот такое меню.
и семёрка естественно не грузится (оно и понятно, ведь она удалена из флешки).Как отредактировать меню загрузки мультизагрузочной флешки созданной в программе WinSetupFromUSB. Как менять названия операционных систем. Как удалять из меню загрузки ненужные ОС
Привет друзья! Меня зовут Владимир и я отвечу на вопрос читателя, но сначала давайте вспомним процесс создания загрузочной флешки в программе WinSetupFromUSB. При создании в программе WinSetupFromUSB мультизагрузочной UEFI флешки отформатированной в FAT32 или NTFS на накопителе создаётся универсальный линуксовый загрузчик Grub4Dos с файлом menu.lst и два файла конфигурации загрузки BCD ! Первый bcd находится по адресу: X:\efi\microsoft\boot\ bcd (где X: буква вашей флешки).все добавленные системы прописываются в обоих хранилищах загрузки
Если вы загружаете с такой флешки ноутбук с включенным UEFI, то UEFI не видит загрузчик Grub4Dos, но видит хранилище загрузки bcd, находящийся в папке X:\efi\microsoft\boot\,и происходит загрузка ноутбука с флешки. При загрузке мы видим такое меню (файл menu.lst не участвует в процессе загрузки, так как Grub4Dos не задействован).В данном меню мы выбираем необходимую операционную систему для установки или возвращаемся в меню Grub4Dos .
bcdedit -store x:\boot\bcd> C:\bcd.txt
bcdedit -store x:\efi\microsoft\boot\bcd> C:\bcd.txt
создаём в корне диска (C:) текстовый вариант файла BCD с названием bcd.txt
Больше ничего (по моему мнению) в редактировании не нуждается. Рассмотрим реальный пример редактирования меню мультизагрузочной флешки Создадим в программе WinSetupFromUSB такую же загрузочную UEFI флешку, как и у нашего читателя. На флешке, имеющей букву (R:), находится четыре операционные системы: Windows 7, 8 , 8.1 , Windows 8.1 Single Language и ещё Live CD Acronis True Image 2013.Если загрузить ноутбук с включенным Legacy , то сначала откроется загрузчик Grub4Dos , где нам нужно выбрать пункт 0 Windows NT6 (Vista/7 and above) Setup (здесь же вы можете загрузить Live CD Acronis True Image 2013).
Открывается меню диспетчера загрузки Windows (BOOTMGR) , находящийся в папке R:\boot\bcd
Предлагаю для закрепления материала удалить последнюю систему - Windows 8.1 Single Language
Открываем командную строку и вводим команду:
bcdedit -store R: \efi\microsoft\boot\bcd , где R буква нашей флешки.
Открывается файл конфигурации хранилища загрузки нашей флешки bcd находящийся в папке R: \efi\microsoft\boot. Копируем ID последней операционки, которую мы хотим удалить : Windows 8.1 Single Language
вводим команду, которая удалит запись в файле конфигурации загрузки BCD о Windows 8.1 Single Language:
bcdedit -store R:\efi\microsoft\boot\bcd /delete
Операция успешно завершена.
Запись удалена и теперь меню загрузки ноутбука с включенным UEFI выглядит без Windows 8.1 Single Language
Но если загрузиться с флешки в Legacy , то запись о Windows 8.1 Single Language всё ещё останется. Её тоже удаляем.
Открываем командную строку и вводим команду: bcdedit -store R:\boot\bcd , где R буква нашей флешки.
Открывается файл конфигурации хранилища загрузки нашей флешки bcd находящийся в папке R:\boot. Копируем ID < b54bcd64-3513-11e5-82fd-ac220b79a339 >Windows 8.1 Single Language.
вводим команду, которая удалит запись о Windows 8.1 Single Language в файле конфигурации загрузки BCD в папке R:\boot
bcdedit -store R:\boot\bcd /delete
Теперь и при загрузке в режиме Legacy никакой записи о Windows 8.1 Single Language не будет.
Под конец нужно вручную удалить папку с ISO-образом Windows 8.1 Single Language с флешки. Удаляем папку W81x64_1, в которой находится ISO-образ Windows 8.1 Single Language.
Как редактировать файл menu.ls загрузчика Grub4Dos
и грузится прямо из него.
Запись Live CD Acronis True Image 2013 удаляется в menu.lst
Из неё удаляем ненужные образы.
Редактирование файла menu.lst допускается только английскими буквами.
Можно добавить вручную перезагрузку компьютера
title Restart
и выключение компьютера
title Shutdown
добавление этих записей можно делать после имеющейся в
в menu.lst. записи
ls /usbdrive.tag > nul || find --set-root --devices=hf /usbdrive.tag > nul
ls /default > nul && default /default
Статьи на эту тему:
Рекомендуем другие статьи по данной темеКомментарии (119)
Рекламный блок
Подпишитесь на рассылку
Навигация
Облако тегов
Архив статей
Сейчас обсуждаем
glavred
Gregory F, Исправлено, спасибо.
Gregory F
DDR5 и DDR4 имеют 288 контактов, а не 380
Grey3
Но при этом изменяется имя адаптера, а вовсе не имя сети?! А мне хотелось бы менять имя сети, а не
admin
Могу привести личный пример. Обычно у меня открыто два браузера со множеством вкладок, для такой
гость
Сколько по вашему мнению на сегодняшний день нужно оперативной памяти для компьютера с Windows 11?
RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.
Наш сайт – прекрасная находка для тех, кто хочет основательно разобраться в компьютере и Windows, повысить свой уровень пользователя до опытного или профи.
Читайте также: