В чем же состоят отличия UEFI BIOS от традиционного BIOS?
BIOS считывает информацию с первого сектора жесткого диска, где содержится главная загрузочная запись (MBR) и выбирает загрузочное устройство, где находится операционная система. Поскольку BIOS – это очень старая система, работающая с середины 1970-х гг, то она до сих пор работает в 16-битном режиме. Это обстоятельство ограничивает количество информации, которое может быть прочитано из системной ROM (постоянной памяти компьютера).
UEFI выполняет ту же задачу, но делает это немного по-другому. Она хранит всю информацию об инициализации и начальной загрузке системы в специальном файле, находящемся на жестком диске в особом разделе ESP (EFI System Partition). Кроме того, ESP содержит загрузочные программы операционной системы, установленной на компьютере.
Процесс загрузки компьютера на основе UEFI и эмуляции традиционной Legacy BIOS
УЕФИ в перспективе предназначена для полной замены BIOS и предлагает много новых функций и улучшений, которые не могут быть реализованы в BIOS:
- Отсутствие ограничений объема разделов и их количества. Для хранения информации о жестком диске БИОС использует главную загрузочную запись (MBR), в то время как UEFI – так называемую GPT (GUID partition table). Основная разница между ними состоит в том, что MBR использует 32-битные элементы, что позволяет системе иметь лишь 4 физических раздела диска, а каждый раздел может быть размером не более 2 терабайт. Что же касается GPT, то она имеет 64-битные элементы, что позволяет системе иметь до 128 разделов размером до зеттабайта (1021 байт).
- Скорость и производительность. Поскольку технология УЕФИ не зависит от конкретной платформы, то она способна уменьшить время загрузки и увеличить скорость работы компьютера, особенно в том случае, если в системе установлены объемные жесткие диски.
- Безопасность. Самым большим преимуществом UEFI по сравнению с БИОС является безопасность. Она реализуется при помощи технологии Secure Boot (безопасный запуск), поддерживаемой операционной системой Windows 8. Поскольку Secure Boot имеет возможность запрашивать цифровую подпись у загрузочных программ, то интерфейс UEFI позволяет использовать во время загрузки только аутентифицированные драйверы и службы. Secure Boot контролирует процесс загрузки до тех пор, пока операционная система полностью не загружена. Это дает гарантию того, что во время загрузки в компьютер не проникнет вредоносное ПО.
- Обратная совместимость. Для обратной совместимости большинство реализаций УЕФИ на компьютерах архитектуры PC также поддерживают режим Legacy BIOS для дисков с MBR. Для этого в UEFI существует функция CSM (Compatibility Support Module, модуль поддержки совместимости). В случае диска с MBR загрузка производится в том же режиме, что и в системах на основе BIOS. Также возможна загрузка систем на основе BIOS с дисков, имеющих GPT.
- Поддержка сетевой загрузки. УЕФИ может осуществлять загрузку через сеть при помощи технологии Preboot eXecution Environment (PXE). Эта технология поддерживает основные сетевые протоколы, такие, как IPv4 и IPv6, UDP, DHCP и TFTP. Также поддерживается загрузка с загрузочных образов, хранящихся в сетевых хранилищах данных.
- Менеджер загрузки.В стандарте UEFI менеджер загрузки определяется как инструмент, предназначенный для загрузки операционной системы и всех необходимых драйверов. Загрузчики операционной системы хранятся в файлах, к которым может осуществляться доступ со стороны встроенного ПО. УЕФИ поддерживает файловые системы FAT32, а также FAT16 и FAT12 для съемных носителей. UEFI не зависит от загрузочных секторов, хотя ESP отводит для них место в целях обратной совместимости. Загрузчики автоматически определяются программным обеспечением UEFI, что позволяет осуществлять загрузку со съемных носителей.
Исправление MBR (Master Boot Record, Главная загрузочная запись)
Первый из полезных параметров bootrec.exe — FixMbr, позволяющий исправить MBR или загрузчик Windows. При его использовании, поврежденная MBR перезаписывается новой. Загрузочная запись располагается на первом секторе жесткого диска и сообщает БИОС, каким образом и откуда начинать загружать операционную систему. При повреждениях вы можете видеть следующие ошибки:
- No bootable device
- Missing operating system
- Non-system disk or disk error
- Кроме этого, если у вас появляется сообщение о том, что компьютер заблокирован (вирус) еще до начала загрузки Windows, тут тоже может помочь исправление MBR и загрузки.
Для того, чтобы запустить исправление загрузочной записи, введите в командной строке bootrec.exe /fixmbr и нажмите Enter.
Как делать не надо
Есть, на самом-то деле, несколько способов настроить 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-раздел и добавляет свою загрузочную запись в прошивку. А конфиг для неё занимает ровно СЕМЬ строчек.
Как преобразовать Windows на MBR-диске в EFI-систему на диске GPT программой EaseUS Partition Master
Как начать использовать возможности BIOS UEFI компьютера, если доселе он работал в режиме Legacy – режиме обычной BIOS ? Как это сделать без переустановки Windows? Для этого необходимо преобразовать стиль разметки жёсткого диска из MBR в GPT . Такую операцию предлагают многие программы для разметки дискового пространства. И также это можно сделать средствами Windows 10, с помощью командной строки.
Но далеко не все программы для разметки дискового пространства предлагают конвертирование стилей с сохранением работоспособности Windows. Средство командной строки же работает только в среде Windows 10. А как бы найти универсальное решение – преобразовать диск из MBR в GPT , и чтобы при этом была сохранена любая из способных работать с UEFI версий Windows, а это 7, 8.1 и 10? Такое решение имеется у программы EaseUS Partition Master.
3. Конвертирование
Запускаем EaseUS Partition Master, кликаем оперируемый диск. Жмём «Convert to GPT».
Программа просит нас убедиться, что наш компьютер поддерживает режим BIOS UEFI . Иначе Windows впоследствии просто не загрузится. Жмём «Yes».
И вот можем видеть карту диска с отображением схемы разделов согласно запланированной операции. Программа отщипнула от системного раздела С 300 Мб и создала EFI -раздел – шифрованный загрузочный раздел на GPT -дисках с файловой системой FAT32. Именно он после преобразования будет отвечать за загрузку Windows. Запускаем применение запланированных операций – жмём «Execute 1 Operation».
Будет выведено окно сводки операций, жмём в нём «Apply». Затем последует уведомление о том, что программе для выполнения этих операций надо перезагрузить компьютер. Жмём «Yes».
Компьютер перезагрузится. И в среде предзагрузки будем видеть прогресс выполняемых операций, а также программные уведомления. Первое будет о том, что для отмены операций мы можем нажать любую клавишу в течение первых каких-то секунд. Соответственно, для старта операций в эти секунды нельзя трогать клавиатуру. Второе будет о том, что после перезагрузки надо войти в BIOS и выставить активным режим UEFI . Третье уведомление будет являть собой отчёт о завершении преобразования и таймер отсчёта времени до перезагрузки компьютера.
Как только компьютер перезагрузится, жмём клавишу входа в BIOS и активируем UEFI . Ну и если мы преобразовываем Windows 7, то ещё выключаем Secure Boot . На этом, собственно, всё – можем пользоваться преобразованной Windows. Но те, кто хочет оптимально использовать место на диске, могут осуществить ещё кое-какие операции для присоединения объёма раздела MBR-загрузчика к разделу системы С.
4. Переразметка диска
И раз уж мы работаем с переразметкой диска, почему бы не ужать EFI -раздел? 300 Мб это много для него, ему достаточно будет и 200 Мб. Кликаем EFI -раздел и жмём «Resize/Move».
В графе «Partition size» указываем оставляемый разделу объём 200 Мб. И на карте раздела меняем его положение: оттягивая влево, смещаем в самое начало. Жмём «Ок».
В итоге у нас должна получиться такая картина: смещённый в начало диска EFI -раздел и пустое нераспределённое место после него. Применяем запланированные операции.
Подтверждаем их и уходим в перезагрузку.
После запуска Windows снова открываем EaseUS Partition Master. Кликаем раздел Windows С и жмём «Resize/Move».
На карте раздела расширяем его, чтобы он занимал и своё место, и пустое нераспределённое место. Жмём «Ок».
Перенос Windows на новый диск
Наконец мы подходим к интересному моменту – переносу операционной системы на раздел нового диска.
В окне AOMEI Partition Assistant вы должны нажать на вкладку «Мастер» и из открывшегося списка выбрать пункт «Перенос ОС SSD или HDD».
В новом окошке нажимаем «Далее».
В следующем окне нажимаем на раздел, где написано «Незанятое» и снова нажимаем «Далее».
Объем всего системного радела может быть меньше того раздела, на который мы будем осуществлять перенос, тогда вам нужно ползунок с правой стороны протянуть вправо на максимум. Это нужно для того, чтобы не создалось еще одно нераспределенное пространство, которое пришлось бы снова объединять системным или другим разделом.
После проделанного действия жмем «Далее».
Подходим к концу, нужно нажать кнопку «Конец».
Дабы все действия, которые мы совершили, применились, нужно слева вверху окна нажать кнопку «Применить».
Появится окно, в котором показана операция, нами запланированная. Просто жмем кнопку «Перейти». Кстати говоря, там еще будет указано время, которое будет потрачено на выполнения операции. Очень полезная функция, которую не имеют многие программы такого типа.
Как только вы нажали «Перейти» появится предупреждающее окно, которое говорит на о том, что мы не сможем пользоваться ПК во время выполнения операции. Ну что же, нажимаем «Да».
Компьютер, или ноутбук перейдет в режим предзагрузки и начнет переносит систему на новый раздел. Все это вы сможете увидеть на экране.
Если нужно проверить, загружается ли перенесенная Windows, нужно в BIOS выставить новый жёсткий диск на первое место.
Вот мы и завершили такую долгую, но полезную операцию, как перенос Windows. Я бы оставил систему изначального диска, потому что на любом из них ОС может выйти из строя, а с работоспособной мы сможем исправить какие-либо проблемы. Единственный минус в том, что вторая ОС будет не активирована, поэтому придется удалить систему с одного диска и активировать на другом.
Создание или восстановление резервной копии хранилища загрузки windows
Перед выполнением всех действий создайте резервную копию хранилища загрузки, чтобы вы могли восстановить его в случае необходимости. Создать бекап BCD вы можете следующим образом:
- На любом не системном разделе создайте папку BCDBackup.
- Запустите командную строку с правами администратора. Для этого нажмите на Win S, введите Командная строка, кликните правой кнопкой мышки по результату и выберите Запустить от имени администратора.
- Введите команду bcdedit /export E:BCDBackupBCD, где E — буква раздела, на котором находится созданная ранее папка.
- Для восстановления рабочей копии BCD вам нужно ввести bcdedit /import E:BCDBackupBCD, где Е — буква раздела, содержащего каталог с резервной копией хранилища загрузки.
Способы создания полного образа системы
Отключив среду восстановления, можно создавать резервную копию. Вне зависимости от способа, среда восстановления будет включена в образ.
Я публиковал в прошлой статье. Однако внедрение документа Word Online в страницу блога вызвало негодование Патриарха. Замаливая грехи, я публикую специально для него HTML-версию таблицы
Способ |
Преимущества |
Недостатки |
Моя рекомендация |
---|---|---|---|
Создание образа системы в панели управления (все обязательные разделы) |
|
|
Пользуйтесь, если нет проблем при создании |
(все обязательные разделы) |
|
|
Пользуйтесь только для создания образов по расписанию |
(только системный раздел) |
|
|
Не пользуйтесь |
Утилита dism или imagex (только системный раздел) |
Нет проблем при восстановлении |
|
Пользуйтесь для разового создания полного образа |
|
|
Пользуйтесь наряду с:
|
1 Проблема описана на этой странице2 При восстановлении размер целевого раздела должен быть не меньше размера раздела, включенного в образ
Графический интерфейс
Найдите в классической панели управления историю файлов и запустите создание резервной копии.
Теперь раздел Windows RE не является обязательным, поэтому он не включается в образ.
Кстати, уже второй раз в статье на снимках экрана фигурирует , ошибочно названный шифрованным в русской Windows.
Утилита wbadmin (все обязательные разделы)
Этот способ подойдет для настройки архивации по расписанию.
wbadmin start backup -backupTarget:F: -allCritical -quiet
Здесь F – буква диска, на котором вы хотите сохранить резервную копию. я уже излагал.
Утилита wbadmin (только системный раздел)
Я не рекомендую этот способ, т.к. лучше взять DISM или imagex.
wbadmin start backup -backupTarget:F: -include:C: -quiet
Эти утилиты захватывают только один раздел за раз, т.е. не подходят для создания полного образа ПК. Захват производится в среде Windows PE. Буква D указывает место хранения образа, а C – раздел для захвата. Не забывайте про простой способ определиться с буквами дисков в PE.
Структура разделов на GPT диске
Рассмотрим, как должна выглядеть таблица разделов загрузочного жесткого диска с GPT разметкой на . Как минимум должны присутствовать следующие разделы:
- Системный раздел EFI (EFI System Partition или ESP — Extensible Firmware Interface) – 100 Мб (тип раздела — EFI
). - Резервный раздел Майкрософт – 128 Мб (тип раздела — MSR
). - Основной раздел Windows – раздел с Windows
.
Это именно минимальная конфигурация. Эти разделы создает установщик Windows при установке системы на неразмеченный диск. Производители ПК или сами пользователи могут дополнительно создавать собственные разделы, содержащие, к примеру среду восстановления Windows в файле winre
.wim
(), раздел с резервным образом системы от производителя (позволяет откатится к исходному состоянию компьютера), пользовательские разделы и т.д.
Раздел EFI
c файловой системой Fat32 является обязательным на дисках с GPT разметкой на UEFI системах. Данный раздел, по аналогии с разделом System Reserved на дисках с MSR разметкой, хранит хранилище конфигурации загрузки (BCD) и ряд файлов, необходимых для загрузки Windows. При загрузке компьютера среда UEFI загружает с раздела EFI (ESP) загрузчик (EFI\Microsoft\Boot\bootmgfw
.efi
) и передает управление ему. Если этот раздел удален, загрузить ОС нельзя.
MSR
раздел
на GPT диске используется для упрощения управления разделами и используется для служебных операций (например, при конвертирования диска из простого в динамический). Это резервный раздел, которому не назначается код раздела. На этом разделе нельзя хранить данные пользователя. В Windows 10 размер MSR раздела – всего 16 Мб (в Windows 8.1 размер MSR раздела – 128 Мб), файловая система – NTFS.
2019-11-24
Предисловие
Данных возможностей вполне достаточно для организации загрузки установленной операционной системы Windows на MBR-диске, в двух режимах BIOS и UEFI.
Важное замечание. Для работы с GPT-таблицами необходима 64-разрядная операционная система
Тестовая Машина
Для проведения тестов использовалась виртуальная машина VirtualBox с установленной операционной системой Windows 10 x64 на MBR-диске.
В текущем варианте, система грузится с помощью BIOS-загрузчика расположенном в первом скрытом разделе жесткого диска.
Для добавления возможности загрузки текущей системы в UEFI-режиме, потребуется совсем немного действий. Сначала необходимо будет создать дополнительный раздел размером в 100 МБ с файловой системой FAT32. После на созданный раздел, необходимо будет установить UEFI-загрузчик. И последний шаг, удалить букву диска созданного загрузочного раздела. Во избежание удаления с него файлов.
Разметка Диска
Разметка диска будет выполняться с помощью инструмента «Управление дисками«. Запустить Управление дисками можно двумя способами: Либо через окно Выполнить (или любое другое средство выполнения команд), набрав в строке запуска команду diskmgmt.msc.
Либо с помощью контекстного меню кнопки пуск ( Win+X ).
Запустив компонент Управление дисками, сжимаем пространство любого из первичных разделов обладающих достаточным объемом свободного пространства, отнимая необходимые нам 100 МБ для нового загрузочного UEFI-раздела.
Получив свободное, неразмеченное пространство, создадим первичный раздел и отформатируем его в файловую систему FAT32.
Запоминаем букву назначенную созданному разделу (в моем случае это буква E:), и переходим к установке загрузчика.
Установка Загрузчика
На данный момент, созданный нами загрузочный раздел абсолютно пуст.
Установим UEFI-загрузчик Windows Boot Manager. Для установки, запускаем любую командную оболочку от имени администратора, в моем случае это будет PowerShell (запускается так же через контекстное меню кнопки пуск Win+X ).
И выполняем следующую команду:
Обращаем внимание на то что путь C:Windows указывает на текущую папку Windows текущей операционной системы для которой мы выполняем установку загрузчика. А в качестве значения параметра /s указываем букву раздела на который будет установлен загрузчик
После выполнения команды, на созданном разделе появятся соответствующие папки и файлы.
Загрузчик на этом успешно установлен.
Последний штрих, отключение буквы диска созданного загрузочного раздела, во избежание его удаления файлов на нем в будущем.
Все готово, теперь осталось лишь проверить загрузку в BIOS и UEFI режимах.
Двойной Запуск
На данный момент система загружена в BIOS-режиме.
Выполним загрузку в UEFI-режиме.
Теперь система может загружаться в режимах BIOS или UEFI абсолютно прозрачно.
В статье было рассмотрено: Как осуществить загрузку операционной системы Windows в UEFI-режиме с MBR-диска?
Почему не был изменен стандартный загрузочный раздел, для получения точно такого же результата? Текущая конфигурация более проста и позволяет легко откатиться к предыдущему состоянию за минимум действий.
Как найти boot.ini
Вначале поговорим о Windows XP. Где находится BOOT.INI в этой модели? Его можно найти непосредственно в корневой директории (там, где основные дистрибутивы системы). Но увидеть его не получится, если не активировано отображение скрытых объектов. Чтобы включить эту опцию:
- Зайдите в «Панель управления» (в меню «Пуск»).
- Откройте «Параметры папок» в разделе «Оформление и персонализация».
- Найдите вкладку «Вид».
- Прокрутите ползунок вниз. Там будет строчка «Показывать скрытые файлы». Поставьте галочку.
Теперь вы сможете увидеть BOOT.INI. Он находится прямо на системном диске (обычно это диск C:). Сам файл имеет иконку в виде листка с шестерёнкой. Он будет полупрозрачным. Это означает, что он скрытый, и снять с него этот атрибут невозможно.
Если вы не представляете, где именно установлена ваша ОС, зайдите в меню «Пуск — Поиск». Выберите «Файлы и папки» и в поле для ввода напишите название или часть названия. В окне отобразятся все результаты с таким именем.
Если вы используете Windows 7, во всех моделях, начиная с Vista, эти настройки заменили на файл конфигурации «BCD», который не имеет расширения. Его можно запустить как часть реестра, но настроить или изменить в нём что-то будет трудно. Он содержит очень много параметров и значений, в которых непросто ориентироваться. В Windows 10 BOOT.INI тоже отсутствует, поэтому менять параметры загрузки придётся другим способом.
BCD намного полезнее и функциональнее своего «предшественника», но этот файл не предназначен для ручной настройки. Он нужен для нужд системы, и исправлять в нём что-либо не стоит.