Настройка UEFI-загрузчика. Самое краткое руководство в мире / Хабр

Пошаговая инструкция как восстановить загрузчик Windows 7, Windows 8 и Windows 8.1 Восстановление загрузчика Windows 7 и windows 8. Программа для восстановления загрузчика.

Как делать не надо

Есть, на самом-то деле, несколько способов настроить 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-скриптов, которые до сих пор валяются у меня в корневой ФС:

efibootmgr -c -L «Archlinux (debug)» -l ‘EFIarchlinuxvmlinuz-linux’ -u «root=/dev/mapper/vg1-lvroot rw initrd=EFIarchlinuxinitramfs-linux.img systemd.log_level=debug systemd.log_target=kmsg log_buf_len=1M enforcing=0»

Не надо использовать GRUB

Это чёртов мастодонт, 90% функциональности которого предназначено для дисков с MBR. Для настройки необходимо отредактировать ряд файлов, после чего выполнить команду генерации конфига. На выходе получается огромная малопонятная нормальному человеку простыня. В составе — гора исполняемых файлов. Ставится командой, которую просто так из головы не возьмешь — надо обязательно лезть в документацию

grub-install —target=x86_64-efi —efi-directory=esp_mount —bootloader-id=grub

Для сравнения — самый простенький UEFI-bootloader, который есть в составе пакета systemd, ставится командой

bootctl install —path=/boot

Эта команда делает ровно две вещи: копирует исполняемый файл загрузчика на EFI-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.

Что же такое EFI / UEFI ?

Как только мы включаем компьютер, в нем немедленно начинает работать миниатюрная операционная система, которую мы знаем как BIOS. Она занимается тестированием устройств, памяти, загрузкой операционных систем, распределением ресурсов аппаратуры. Многие функции этого набора программ (их объем обычно около 256-512 Кб) позволяют поддерживать старые операционные системы вроде MS-DOS, предоставляя им множество возможностей.

Со времен PC/AT-8086 BIOS менялся очень мало, а ко времени запуска первых Пентиумов его развитие почти остановилось. Собственно, менять в нем стало нечего, кроме двойного BIOS, поддержки сетевых средств и возможности перепрошивки.

А вот минусов стало много: стартовый вход в реальный режим процессора, 16-разрядная адресация и 1 Мб доступной памяти, невозможность иметь «ремонтную» консоль. И, конечно, вечная проблема поддержки жестких дисков. Даже сейчас гарантированно поддерживаются диски до 2,2 Тб, не более.

Компания Intel еще в 2005 года решила поменять BIOS на EFI/UEFI (Unified Extensible Firmware Interface). Система EFI — более продвинутая базовая операционная система. На некоторых платформах Unix и Windows UEFI уже давно работает, но массового перехода пока не свершилось, несмотря на благие намерения. А они таковы:

  • Наличие пресловутой консоли для ремонта системных параметров и установки ОС;
  • Раздел EFI даёт возможность совершать некоторые действия, не загружая ОС (просмотр фильмов, запуск музыки);
  • Вход в Интернет и, следовательно, наличие установленных драйверов сети, стека TCP/IP и т.д.);
  • Присутствие графического режима и пользовательских скриптов;
  • Поддержка гигантских по объему дисков;
  • Хранение UEFI на разделах нового формата (GPT);
  • Полная поддержка всей аппаратуры с момента старта.

UEFI может использовать универсальную исполняющую машину вроде JVM для использования аппаратно-независимого кода, а это открывает огромные горизонты для создания «загрузочного» ПО.

Существует и критика этой технологии. В частности, внедрение ее может привести к отсечению от рынка операционных систем новых игроков: для этого всегда найдется в коде какая-нибудь технологическая лазейка. Как, например, невозможность загружать ОС Windows 98 из современных BIOS. Но, что хуже, придется забыть о миллионах программ MS-DOS и других систем, которые опирались в своей работе на функции BIOS. Возможно, они еще будут эмулироваться, но в этом есть сомнения. А среди них наверняка есть и важные программы, которые некому будет переписывать. Впрочем, все это решаемые вопросы – хотя бы за счет виртуальных операционных систем.

