Код для загрузки windows

Отсутствует или содержит ошибки файл \windows\system32\ winload.efi в Windows 10

Рассмотрим еще одну распространенную ошибку загрузки Windows 10, вызванную повреждением или отсутствием файла winload.efi. Проблема проявляется следующим образом: Windows 10 перестает загружаться с ошибкой BSOD и следующим сообщением на экране загрузки:

Данная проблема связана с отсутствием или повреждением файла загрузчика \windows\system32\winload.efi. Эта проблема появляется чаще всего после некорректного обновления системы, при повреждении диска или файловой системы, при переразбивке диска сторонними утилитами, обновлении антивируса, после переноса (клонирования) установленного образа Windows на новый диск, замене материнской платы компьютера и прочими вмешательствами.

Решение проблемы зависит от того, использовался ли у вас режим загрузки UEFI или Legacy до возникновения проблемы. Далее рассмотрим основные шаги, которые помогут исправить данную ошибку и корректно загрузить Windows 10/Windows Server 2016.

Включите режим совместимости CSM и отключите Secure Boot

Большинство компьютеров с поддержкой UEFI могут загружаться как с дисков с таблицей разделов GPT, так и с MBR дисков старого формата в режиме совместимости (Legacy).

Перезагрузите компьютер и войдите в меню настройки UEFI. Клавиша входа в меню UEFI зависит от производителя компьютера, как правило, это клавиши F2, F8, Del или Esc. Либо на нажмите кнопку ESC прямо на экране с ошибкой.

  1. Попробуйте в настройках UEFI включить режим совместимости CSMBoot (в некоторых версиях прошивок UEFI он может называться Legacy Boot);
  2. В настройках UEFI найдите и отключите режим Secure Boot. Местоположение данной настройки зависит от производителя прошивки UEFI. Как правило, ее стоит поискать в разделах Security, Authentication или Boot. На ноутбуке HP, например, пункт Secure Boot находится в разделе Security. Измените режим Secure Boot на Disabled или Off;

Автоматическое восстановление загрузчика Windows

Попробуйте исправить ошибку с помощью средства автоматического восстановления системы. Для этого:

  1. Загрузитесь с установочного DVD диска (или загрузочной UEFI флешки) с Windows 10;
  2. Нажмите кнопку Repairyourcomputer (Восстановить ваш компьютер) или клавишу R;
  3. Перейдите в раздел Troubleshoot-> Advancedoptions-> Startuprepair(Диагностика -> Дополнительные параметры -> Восстановление системы);
  4. Запустится мастер восстановления. Далее следуйте его инструкциям.

Если установочного диска с Windows под рукой нет, следует три раза перезагрузить компьютер нажатием на кнопку питания (Power) до тех пор, пока не появится экран консоли восстановления WinRe. Выберите пункт See advanced repair options (Дополнительные варианты восстановления). Далее все аналогично.

Отключите функцию защиты ELAM

Если предыдущие методы не исправили ошибку с загрузкой winload.efi, попробуйте отключить технологию ранней защиты от вредоносного ПО — ELAM (Early-launch Anti-Malware), которая по умолчанию активна для загрузчика Windows.

  1. Выполните шаги 1-2 из 2 способа;
  2. Перейдите в раздел Troubleshoot->Advancedoptions-> Startupsettings(Диагностика ->Дополнительные параметры -> Восстановление при загрузке);
  3. Перезагрузите компьютер, нажав кнопку Restart;
  4. После следующей загрузки, система автоматически откроет меню настройки параметров загрузки — StartupSetting / Параметры загрузки (кстати, именно отсюда можно Windows 10 в безопасном режиме);
  5. Нажмите F8 чтобы выбрать пункт 8)Disableearlylaunchanti-malwareprotection/ Отключить автоматическую перезагрузки при сбое системы.

Выполните проверку дисков на ошибки и целостность системных файлов

Проверьте свои диски на наличие ошибок, возможно имеются ошибки диска или файловой системы на разделе с файлом winload.efi. Чтобы проверить все диски на наличие ошибок и исправить их, выполните команду:

После этого желательно проверить целостность системных файлов с помощью утилиты sfc. Для использования утилиты sfc в офлайн режиме, нужно указать путь к системному диску и папке Windows. Вы можете определить букву диска, назначенную разделу Windows с помощью команды:

Bcdedit /enum | find «osdevice»

Предположим, в вашем случае это диск D:. Команда проверки системных файлов будет выглядеть так:

sfc /scannow /offboot=d:\ /offwindir=d:\windows

Также нужно выполнить офлайн проверку хранилища компонентов Windows с помощью DISM. Нужно сравнить ваш образ с оригинальным установочным wim файлом вашего билда Windows 10 (предположим, оригинальный wim образ лежите на диске E:):

Dism /image:D:\ /Cleanup-Image /RestoreHealth /Source:E:\sources\install.wim

Восстановление BCD загрузчика и файла winload.efi для UEFI системы

Если ваша Windows 10 была установлена в нативном UEFI режиме на GPT диске, мы рекомендуем вам воспользуетесь инструкцией по пересозданию EFI загрузчика Windows 10 на устройствах с UEFI . Рекомендую воспользоваться статьей по ссылке, там все описано довольно подробно. Здесь оставлю короткий гайд:

Загрузитесь с загрузочного диска и запустите командную строку:

  1. Выполните команду: diskpart
  2. Выведите список разделов на дисках: list volume
  3. айдите раздел с меткой ESP или EFI размером 500 мб (размер и название раздела может отличаться в зависимости от версии Windows, но главное – его файловая система всегда должна быть FAT32). Запомните его номер. Если EFI раздел был случайно удален, его можно восстановить так;
  4. Выберите этот раздел: select volume 2
  5. Назначьте разделу букву диска: assign letter=Z
  6. Выйдите из diskpart: exit
  7. Теперь нужно пересоздать загрузчик, скопировать загрузочные файлы из каталога Windows: bcdboot c:\Windows /s Z: /f ALL (замените c:\ на букву диска, на котором у вас находится ОС); Если вы все сделали правильно, появится надпись Boot files successfully created ;
  8. Перезагрузите компьютер и проверьте, исправлена ли проблема.

Пересоздание загрузочных записей в хранилище BCD с помощью bootrec и bcdedit

Если у вас система установлена не в режиме UEFI, тогда вы можете восстановить пересоздать загрузочные записи и сам MBR загрузчик Windows с помощью утилиты bootrec.

  1. Выполните шаги 1-2 из 2 способа;
  2. Перейдите в раздел Troubleshoot > Command Prompt (Диагностика – Командная строка).
  3. В открывшемся окне командной строки выполните последовательно команды:
    bootrec /FixMbr
    (запись основной загрузочной записи в системный раздел)
    bootrec /FixBoot
    (перезапись нового загрузочного сектора в системном разделе)
    bootrec /ScanOs
    (сканирование дисков на предмет наличия установленных ОС)
    bootrec /RebuildBcd
    (пересоздание конфигурации загрузчика)
  4. Закройте командную строку командой:
    exit
  5. Перезагрузите компьютер.

Если предбудущий способ не помог, нужно пересоздать файл конфигурации загрузки для MBR в командной строке консоли восстановления или загрузочного диска:

bcdedit /set device boot
bcdedit /set device boot
bcdedit /set osdevice boot
bcdedit /set device partition=c:
bcdedit /set osdevice partition=c:
bcdedit /set path \windows\system32\winload.efi

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

Все, что вы хотели знать про загрузку Windows, загрузчики и восстановление загрузки ОС

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

Принципы загрузки операционных систем

При включении компьютера управление процессором получает BIOS, и если он настроен на загрузку (boot) с винчестера, то он подгружает в оперативную память компьютера первый сектор диска (MBR) и передает управление ему. Если у вас несколько жестких дисков, то каждый из них содержит свою MBR. В этом случае можно или менять порядок загрузки дисков в BIOS, или же прописать все операционные системы с разных дисков в один PBR загрузчик, об этом ниже.

Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.

При загрузке операционной системы, сначала считывается первый сектор с устройства загрузки, представляющий собой главную загрузочную запись (Master Boot Record — MBR). Стандартно, в качестве MBR выступает первый сектор загрузочного диска. MBR содержит список разделов, признак активного раздела (раздела, с которого будет выполняться загрузка ОС), некоторые служебные данные, а также программный код для считывания в память загрузочного сектора активного раздела (Partition Boot Record — PBR) и передачи ему управления.

Размер сектора на жестком диске — 512 байт. В секторе MBR хранятся данные, которые должны заканчиваться специальной сигнатурой. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена.

Общая структура MBR может быть представлена следующей таблицей:

Смещение Длина Описание

000h 446 Код загрузчика

1BEh 64 Таблица разделов

1CEh 16 Раздел 2

1DEh 16 Раздел 3

1EEh 16 Раздел 4

1FEh 2 Сигнатура (55h AAh)

Длина указана в байтах.

Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.

Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.

Типы MBR

Выше мы увидели, что в сектор MBR записывается код загрузчика. Что же это? Дело в том, что в MBR может быть записан как «стандартный» загрузчик, так и альтернативные загрузчики.

Существуют следующие распространенные типы MBR:

  • Windows NT версий 5.х и 6.x, занимает 1 сектор. Может загружать ОС только с первичного активного раздела.
  • GRUB4DOS версий 5.х и 6.x – занимает 16 секторов. Представляет собой файл gbldr.mbr. также его можно установить в качестве PBR прямо в раздел.
  • GRUB 2.0 – универсальный загрузочный менеджер, занимает 63 сектора. Состоит из файлов boot.img и core.img. Может работать с любыми файловыми системами и загружать ОС как с первичных, так и логических разделов.
  • PLoP – занимает 62 сектора и имеет продвинутый интерфейс. Позволяет организовать загрузку с CD/Floppy/USB без поддержки и обращения к BIOS.
  • UltraISO USB-HDD – занимает 1 сектор и позволяет выполнять загрузку с внешних USB HDD дисков.

Конечно, с учетом многообразия ОС, существует масса других MBR, но они не так популярны.

Операционные системы дружат только с определёнными типа загрузчиков, однако это не значит, что их нельзя модифицировать для поддержки других ОС. Так, в Windows MBR можно добавить информацию о Linux разделе, но этого недостаточно, чтобы Linux стал грузиться. Для этого также потребуется редактировать и PBR. Однако линуксовый LDLINUX.SYS требует наличия своего микрокода в MBR, чтобы обращаться к нему в процессе загрузки, то есть если у вас загрузочная запись Windows NT MBR, а загрузчик GRUB, то такая схема работать не будет. Виндовсовые загрузчики могут обойтись без наличия соответствующего микрокода в MBR, поэтому они могут грузиться и через GRUB MBR.

Главное, что вам нужно понять, что MBR содержит микрокод, инструкции для процессора, а не файлы. PBR же указывает на загрузчик, который является файлом.

Разнообразие PBR

Мы с вами выяснили, что MBR передает управление на активный раздел с PBR. PBR (Partition Boot Record), так же называют volume boot record (VBR) – это микрокод в начальном секторе раздела диска (часто это сектор 63), который содержит информацию, какой же загрузчик искать.

Существуют следующие загрузчики:

Тип MBR — NT 5.x/6.x, 1 сектор

  • io.sys для MS-DOS, Windows 95/98/МЕ
  • ntldr для Windows 2000/XP/2003
  • bootmgr для Windows Vista/7/8/8.1/10

Тип MBR — Grub4DOS, 18 секторов

Тип MBR — LILO/GRUB и др. линуксовые (к-во секторов зависит от версии и количества файлов)

  • ldlinux.sys – основной базовый модуль
  • syslinux.sys — для загрузки с FAT, FAT32, NTFS
  • isolinux.bin — для загрузки с iso9660
  • pxelinux — для загрузки по PXE
  • extlinux для загрузки с ext2/ext3/ext4 или btrfs

Как я сказал выше, загрузчик является не загрузочной областью, а бинарным файлом.

  • Файлы Windows NTLDR или BOOTMGR должны лежать в корне активного системного раздела и работают они по-разному. Об этом ниже.
  • Файл GRLDR используется Grub4DOS также должен лежать в корне партиции, с котрой выполняется загрузка
  • Syslinux – универсальный загрузчик, содержащий много модулей и поддерживающий загрузку с файловых систем ext2/¾, FAT, NTFS, CD/DVD дисков, по сети через PXE. Позволяет организовать текстовое или графическое загрузочное меню.
    Чаще всего этот загрузчик используют для запуска Linux с файловых систем FAT/NTFS или же создания мультизагрузочных USB флэшек, позволяющих загружать как Linux-совместимые приложения под DOS, так и Windows PE.

Например, типичные пример создания мультизагрузочной флэшки – Multiboot USB 2k10, создаваемые уважаемыми conty9 & korsak7. Мультизагрузочный диск системного администратора с возможностью загрузки c CD/DVD, флешки, USB-HDD и обычного HDD и состоящий из нескольких Windows PE-сборок, а также DOS версий продуктов компании Acronis – например Acronis True Image (выполнены на Linux-ядре). Именно из-за этого смешанного зоопарка систем и приходится использовать загрузчик Syslinux (хотя можно и Grub4DOS).

В своем арсенале вам необходимо обязательно иметь утилиту BootICE. Уникальная в своём роде утилита для изменения или бэкапа/восстановления MBR (Master Boot Record) или PBR (Partition Boot Record). С BOOTICE, вы можете легко изменять тип MBR/PBR. Поддерживается загрузочные записи: Grub4DOS, SysLinux, PLoP, MS NT52/60… Например, с помощью этой утилиты, вы можете установить Grub4DOS вашим MBR или PBR, установить NTLDR или BOOTMGR к вашему PBR, установить SYSLINUX на PBR, и так далее.

Читайте также:  Нет беспроводного подключения windows 10
Оцените статью