Содержание

За всеми вышенаписанными "многобуков" вы могли легко упустить такую мысль: пользователь, чтобы изменить настройки программной части (например, добавить параметр запуска ОС), вынужден перезаписывать flash-память микросхемы на плате. Есть ли тут подводные камни? О да! Windows иногда способна сделать из ноутбука кирпич, linux тоже, причём разными способами. Качество прошивок часто оставляет желать лучшего — стандарты UEFI либо реализованы криво, либо не реализованы вообще. По логике, прошивка обязана переживать полное удаление всех переменных efivars без последствий, не хранить в них критичных для себя данных и самостоятельно восстанавливать значения по-умолчанию — просто потому что пользователь имеет к ним доступ, и вероятность их полного удаления далека от нуля. Я лично в процессе экспериментов неоднократно (к счастью, обратимо) "кирпичил" свой Lenovo — из загрузочного меню исчезали все пункты, включая опцию "зайти в настройки".
Настройка UEFI-загрузчика. Самое краткое руководство в мире
Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством 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-скриптов, которые до сих пор валяются у меня в корневой ФС:
efibootmgr -c -L "Archlinux (debug)" -l '\EFI\archlinux\vmlinuz-linux' -u "root=/dev/mapper/vg1-lvroot rw initrd=\EFI\archlinux\initramfs-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-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.
"Самое краткое руководство" — чуть более подробно
Загрузочное меню надо реализовывать на уровне загрузчика — править текстовые конфиги гораздо проще и безопасней.
Загрузочная запись нам не нужна — дело в том, что при выставлении в настройках BIOS загрузки с диска прошивка UEFI сначала ищет на нём EFI-раздел, а затем пытается исполнить файл по строго фиксированному адресу на этом разделе: /EFI/Boot/BOOTX64.EFI
Как в биосе переключиться с одного жёсткого диска на другой!!!(stas alekseev)
Что такое "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" с тремя строчками (привожу свои):
default archlinux timeout 10 editor 1
Параметр editor отвечает за возможность отредактировать пункт загрузочного меню перед запуском.
Рядом с loader.conf необходимо создать каталог entries — один файл в нём будет отвечать за одну загрузочную запись в boot-меню. У меня там один файл arch.conf с таким содержанием:
title Arch Linux linux /efi/archlinux/vmlinuz-linux initrd /efi/archlinux/initramfs-linux.img options root=/dev/mapper/vg1-lvroot rw initrd=\EFI\archlinux\intel-ucode.img
Я не упомянул, но довольно очевидно — ядро и initramfs должны лежать в одной файловой системе с загрузчиком, то есть на EFI-разделе. Пути к ним в конфигах отсчитываются от корня этой ФС.
Другие загрузчики
systemd-boot очень простой и предоставляет спартанского вида чёрно-белое меню. Есть варианты красивей, если душа просит красоты.
rEFind — очень красивый загрузчик. Скачать можно тут в виде deb-пакета. Использую на своём ноуте. Умеет создавать загрузочное меню автоматически, без конфига — просто сканируя файлы.
Clover. Позволяет выставлять нативное разрешение экрана, имеет поддержку мыши на экране загрузки, разные темы оформления. Дефолтная тема ужасна, конфиг в виде xml нечитаем, настроить не смог.
Различные неочевидные последствия
Вы можете легко попробовать эту схему в работе. Берёте USB-флешку, форматируете в таблицу разделов GPT, создаете FAT-раздел и копируете туда загрузчик. Комп сможет с неё стартовать.
Если просто скопировать на такую флешку boot-раздел установленного linux — система будет спокойно загружаться с флешки, не видя разницы.
Вызов boot -меню на разных материнских платах
Наверно все знают, чтобы загрузиться с дисковода или флешки нужно установить порядок устройств для загрузки в БИОСе. Например, чтобы установить Windows XP с диска на компьютер, нужно с этого самого диска для начала загрузиться. Для этого нужно в БИОСе поставить дисковод первым устройством для загрузки.