Но вот то, что появятся новые виды вирусов – это точно, и мы сможем увидеть это довольно скоро.

По материалам https://serty.ru/info/articles/kompyutery/Chto-takoe-EFI-UEFI/?sphrase_id=1389
Copyright © serty.ru

Делись с друзьями, подписывайся на наш канал Наука и Технологии и жми лайк, чтобы не пропустить новые публикации.

Решение

Решил как на видео, только винда 10ка была, а не ubuntu.

Прописал в startup.nsh тупо одно слово, даже без пути: bootx64.efi, и на автомате после efi shell запускается виндовый загрузчик.

Некоторые писали, что надо писать: /EFI/Boot/bootx64.efi

Если так не прописывать, то у меня каждый раз надо было вручную Exit из шелла писать..

Бук был не мой, так что выкрутился как проще и быстрее, чтоб с разделами не упражняться, там их штук 7 было, винду школьники хз как сами ставили.

Видео Youtube | Исправление загрузки Ubuntu 14.04 через UEFI Interactive Shell. startup.nsh
Проще простого

1

Как зайти в BIOS компьютера или ноутбука?

Для простоты чтения в блоге под BIOS иногда будет подразумеваться и UEFI.

Первая проблема, с которой можно столкнуться — это сам вход в BIOS. На большинстве стационарных компьютеров это сделать легко, нажав кнопку Delete при включении. Иногда пользователи сталкиваются с тем, что не успевают нажать клавишу вовремя. Чтобы гарантированно войти в BIOS, нужно нажимать кнопку Delete циклически, несколько раз в секунду, пока компьютер включается.

А вот с ноутбуками ситуация уже сложнее. По нажатию на кнопку Delete не всякий ноутбук войдет в BIOS, обычно надо нажимать F2.

Некоторые модели могут потребовать нажатия F1, F3 или F10. А старые или редкие модели ноутбуков Dell или Lenovo иногда требуют совсем редкие клавиатурные сочетания — Ctrl+Alt+Enter, Ctrl+Alt+F3 или Ctrl+Alt+Ins.

Многие клавиатуры ноутбуков не имеют отдельных F-кнопок, поэтому нужно будет нажимать дополнительную кнопку Fn. Например, Fn+F2.

Модели SONY VAIO имеют специальную кнопку ASSIST, с помощью которой можно войти в BIOS.

Иногда подобная кнопка имеется и на ноутбуках Lenovo.

Обычно подсказка по кнопкам будет видна при загрузке, внизу экрана, но очень непродолжительное время.

Если вам не удается зайти в BIOS на ноутбуке по сочетанию Fn+F2, то начнется загрузка операционной системы, которая в случае устаревшего железа может занять одну-две минуты, и ждать возможности перезагрузки ноутбука бывает очень утомительно.

Поэтому проще поступать так: нажимаете Fn+F2 и, если вход в BIOS не произошел, быстро нажимаете сочетания кнопок Ctrl+Alt+Del и пробуете еще раз или другое сочетание кнопок. Лучше заранее почитать руководство по эксплуатации ноутбука, если оно имеется, или скачать его из интернета.

Однако бывают ситуации, когда и интернета под рукой нет, а ноутбук очень экзотический, и подсказка по сочетаниям клавиш появляется на долю секунды. В таком случае выручит смартфон — включайте запись видео экрана ноутбука при загрузке и потом рассмотрите подсказку по клавишам на видео, поставленном на паузу.

Вообще, смартфон часто выручает и опытных пользователей при работе с BIOS, ведь им очень удобно сфотографировать настройки, которые трудно запомнить.

Intel Tianocore OS:

Download

• ядро(kernel) совмещенное с bootmanager = efildr20
• пользовательское меню
• командный процессор shellx64, переименованный minishell для дискеты Tianocore_UEFI_DUET_Builds автор Keshav Padram Amburay ,
• основные дисковые утилиты
• диагностика

DUET.imz  образ дискеты 1.44

