Uefi boot legacy: В чем разница между UEFI и Legacy BIOS
Содержание
Переезд с Legacy Boot на UEFI — Блог
Всем привет!
После замены NVMe накопителя в ноутбуке на более объёмный, я решил использовать старый в своём ПК. Казалось бы, нужно лишь вставить накопитель, скопировать на него / и /boot и загрузиться с него, но не тут то было! Моя материнская плата базируется на H97 чипсете, который является «переходным» для Intel`а, поэтому поддержка M.2 была добавлена в неё «бонусом» и как следствие, по крайней мере на моей материнской плате, грузиться с него нельзя
Не долго думая я вспомнил о функции мультибута в GRUB и том моменте, что ему безразлично на каком диске расположена ОС. Следовательно, в моём случае можно установить загрузчик на другой диск и загружать ОС, расположенную на M.2, через него.
На этом моменте стоит ещё упомянуть, что диск, который я выбрал для установки загрузчика, размечен таблицей секторов GPT, которая имеет некоторые отличия от MBR в плане загрузки:
Как всем известно старый добрый MBR выделяет свой первый сектор (чаще всего 512 байт) под «Master Boot Record», который содержит код инициализации загрузчика (сам загрузчик не помещается в этот объём, особенно учитывая различные дополнения: lvm, dm-crypt, файловые системы и т. д.). Это в свою очередь также налагает ограничение в 1 загрузчик на диск (и в принципе является некоторым костылём). При разработке GPT решили учесть этот момент (хотя 1-ый сектор также может быть использован для загрузки в legacy boot режиме) и как замена этого механизма предлагается как минимум 2 варианта того, как можно осуществлять загрузку:
1) Используя UEFI: В этом случае загрузчик записывается в память материнской платы (efivars). Этот вариант делает неудобным перенос диска с системой в другой ПК или замену материнской платы. Также в моём случае загрузчик отказался устанавливаться, возвращая ошибку ¯\_(ツ)_/¯
2) Другой способ состоит в том, чтобы использовать специальный тип раздела — «EFI System», который будет просматриваться UEFI на предмет наличия загрузчика. Этот способ обеспечивает переносимость установленной на диск системы, но возможно будут проблемы с Secure Boot. Я решил остановиться на этом варианте.
В качестве хостовой системы использовалась Ubuntu 19. 04, но инструкции должны быть аналогичны и для других версий (и дистрибутивов). Подразумевается что на диске уже есть свободное место для новых разделов, а все данные забекаплены.
Для начала нужно создать EFI System Partition с помощью fdisk или другой подобной утилиты. В моём случае диск это /dev/sdc.
$ sudo fdisk /dev/sdc
В данном случае, я решил выделить 1 Гб под EFI и 5 Гб под /boot, но, как подсказывает df -h после установки загрузчика, EFI раздел занят на 3.1 Мб, а /boot на 250 Мб. Поэтому рациональнее выделить ~100 Мб под EFI и уменьшить /boot до 1-2 Гб (но это уже зависит от ваших потребностей).
После создания раздела нужно отформатировать раздел EFI в fat32:
$ sudo mkfs.fat -F32 /dev/sdc2
Если возникли проблемы, то можно попробовать использовать fat16 или fat12 (https://wiki.archlinux.org/index.php/EFI_system_partition#Format_the_partition)
После этого копируем старый раздел с /boot используя dd (новый раздел должен быть такого же объёма или больше):
$ sudo dd if=/dev/sdb1 of=/dev/sdc3 bs=100M status=progress
Иначе нужно создать новый раздел и разметить его в ext4 или другую, поддерживаемую GRUB файловую систему.
Устанавливаем пакет grub-efi:
$ sudo apt install grub-efi
Далее отмонтируем старый /boot и монтируем новые разделы:
$ sudo umount /boot $ sudo mount /dev/sdc3 /boot $ sudo mkdir -p /boot/efi $ sudo mount /dev/sdc2 /boot/efi
Устанавливаем GRUB в EFI режиме:
$ sudo grub-install --removable --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
В этом случае —removable говорит о том, что загрузчик не будет устанавливаться в память материнской платы, а будет записан полностью на EFI раздел GPT.
Делаем обновление GRUB, чтобы актуализировать информацию о разделах, с которых GRUB будет осуществлять загрузку системы:
$ sudo update-grub
Не забудьте после этого обновить /etc/fstab так, чтобы использовались новые разделы для /boot и /boot/efi (также убедитесь, что устройства указаны с помощью их UUID в виде UUID=4B…, иначе будут проблемы, если произойдёт перенумеровка дисков, например при пересборке ПК).
Также стоит учитывать что при копировании раздела с помощью dd, может копироваться и его UUID, что тоже может привести к ошибкам, т. к. будут два раздела с одинаковыми идентификаторами, а монтироваться будет первый найденный. Решить эту проблему можно удалив старый раздел или изменив UUID вручную, но это уже совсем другая история 🙂
Почитать подробнее о происходящем можно по ссылкам ниже:
https://en.wikipedia.org/wiki/Master_boot_record
https://wiki.archlinux.org/index.php/EFI_system_partition#GPT_partitioned_disks
https://wiki.archlinux.org/index.php/EFI_system_partition#Format_the_partition
https://wiki.archlinux.org/index.php/GRUB#Installation_2
This drive can only boot in uefi mode что делать?
При загрузке с флешки появляется ошибка «Error legacy boot of uefi media».
С данной ошибкой обычно сталкиваются те, кто пытается загрузиться с флешки для установки операционной системы Windows. После выставления очередности загрузки через BIOS или через меню быстрой загрузки (Boot menu) вместо привычного экрана с надписью “Windows is Loading Files…” отображается сообщение: “Error: legacy boot of uefi media. This drive can only boot in uefi mode”. Перезагрузка компьютера проблему не решает.
Окно с ошибкой
Сейчас мы поговорим о причинах возникновения данной ошибки, а также о способах ее устранения.
Суть проблемы
Чтобы Вас долго не грузить техническими данными сразу перейдем к главному. На данный момент существует два основных режима загрузки: Legacy Mode и UEFI Mode. Переключаются эти режимы в настройках BIOS. Также стоит отметить, что Legacy Mode работает с загрузочными устройствами (флешки, жесткие диски)с MBR разметкой, а UEFI Mode с устройствами с типом разметки GPT.
Разница между MBR и GPT.
Так вот ошибка “Error: legacy boot of uefi media. This drive can only boot in uefi mode ” говорит о том, что вы пытаетесь загрузиться в режиме Legacy с устройства, на котором находится файловая разметка GPT. Загрузку с такого носителя можно выполнить только в режиме UEFI.
Что делать?
Если вы не собираетесь переустанавливать Windows, а вышеописанная ошибка появляется при попытке просто включить компьютер, то вам стоит проверить все USB порты (спереди и сзади) на предмет наличия в них флешек/внешних жестких дисков. Если они есть – вытаскиваем и перезагружаемся. Также проверьте, чтобы в DVD приводе не было дисков.
Если же ошибка появляется при попытке запуска с загрузочного носителя (флешка/диск), то вот что нужно сделать.
Есть два возможных варианта решения проблемы. 1-ый – это переключение режима загрузки с Legacy на UEFI. 2-ой – перезапись установочного образа на флешку с параметрами под Legacy.
Как переключить с Legacy на UEFI?
Сразу отметим, что не на всех компьютерах и ноутбуках есть такая возможность. Более старые компьютеры (2010-2015 годов выпуска) могут не поддерживать режим UEFI и это значит что на них возможна загрузка только в режиме Legacy.
Чтобы попробовать переключить режимы загрузки нужно зайти в BIOS. Далее идем на вкладку “Boot” (названия могут отличаться в зависимости от производителя и версии прошивки), где устанавливается приоритет загрузочных устройств.
Теперь находим опцию «UEFI/BIOS Boot Mode» или Boot List Option и переводим значение в ней на UEFI.
Вариант переключения режимов загрузки с Legacy на UEFI
На материнских платах Gigabyte эта настройка называется “Storage Boot Option Control”. Ее нужно перевести в “UEFI First”.
Переключение режимов загрузки Legacy/ UEFI в BIOS от gigabyte
Теперь смотрим, чтобы флешка стояла первой в списке загрузки. При этом возле ее имени должен быть указан режим UEFI. Выглядит это так:
Загрузка с флешки в UEFI режиме
Сохраняем (F10) изменения и перезагружаемся, пробуя запустить установку операционной системы.
Создание загрузочной флешки под legacy (MBR)
Для этого лучше всего подойдет программа Rufus, которая является лучшей в своем роде. Скачиваем ее и запускаем от имени администратора.
В ее главном окне, после выбора образа с Windows вам нужно установить параметры так, как на скриншоте ниже:
Настройки программы Rufus для создания загрузочной флешки под MBR Legacy
После этого жмем “Старт” и дожидаемся окончания процесса. Далее пробуем запускаться с только что созданной загрузочной флешки. Ошибки “Error: legacy boot of uefi media. This drive can only boot in uefi mode” уже точно больше не будет.
Лучшая благодарность автору — репост к себе на страничку:
Error legacy boot of uefi mediagpt и mbrthis drive can only boot in uefi mode что делать
DemonF2016
Изменение Windows 10 BIOS (устаревшей версии) на загрузку UEFI
При установке Windows 10, в зависимости от настройки BIOS, в качестве режима загрузки используется UEFI или BIOS. Обычно при переходе с BIOS на UEFI ПК пришлось бы переустанавливать, но это тоже работает по-другому. .. Для тех, кто предпочитает видео, эту статью также можно посмотреть на Youtube watch.
Считать, какой режим загрузки используется?
UEFI по сравнению с Legacy: Отображение информации о системе
Какой режим UEFI или Legacy используется для загрузки ПК, проще всего узнать через «Информация о системе»:
Если UEFI не используется, BIOS работает в режиме Legacy.
См. также: Режим BIOS: UEFI или Legacy
MBR и GPT: отображается в разделе «Управление дисками» используйте стиль раздела MBR.
Щелкните правой кнопкой мыши на диске, и «Тома» отобразят тип раздела, здесь «MBR»:
Процедура: Переключение с устаревшего (BIOS) на режим UEFI
Чтобы компьютер мог использовать режим UEFI, сначала необходимо преобразовать жесткий диск из MBR в GPT, а затем настроить конфигурацию загрузки. До того, как Microsoft предоставила инструмент командной строки «mbr2gpt», макет раздела можно было изменить с MBR на GPT с помощью инструмента Linux Testdisk. После этого необходимо было создать раздел EFI через установочный DVD Windows и создать на нем загрузочные файлы. Эта относительно сложная процедура была упрощена с помощью команды «mbr2gpt».
Использование «mbr2gpt» для перехода на UEFI намного проще, но не без риска, поэтому перед запуском команды я сначала создаю резервную копию жесткого диска и в качестве меры предосторожности загружаю загрузочный носитель Windows, чтобы иметь возможность восстановить загрузочный раздел, если необходимый. Если что-то пойдет не так, раздел EFI можно создать следующим образом с помощью команд в приглашении загрузочного носителя Windows (WINRE), см. раздел Настройка загрузки UEFI: загрузка с DVD-диска Windows: восстановление.
Достаточная осторожность, в итоге следующей команды в командной строке Windows достаточно, чтобы изменить устаревшую установку на UEFI, для этого командная строка должна быть запущена как «администратор»:
mbr2gpt /convert /disk:0 /allowFullOS
После этого можно выключить компьютер и изменить режим загрузки в прошивке на «UEFI», см. : UEFI/BIOS — Загрузка.
Вот скриншот моей последней попытки:
Если вы хотите быть в безопасности, вы можете использовать параметр «/validate», чтобы заранее проверить, выполнены ли все предварительные условия. Параметр «allowFullOS» пытается внести изменения непосредственно из работающей операционной системы. Первоначально команду можно было выполнить только из среды WinRE (загрузочный носитель Windows). См. раздел «Изменение раздела с MBR на GPT без потери данных»
Через среду WinRE «mbr2gpt» обычно работал только наполовину в моих попытках, и ПК больше не мог загружаться. Чтобы ПК снова запустился, мне пришлось заново создавать загрузочные файлы, это возможно с помощью команды bcdboot в командной строке загрузочного носителя.
Вариант без «mbr2gpt» с тестовым диском и WinRE (загрузочный носитель)
Преобразование MBR в GPT для Testdisk
В качестве альтернативы «mbr2gpt» можно использовать инструмент Linux Testdisk, см. MBR в GPT. При использовании Testdisk раздел EFI полностью отсутствует, его можно создать следующим образом:
Настройка загрузки UEFI: загрузка с Windows DVD: восстановление
Если загрузочный раздел уже отформатирован с помощью GPT, загрузку UEFI можно настроить с помощью загрузочного носителя Windows. Установочный DVD-диск или установочный USB-носитель можно загрузить следующим образом: Windows 10 / 11 — Загрузка установки — DVD или USB-загрузка. Загрузка с DVD или USB снова осуществляется через меню загрузки: Загрузите компьютер с USB или DVD — UEFI o. БИОС.
После настройки страны переходит к вариантам ремонта компьютера:
… Устранение неполадок, Дополнительные параметры, Командная строка …
С помощью команды diskpart
и list disk
можно отобразить существующие жесткие диски:
03
2
2 выбирает жесткий диск, здесь загрузочный жесткий диск с номером 0:
Отображение раздела выполняется командой: list partition
тип «Система».
Раздел EFI не обязательно создавать в начале тома, при последующем добавлении проще поставить раздел EFI в конец тома. Чтобы освободить место в конце, перегородку 2 можно уменьшить. Команда: выберите раздел 2
выберите раздел и уменьшите его: сжать минимум = 200 желательно = 200
Если есть свободное место, можно создать раздел EFI: создать раздел efi
Новый раздел списка
показывает созданный раздел EFI:
В примере раздел EFI находится в конце носителя данных типа «Система» и имеет в примере номер 3. Для записи загрузочный код на разделе, это можно выбрать следующим образом: выбрать раздел 3
Для сохранения загрузочных файлов раздел должен быть отформатирован как fat32: format fs=fat32
и назначить букву диска: назначить букву = b
:
После того, как разделение подготовлено, я выхожу с помощью exit
diskpart и создаю загрузочные папки с помощью следующих команд:
cd /d b:\EFI\Microsoft
И последнее, но не менее важное: отсутствуют только загрузочные файлы:
В моей настройке установка Windows находится на диске e:, потому что после переключения на диск d: (команда e:
) командой вы
увидите известные папки Windows, в зависимости от установки Windows также можно найти на c: например, следующая команда должна быть изменена соответствующим образом:
bcdboot e:\windows /s b: /f ВСЕ
Информацию о расположении разделов см. также: docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/configure-uefigpt-based-hard-drive-partitions
Изменить устаревший режим BIOS на UEFI,
Чтобы ПК загружался с измененным расположением разделов и из UEFI, в качестве режима загрузки в BIOS необходимо установить «UEFI», см.: UEFI/BIOS — Загрузка.
После успешной загрузки просмотр в разделе «Управление дисками» показывает новую структуру разделов:
YouTube-Video
Как изменить режим BIOS с Legacy на UEFI без переустановки Windows 10
Microsoft добавила полезный инструмент отсутствует в более ранних версиях Windows и даже в некоторых более старых версиях Windows 10. Инструмент MBR2GPT позволяет пользователям Windows 10 преобразовать устаревший BIOS в UEFI без переустановки Windows 10.
Вы можете вызвать инструмент MBR2GPT с помощью командной строки, а через две команды вы переключитесь с Legacy BIOS на UEFI.
Содержание
Что лучше: устаревший BIOS или UEFI
BIOS (базовая система ввода-вывода) — это фрагмент кода, который требуется вашему микропроцессору для запуска после нажатия кнопки питания компьютера. БИОС впервые появился давно и работал отлично. Однако у BIOS были некоторые ограничения.
Например, BIOS использует основную загрузочную запись (MBR) для определения максимальной емкости раздела в 2,2 ТБ. Развитие оборудования за последние полтора десятилетия потребовало новой прошивки. Затем появился UEFI (унифицированный расширяемый интерфейс прошивки).
UEFI, как и BIOS, — это низкоуровневое программное обеспечение, которое запускается на вашем компьютере при нажатии кнопки питания и перед загрузкой ОС. UEFI более надежен и устраняет ограничения, связанные с BIOS.
Например, UEFI поддерживает разделы размером до 9 ZB, обеспечивает более быстрое время загрузки и предоставляет функции безопасности, такие как «Безопасная загрузка».
Подготовка к переходу с прежней версии BIOS на UEFI
Прежде чем мы поговорим о переходе с прежней версии BIOS на UEFI, необходимо привести в порядок несколько вещей.
Проверьте версию BIOS
Убедитесь, что в настоящее время вы используете устаревшую версию BIOS. Вам не нужно проходить весь процесс только для того, чтобы узнать, что вы все время использовали UEFI.
Откройте приложение «Управление дисками», чтобы проверить, какую версию BIOS вы используете. Найдите Создайте и отформатируйте разделы жесткого диска в меню «Пуск» и откройте Лучшее совпадение . Это приведет вас к приложению «Управление дисками».
В приложении щелкните правой кнопкой мыши диск, на котором установлена Windows, и выберите Свойства .
Затем вы хотите проверить стиль раздела диска, чтобы убедиться, что вы используете устаревшую версию BIOS или UEFI. Если вы используете BIOS, стиль раздела вашего диска будет MBR. Если вы уже используете UEFI, стиль раздела диска будет GPT.
Стиль раздела диска можно проверить на вкладке Тома в свойствах. Найдите Стиль раздела в разделе Информация о диске .
Проверьте версию Windows
Инструмент MBR2GPT доступен в Windows 10 версии 1703 и более поздних. Перед началом процесса убедитесь, что у вас правильная версия, выполнив поиск winver в меню «Пуск» и открыв «Лучшее совпадение». В открывшемся новом окне версия будет отображаться во второй строке.
Предварительные требования для преобразования устаревшей версии BIOS в UEFI
Если вы убедились, что используете устаревшую версию BIOS, необходимо проверить и, в некоторых случаях, изменить еще несколько вещей.
- Убедитесь, что на целевом диске (т. е. на диске Windows) не более трех разделов (диск C, D и т. д. — все разделы). Вы можете просмотреть разделы, нажав Win + R и запустив diskmgmt.msc . Если вы видите более трех разделов, вам нужно объединить разделы или удалить их.
- Если вы зашифровали целевой диск с помощью BitLocker, это помешает процессу преобразования. Поскольку Windows не будет преобразовывать зашифрованный диск, вам необходимо отключить BitLocker перед началом преобразования.
- После преобразования вы не сможете загрузиться в Windows, пока не измените настройки прошивки материнской платы с Legacy BIOS на UEFI. Пройдитесь по прошивке и найдите настройку, позволяющую переключаться между BIOS и UEFI перед началом преобразования. Процесс отличается у разных производителей, поэтому вам, возможно, придется немного осмотреться. Если вы не можете найти настройку, воспользуйтесь инструкцией.
- Создайте предупредительную резервную копию.
Как изменить BIOS с Legacy на UEFI
Убедившись, что все в порядке, пора использовать инструмент MBR2GPT.
- Найдите cmd в меню «Пуск», щелкните правой кнопкой мыши и выберите «Запуск от имени администратора».
- Ваш диск должен соответствовать требованиям преобразования, чтобы инструмент MBR2GPT мог его преобразовать. Проверьте это, проверив диск с помощью следующей команды:
mbr2gpt /validate /disk:0 /allowFullOS
Если диск, который вы хотите преобразовать, не является диском 0, замените 0 на соответствующий номер диска.
Если ваш диск не соответствует требованиям преобразования, вы увидите сообщение об ошибке. Например, следующая ошибка возникла при проверке USB-накопителя.
- Если проверка прошла успешно, выполните следующую команду, чтобы начать преобразование:
mbr2gpt /convert /disk:0 /allowFullOS
Запустите преобразование, оно займет всего несколько секунд.
- Перезагрузите компьютер и войдите в прошивку материнской платы, чтобы изменить настройки. Предполагая, что вы уже разобрались, как войти в BIOS перед запуском процесса, это займет всего несколько секунд. В большинстве случаев вы увидите возможность выбрать режим загрузки на вкладке/разделе «Загрузка» в вашей прошивке.
- Загрузитесь в Windows.
- Убедитесь, что вы успешно преобразовали раздел, используя тот же процесс, который вы использовали ранее. Перейдите в приложение «Управление дисками», щелкните правой кнопкой мыши преобразованный диск, выберите Свойства > Том , и на этот раз стиль раздела должен быть Таблица разделов GUID (GPT) .
Наслаждайтесь модернизированным BIOS
UEFI предлагает множество возможностей. Учитывая, что большинство современных систем используют UEFI, естественно захотеть преобразовать устаревший BIOS в UEFI. Ну, вы все сделали. К счастью, вам также не пришлось переустанавливать Windows.
Арджун — писатель-фрилансер из Индии. Поработав аналитиком по фондовому рынку, Арджун решил заняться тем, чем он был увлечен, — технологиями. Он с энтузиазмом рассказывает и объясняет, как решать повседневные технические проблемы. Его областью знаний является Windows, и он отлично разбирается во всем, что связано с Excel.