Однако, можно и не лезть в BIOS и ничего там не менять. Достаточно сразу после включения компьютера нажать клавишу вызова boot menu (меню загрузки) и в появившемся списке устройств выбрать то, с которого следует загрузиться. Выбор устройства загрузки в меню загрузки никак не сказывается на настройках BIOS . То есть это меню влияет именно на конкретную загрузку, а если после его не вызывать, то компьютер или ноутбук будет загружаться так, как это настроено в БИОСе.
Как вызвать boot menu — клавиши вызова меню загрузки BIOS
Итак, с тем, что такое boot menu в БИОСе, мы разобрались. Теперь расскажу с помощью каких горячих клавиш оно вызывается. Тут какого-то стандарта нет. Все зависит от производителя материнской платы ПК или ноутбука и от версии установленного там BIOS . Так например вызов boot menu asus отличается от того, как вызвать boot menu на ноутбуке acer или sony vaio .
В большинстве случаев клавишей для вызова меню выбора устройства загрузки служит F12 , но некоторые производители используют свои комбинации клавиш. Особое внимание можно заострить на boot menu samsung и HP . Чтобы попасть в boot menu ноутбука Samsung нужно нажать Esc (только один раз!). Если нажать на Esc хотя бы два раза, то меню загрузки закроется, не успев открыться. Поэтому нужно рассчитать и четко попасть по времени с нажатием горячей клавиши вызова boot menu . Это бывает достаточно сложно сделать без определенной сноровки.
Вызов boot menu на ноутбуках HP тоже специфичен. Для этого сначала нужно нажать Esc , после чего появится сервисное меню ноутбука. В нем мы уже выбираем нужный пункт (с помощью нажатия горячей клавиши). Для вызова boot menu HP нажимаем F9 .
У некоторых производителей устройство для загрузки в меню выбирается клавишами курсора, у других необходимо нажать клавишу с цифрой, обозначающей порядковый номер устройства в списке.
Ниже приведена таблица, в которой несложно разобраться. Это таблица соответствия горячих клавиш для вызова меню выбора устройства загрузки, производителя материнской платы и БИОСа.
Да, и последнее уточнение. В некоторых случаях горячие клавиши вызова меню загрузки по умолчанию отключены в БИОСе. Чтобы появилась возможность пользоваться boot -меню, необходимо ее включить в настройках БИОСа. Обычно эта функция называется F12 Boot Menu . Чтобы включить эту функцию, необходимо установить ее значение в Enabled .

Помимо клавиш вызова boot menu , в таблице указаны клавиши для входа в BIOS .
| Производитель / устройство | Версия BIOS | Клавиша вызова меню загрузки | Клавиша для входа в BIOS |
| Мат. платы MSI | AMI | F11 | Del |
| Мат. платы Gigabyte | Award | F12 | Del |
| Мат. платы Asus | AMI | F8 | Del |
| Мат. платы Intel | Phoenix-Award | Esc | Del |
| Мат. платы AsRock | AMI | F11 | Del |
| ноутбуки Asus | Esc | F2 | |
| ноутбуки Acer | Inside H2O | F12 | F2 |
| ноутбуки Acer | Phoenix | F12 | F2 |
| ноутбуки Dell | Dell | F12 | F2 |
| ноутбуки HP | Esc -> F9 | Esc -> F10 | |
| ноутбуки Lenovo | AMI | F12 | F2 |
| ноутбуки Packard Bell | Phoenix Secure Core | F12 | F2 |
| ноутбуки Samsung | Phoenix Secure Core | Esc (один раз, при повторном нажатии выходит из меню) |
F2 |
| ноутбуки Sony Vaio | Inside H2O | F11 | F2 |
| ноутбуки Toshiba | Phoenix | F12 | F2 |
| ноутбуки Toshiba | Inside H2O | F12 | F2 |
Как указать с какого диска загружать Windows?
Жмёте при загрузке на клавишу Delete или F8 и входите в меню загрузки, затем с помощью стрелок на клавиатуре выбираете жёсткий диск с нужной Вам операционной системой и жмёте Enter, происходит загрузка выбранной Вами Windows.
Как поставить приоритет загрузки с жесткого диска?
- В этом окне перейдите в пункт "Boot Device Priority".
- В открывшемся окне, в пункте "1st Boot Device" выберите ваш HDD, если нужно загрузится с диска, ставите первым CD-ROM.
- После всего проделанного, нажмите F10, чтобы сохранить изменения.
Bios UEFI ASUS не видит жесткий диск в Boot Priority для выбора диска для загрузки Windows, как
Как запустить систему со второго жесткого диска?
- Включите или перезагрузите компьютер. .
- Выберите «Boot» или «Advanced BIOS Features» с помощью клавиш со стрелками. .
- Выберите «Hard Disk Boot Priority», «Hard Drive Order» или другой похожий вариант. .
- Выберите второй жесткий диск и нажмите «Enter» или «+», чтобы переместить устройство в начало списка.
Как выставить приоритет загрузки?
Находясь в закладке Boot найдите пункт, в котором настраивается очередность загрузки. Называется он чаще всего "Boot Device Priority": Выберите его и нажмите ентер. В открывшемся окне вы увидите очередность устройств, с которых BIOS пытается загрузить операционную систему.
Как выбрать жесткий диск для загрузки?
Перезагружаем компьютер и как только он начнет загружаться, нажимаем клавишу F11. Появиться окно “Please select boot device:”, в котором с помощью стрелок вверх и вниз выбираем нужное нам устройство, с которого мы хотим загрузиться, и подтверждаем свой выбор нажатием на “Enter”.
Какую клавишу нажать для выбора загрузки?
В большинстве случаев клавишей для вызова меню выбора устройства загрузки служит F12, но некоторые производители используют свои комбинации клавиш.
Как в биосе переключиться с одного жёсткого диска на другой?
Перейдите к строке «First Boot Device» и нажмите Enter. Появится список носителей – с помощью стрелок выберите вариант «Hard Disk», который соответствует основному жесткому диску, или «CDROM», что соответствует оптическому приводу, и нажмите Enter.
Как выставить приоритет загрузки в BIOS ASUS?
Как можно понять, располагается меню Boot device priority в настройках БИОС (UEFI). Чтобы попасть в них, необходимо при загрузке компьютера (до начала загрузки операционной системы) нажимать на клавишу Del.
.
| Acer | F9, F12 или ESC |
|---|---|
| ASUS | F8 или ESC |
| Compaq | F9 или ESC |
| Dell | F12 |
| ESC | F11 |
Как загрузить систему с жесткого диска?
- В момент включения компьютера, посмотрите в нижнюю часть экрана, там будут отображаться кнопки для редактирования bios (SETUP) и для быстрой загрузке с диска (BOOT MENU).
- Нажав написанную клавишу вы попадете в меню выбора источника загрузки. Выбрав нужный вам источник нажимайте enter.
Как запустить другой Windows?
При загрузке компьютера необходимо нажимать клавишу F8 до появления списка. Список будет состоять из всех ОС, которые видит компьютер. Из этого списка мы можем выбрать виндовс для загрузки, ну или другую систему.
Как в биосе поставить загрузку с SSD?
Включите ваш компьютер. Непрерывно нажимайте соответствующую клавишу клавиатуры, чтобы войти в BIOS (обычно F12, F2, F8, Esc, Del). С помощью клавиш со стрелками перемещайте вверх/вниз отображаемые параметры загрузки, пока не установите клонированный SSD в качестве загрузочного устройства № 1.
Какой должен быть порядок загрузки в биосе?
Как правило, по умолчанию биос настроен таким образом, что поиск загрузочных носителей может выполняться сначала в приводе оптического диска или дискете (для старых моделей компьютера), а уже затем начинается загрузка с винчестера.
Как изменить порядок загрузки в BIOS Windows 7?
- Войдите в меню BIOS . .
- После того, как меню загрузки будет найдено, найдите порядок загрузки, который нужно изменить. .
- Чтобы изменить устройство для загрузки с первого , следуйте инструкциям на экране утилиты настройки BIOS , чтобы изменить порядок загрузки.
Похожие статьи
-
Если Вы являетесь владельцем ноутбука от фирмы Acer, то используйте клавишу F12 для вызова Boot Menu. Однако есть один момент: на многих ноутбуках…
-
Для изменения очередности загрузки в AMI BIOS выбираем пункт BOOT далее выбираем Boot Device Priority. Выбор диска загрузки Иногда бывает необходимо…
-
Так вот к чему я это всё рассказываю вам. Когда человек начал понимать, что ему это необходимо, то и престал бояться работать за компьютером. Он стал…