floppy_black.png

• efildr переименован в DUET — renamed efildr
поддержка SATA support

DUET.ISO

extracted from Clover EFI bootloader project  by Sergey Isakov a.k.a Slice with SATA & mouse support
DUET.ISO извлеченный из проекта загрузчик EFI клевер цвета хаки разработчик Сергей Исаков (Sergey Slice) с поддержкой SATA и мыши

cd.png

More Info:

Windows and GPT FAQ

Extensible Firmware Interface (EFI) and Unified EFI (UEFI

A BIOS to UEFI Transformation  by Rod Smith

The EFI boot process by Jonathan de Boyne Pollard

 favicon.png

ashumov.vagifemail.giframbler.ru

220px-Copyleft_svg.png MultiBoot.Ru  2007-20

21

Другие загрузчики

systemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты.

rEFind — очень красивый загрузчик. Скачать можно тут в виде deb-пакета. Использую на своём ноуте. Умеет создавать загрузочное меню автоматически, без конфига — просто сканируя файлы.

Clover. Позволяет выставлять нативное разрешение экрана, имеет поддержку мыши на экране загрузки, разные темы оформления. Дефолтная тема ужасна, конфиг в виде xml нечитаем, настроить не смог.

Отключаем встроенную аудиокарту в BIOS

Все чаще в компьютеры ставят качественную дискретную звуковую карту, при этом встроенную надо отключить. Делается это просто, заходим в меню Settings и подраздел AdvancedIntegrated Peripherals.

HD Audio Controller переводим в режим Disabled.

Восстановление удаленных данных

Некорректная работа операционной системы и проблемы с загрузчиком могут говорить о наличии вирусов, которые буквально уничтожают все файлы. Если вы обнаружили, что ваши важные данные исчезли, рекомендуем воспользоваться программой RS Partition Recovery, которая сможет быстро восстановить все удаленные данные, поврежденные вирусами или утерянные в случае случайного форматирования.

Также программа RS Partition Recovery позволяет восстанавливать фотографии, видеофайлы, текстовые документы и т.д. после удаления вплоть до нескольких месяцев назад. На сайте recovery-software.ru вы сможете ознакомится со всеми преимуществами и особенностями RS Partition Recovery, а также других продуктов от Recovery Software.

Различные неочевидные последствия

Вы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать.

Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.

Устранение ошибки, возникающей в Windows 8.1

Если после установки windows или после обновления версии до 8.1 в правом углу монитора появляется уведомление о неправильной регулировке secure boot (защищенной загрузки).

На большинстве компьютеров неполадка решается заходом в меню uefi и включением режима «Secure boot» в БИОСе.

В том случае , когда в вашей версии BIOS нету пункта включения/отключения безопасной загрузки, необходимо скачать с официальной веб-страницы Microsoft обновление для версии 8.1. Оно находится там под номером КВ 2902864 и действует как для 32-х битных систем, так и для 64-битных.

После загрузки и установки обновления компьютер перезагрузится и уведомления об ошибке больше не будут появляться.

подсистема Bios

Linux Bootloaders for UEFI 

See UEFI Bootloaders .

Hardware Compatibility 

Main page HCL/Firmwares/UEFI

Способ 9: Ошибка «BOOTMGR is missing»

При загрузке вы можете наблюдать вот такое сообщение: «BOOTMGR is missing. Press Ctrl+Alt+Del to restart». Как я уже и говорил, в системе есть так называемый загрузочный файл MGR, который как раз так и называется «BOOTMGR». Весит он, как вы поняли, всего 100 МБ. Иногда данный файл может ломаться или вообще удаляться вирусами. Тогда вы и видите ошибку, что файл «BOOTMGR» – не найден.

Тут есть два варианта. Первый – он настолько поломан, что не может запустить систему. Второй – он удален или перенесен в другой раздел. Как вариант – система могла выбрать в качестве загрузки другой раздел, диск или устройство. По решению именно этой проблемы смотрим инструкцию по этой ссылке.

Восстановление запуска Windows 7: поднимаем загрузчик

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: