Вопрос или проблема
msinfo32
показывает, что мой режим BIOS – UEFI, в то время как cmd-‘diskpart’-‘disk list’ показывает, что ни один из моих дисков не находится в режиме GPT. Также CSM отключен. У меня есть скриншот, чтобы доказать это.
Оригинальный диск: SSD на 1 ТБ, только 2 раздела, нет раздела ESP или MSR, режим MBR, загружается, когда установлен отдельно.
Все хорошо, но когда я попытался перенести свою ОС на новый диск в Winpe, она не может загрузиться. Код ошибки 0xc000000e, потерян файл winload.efi. Я копирую весь раздел ОС на новый диск, но не могу загрузиться ни в режиме MBR, ни в режиме GPT.
Я не могу объяснить, как я установил оригинальную ОС, но нашел решение, чтобы перенести её на новый диск, для всех, кто сталкивается с такой же проблемой или для меня в будущем.
-
Оставьте старый диск, установите новый диск. Если нет больше слотов m.2, используйте корпус для SSD.
-
Загрузитесь с флешки WinPE, скопируйте весь раздел ‘C:/’ на новый диск. Или используйте такие функции программного обеспечения, как ‘системная миграция’ от diskgenius.
Допустим, старый диск имеет 2 раздела ‘C:/’ ‘D:/’,
а новый диск имеет 3 раздела ‘E:/’ ‘F:/’ ‘G:/’.
Скопируйте весь ‘C:/’ на ‘E:/’.
-
Все еще загружайтесь со старого диска.
-
Установите программное обеспечение ‘visual bcd editor’. Откройте файл bcd на системном диске вашего нового диска (E:/efi/microsoft/boot/BCD), дважды щелкните на каждом ‘ApplicationDevice’, ‘OSdevice’, измените значение ‘drive’ с ‘C:/’ на ‘E:/’.
-
Удалите старый диск, и вы сможете загрузиться с нового диска.
Ответ или решение
Ваша ситуация, когда вы используете диск с разметкой MBR в режиме BIOS UEFI, но не можете корректно перенести операционную систему Windows на новый диск, связана с некоторыми особенностями рантайм-устройств и архитектуры загрузки. Давайте разберем теоретическую часть, далее мы приведем пример вашей проблемы и, наконец, предлагаем шаги, которые помогут вам успешно выполнить миграцию операционной системы.
Теория
UEFI (Unified Extensible Firmware Interface) и BIOS (Basic Input/Output System) – это две технологии, управляющие процессом загрузки компьютера. В отличие от классического BIOS, UEFI использует более современный подход и требует, чтобы диски были отформатированы в GPT (GUID Partition Table), а не в MBR (Master Boot Record), для правильной работы и загрузки операционной системы в режиме UEFI.
В вашем случае система установлена на диск с MBR-разметкой, что, вероятно, случилось на этапе начальной установки, возможно, в результате использования режима совместимости CSM (Compatibility Support Module), которой позволяет включать режим BIOS на UEFI системах.
Когда вы перемещаете ОС на новый диск и сталкиваетесь с ошибкой 0xc000000e, это свидетельствует о том, что система не может найти необходимый загрузочный файл winload.efi
, который является частью архива UEFI. При неправильной разметке диска ожидаемые загрузочные компоненты могут отсутствовать или находиться по неверным адресам.
Пример
У вас была операционная система Windows, успешно работающая на диске с разметкой MBR, когда в конфигурации старого компьютера или при использовании CSM она могла загружаться. Были предприняты попытки копирования ОС на новый диск как в MBR, так и в GPT режимах, но оба подхода не увенчались успехом, так как при включении системы возникала вышеупомянутая ошибка. Ваша попытка миграции не удалась исключительно из-за несоответствия между используемым режимом BIOS (UEFI) и разметкой дисков (MBR).
Приложение
Чтобы успешно завершить миграцию операционной системы на новый диск при вашей конфигурации и избежать проблем с загрузкой в режиме UEFI, рекомендуется следовать следующим шагам:
-
Создание резервной копии данных:
Перед тем как предпринимать какие-либо серьёзные изменения, сделайте полную резервную копию всех важных данных. Это обеспечит сохранность информации в случае непредвиденных сбоев. -
Подготовка нового диска:
Если это возможно, форматйте новый диск в режиме GPT. Это можно сделать с помощью встроенных в Windows утилит, например «diskpart»:- Откройте CMD с правами администратора.
- Выполните команды
diskpart
,list disk
,select disk X
(где X — это номер вашего нового диска). - Введите
clean
для очистки диска. - Затем выполните
convert gpt
.
-
Размещение структур загрузки на новом диске:
Создайте необходимые дробовые структуры. В режиме GPT нужны EFI System Partition и Microsoft Reserved Partition. Убедитесь, что эти разделы созданы и имеют достаточные размеры. -
Миграция данных с использованием программного обеспечения:
Можно использовать комплексное программное обеспечение для миграции, такое как DiskGenius или другие, которые поддерживают перенос ОС с сохранением её работоспособности в UEFI режиме. Убедитесь, что копируете именно системный раздел в дополнение к другим пользовательским данным. -
Правка конфигурации BCD:
Установите и используйте Visual BCD Editor для внесения необходимых изменений в конфигурационный файл загрузки. Это важно для корректной нацеленности загрузки на правильные системные разделы нового диска.- Откройте BCD файл, находящийся в директории
E:/efi/microsoft/boot/BCD
(исходя из вашего примера). - Измените все вхождения
ApplicationDevice
иOSDevice
, так чтобы они указывали на ваш новый системный диск (например,E:/
вместоC:/
).
- Откройте BCD файл, находящийся в директории
-
Тестирование:
После внесения всех изменений удалите старый диск и перезагрузите систему с нового диска в режиме UEFI. Проверьте на предмет успешной загрузки и отсутствия ошибок.
Если строго соблюсти все шаги и следовать рекомендациям, ваша операционная система должна начать корректно загружаться с нового диска, форматированного в GPT, в режиме BIOS UEFI. Это устранит проблему несоответствия архитектуры загрузки и положит конец ошибкам на этапе инициализации системы.