Загрузчик windows что это

Обновлено: 06.07.2024

Эта статья предназначена для использования агентами поддержки и ИТ-специалистами. Если вы ищете более общие сведения о вариантах восстановления, см. раздел Параметры восстановления в Windows 10.

Сводка

Существует несколько причин, по которым на компьютере с Windows могут возникнуть проблемы при запуске. Чтобы устранить проблемы загрузки, сначала определите, на каких из следующих этапов компьютер зависает:

Этап Процесс загрузки BIOS UEFI
1 Предзагрузка MBR/PBR (код загрузки) Встроенное ПО UEFI
2 Диспетчер загрузки Windows %SystemDrive%\bootmgr \EFI\Microsoft\Boot\bootmgfw.efi
3 Загрузчик ОС Windows %SystemRoot%\system32\winload.exe %SystemRoot%\system32\winload.efi
4 Ядро ОС Windows NT %SystemRoot%\system32\ntoskrnl.exe

1. Предзагрузка

Встроенное ПО компьютера инициирует POST и загружает параметры встроенного ПО. Этот процесс предварительной загрузки завершается при обнаружении допустимого системного диска. Встроенное ПО считывает основную загрузочную запись (MBR), а затем запускает диспетчер загрузки Windows.

2. Диспетчер загрузки Windows

Диспетчер загрузки Windows находит и запускает загрузчик Windows (Winload.exe) в загрузочном разделе Windows.

3. Загрузчик операционной системы Windows

Основные драйверы, необходимые для запуска ядра Windows, загружаются и ядро запускается.

4. Ябро ОС Windows NT

Ядро загружается в память в системный куст реестра и дополнительные драйверы, помеченные как BOOT_START.

Ядро передает управление процессу диспетчера сеансов (Smss.exe), который инициализирует системный сеанс, загружает и запускает устройства и драйверы, не помеченные BOOT_START.

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

эскиз потока последовательности загрузки.


Щелкните для увеличения

Каждый этап имеет разные подходы к устранению неполадок. Данная статья содержит методы устранения неполадок, которые возникают на первых трех этапах.

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

Bcdedit /set recoveryenabled no

Если параметры F8 не работают, запустите следующую команду:

Bcdedit /set bootmenupolicy legacy

Этап BIOS

Чтобы определить, прошла ли система этап BIOS, выполните следующие действия:

Если к компьютеру подключены какие-либо внешние периферийные устройства, отключите их.

Проверьте, работает ли свет жесткого диска на физическом компьютере. Если он не работает, это означает, что процесс запуска завис на этапе BIOS.

Нажмите клавишу NumLock, чтобы узнать, выключен ли индикатор. Если это не так, это означает, что процесс запуска завис в BIOS.

Если система зависла на этапе BIOS, возможно, проблема с оборудованием.

Этап загрузки загрузчика

Если экран полностью черный, за исключением мигающего курсора, или вы получили один из следующих кодов ошибок, это означает, что процесс загрузки завис на этапе процесса загрузки:

  • Данные конфигурации загрузки (BCD) отсутствуют или повреждены
  • Файл загрузки или MBR поврежден
  • Операционная система отсутствует
  • Загрузочный сектор отсутствует или поврежден
  • Bootmgr отсутствует или поврежден
  • Загрузка невозможна из-за отсутствия или повреждения системных кустов

Чтобы устранить эту проблему, запустите компьютер с помощью установочного носителя Windows, нажмите shift+F10 для командной строки и используйте любой из следующих методов.

Метод 1. Средство восстановления при загрузке

Средство восстановления при загрузке автоматически устраняет множество распространенных проблем. Это средство также позволяет быстро диагностировать и устранить более сложные проблемы при загрузке. При обнаружении компьютером проблемы при загрузке, компьютер запускает средство восстановления при загрузке. При запуске средства, оно выполняет диагностику. Эти диагностические данные включают анализ файлов журналов запуска, чтобы определить причину проблемы. Когда средство восстановления при загрузке определяет причину, оно пытается устранить проблему автоматически.

Для этого выполните следующие действия.

Дополнительные методы запуска WinRE см. в разделе Среда восстановления Windows (Windows RE).

Запустите систему на установочном носителе для установленной версии Windows. Дополнительные сведения см. в разделе Создание установочного носителя для Windows".

На экране Установка Windows выберите Далее > Восстановить компьютер.

На экране Выбор варианта выберите Устранения неполадок.

На экране Дополнительные параметры выберите Восстановление при загрузке.

После восстановления при загрузке выберите Завершение работы и включите компьютер, чтобы узнать, может ли Windows правильно загрузиться.

Средство восстановления при загрузке создает файл журнала, который поможет вам понять проблемы при запуске и сделанные восстановления. Файл журнала можно найти в следующем расположении:

%windir%\System32\LogFiles\Srt\Srttrail.txt

Метод 2. Восстановление кодов загрузки

Чтобы восстановить коды загрузки, запустите следующую команду:

Чтобы восстановить загрузочный сектор, запустите следующую команду:

При запуске BOOTREC вместе с Fixmbr перезаписывается только основной загрузочный код. Если повреждение данных в MBR влияет на таблицу разделов, запуск Fixmbr может не устранить проблему.

Метод 3. Устранение ошибок BCD

При получении ошибок, связанных с BCD, выполните следующие действия:

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

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

Если проблема не устранена, запустите следующую команду:

Вы можете получить одни из следующих выходных данных:

Если в выходных данных показана установка windows: 0 запустите следующие команды:

После запуска команды вы получите следующие выходные данные:

Попробуйте перезапустить систему.

Метод 4. Замена Bootmgr

Если методы 1, 2 и 3 не устраняют проблему, замените файл Bootmgr с диска C в раздел, зарезервированный в системе. Для этого выполните следующие действия:

В командной строке измените каталог на раздел, зарезервированный в системе.

Запустите команду attrib, чтобы отобразить файл:

Запустите ту же команду attrib в Windows (системный диск):

Переименуйте файл Bootmgr в Bootmgr.old:

Перейдите на системный диск.

Скопируйте файл Bootmgr и вставьте его в раздел, зарезервированный в системе.

Метод 5. Восстановление системного куста

Если Windows не удается загрузить системный куст реестра в память, необходимо восстановить куст. Для этого используйте среду восстановления Windows или диск аварийного восстановления (ERD) для копирования файлов из папки C:\Windows\System32\config\RegBack в папку C:\Windows\System32\config.

Если проблема сохраняется, может потребоваться восстановить резервную копию состояния системы в альтернативное расположение, а затем получить заменяемые кусты реестра.

Начиная с Windows 10 версии 1803, Windows больше не будет автоматически возвращать системный реестр в папку RegBack. Это изменение сделано специально и призвано помочь уменьшить общий размер дискового места в Windows. Чтобы восстановить систему с поврежденным кустом реестра, Корпорация Майкрософт рекомендует использовать точку восстановления системы. Дополнительные сведения см. в этой статье.

Этап ядра

После экрана-заставки появляется STOP-ошибка (экран логотипа Windows).

Отображается определенный код ошибки.

Например, "0x00000C2", "0x0000007B", "недоступное загрузочное устройство" и так далее.

Экран завис на значке "Вращающийся колесик" (скользяющиеся точки) "система занята".

После экрана-заставки появляется черный экран.

Чтобы устранить эти проблемы, попробуйте следующие варианты загрузки восстановления по одному.

Сценарий 1. Попытайтесь запустить компьютер в безопасном режиме или последнюю удачную конфигурацию

На экране Дополнительные параметры загрузки попробуйте запустить компьютер в безопасном режиме или безопасном режиме с загрузкой сетевых драйверов. Если любой из этих параметров работает, используйте просмотр событий, чтобы определить и диагностировать причину проблемы загрузки. Чтобы просмотреть события, записанные в журналы событий, выполните следующие действия:

Используйте один из следующих методов, чтобы открыть средство просмотра событий:

В меню Пуск последовательно выберите пункты Администрирование > Просмотр событий.

Запустите оснастку "Просмотр событий" в консоли управления (MMC).

В дереве консоли разверните "Просмотр событий" и щелкните на журнал, который хотите просмотреть. Например, щелкните Системный журнал или Журнал приложений.

В области сведений дважды щелкните событие, которое хотите просмотреть.

В меню Правка нажмите кнопку Копировать, откройте новый документ в программе, в которую нужно ввести событие (например, Microsoft Word), а затем нажмите кнопку Вставить.

Используйте клавиши СТРЕЛКА ВВЕРХ или СТРЕЛКА ВНИЗ, чтобы просмотреть описание предыдущего или следующего события.

Чистая загрузка

Для устранения неполадок, влияющих на службы, выполните чистую загрузку с помощью конфигурации системы (msconfig). Выберите Выборочный запуск, чтобы проверить службы по одному, чтобы определить, какая из них вызывает проблему. Если причину не удается найти, попробуйте включить системные службы. Однако в большинстве случаев проблемная служба — сторонняя.

Отключите любую неисправную службу и попытайтесь снова запустить компьютер, выбрав Обычный запуск.

Если компьютер запускается в режиме отключения подписей драйверов, запустите компьютер в режиме отключения обязательной проверки подписей драйверов, а затем выполните действия, которые описаны в следующей статье, чтобы определить, какие драйверы или файлы требуют обязательную проверку подписей драйверов: Устранение неполадок при загрузке, вызванной отсутствием подписей драйверов (x64)

Если компьютер является контроллером домена, попробуйте режим восстановления служб каталогов (DSRM).

Этот метод является важным этапом при возникновении STOP-ошибки "0xC00002E1" или "0xC00002E2"

Примеры:

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

Код ошибки INACCESSIBLE_BOOT_DEVICE (СТОП 0x7B)

Чтобы устранить эту STOP-ошибку, выполните следующие действия, чтобы отфильтровать драйверы:

Перейдите в среду восстановления Windows (WinRE), вставив ISO-диск системы в дисковод. ISO должен быть той же версии Windows или более поздней версии.

Загрузит системный куст и назовет его "тест".

В следующем подразделе реестра проверьте, нет ли элементов нижнего и верхнего фильтра для драйверов сторонних производителей:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class

Для каждого найденного стороннего драйвера, щелкните верхний или нижний фильтр, а затем удалите данные значения.

Выполните поиск похожих элементов во всем реестре. Обработайте соответствующим образом, а затем выгрузите куст реестра.

Перезапустите сервер в обычном режиме.

Дополнительные действия по устранению неполадок см. в следующих статьях:

Чтобы устранить проблемы, которые возникают после установки обновлений Windows, проверьте ожидающие обновления, выполнив следующие действия:

Откройте окно командной подсказки в WinRE.

При наличии ожидающих обновлений, удалите их, выполнив следующие команды::

Попробуйте запустить компьютер.

Если компьютер не запустится, выполните следующие действия.

Откройте окно командной строки в WinRE и запустите текстовый редактор, например Блокнот.

Перейдите на системный диск и найдите windows\winsxs\pending.xml.

Если файл Pending.xml, переименуйте его как Pending.xml.old.

Откройте реестр, а затем загрузите куст компонентов в HKEY_LOCAL_MACHINE в качестве теста.

Выделите загруженный тестовый куст, а затем найдите значение pendingxmlidentifier.

Если значение pendingxmlidentifier существует, удалите его.

Выгрузите тестовый куст.

Загрузите системный куст, назовите его "test".

Перейдите к следующему подразделу:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\TrustedInstaller

Изменение начальное значение с 1 на 4

Попробуйте запустить компьютер.

Если STOP-ошибка возникает в конце процесса загрузки или если STOP-ошибка все еще генерируется, вы можете записать дамп памяти. Хороший дамп памяти может помочь определить причину STOP-ошибки. Дополнительные сведения см. в следующих статьях:

Дополнительные сведения о проблемах с файлами подкачки в Windows 10 или Windows Server 2016 см. в следующих разделах:

Дополнительные сведения о STOP-ошибках см. в следующей статье базы знаний:

Если в файле дампа появляется ошибка, связанная с драйвером (например, windows\system32\drivers\stcvsm.sys отсутствует или поврежден), соблюдайте следующие правила.

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

Если драйвер не важен и не имеет зависимостей, загрузите системный куст, а затем отключите драйвер.

Если STOP-ошибка указывает на повреждения системного файла, запустите проверку системного файла в автономном режиме.

Для этого откройте WinRE, откройте командную строку и запустите следующую команду:

Если имеется повреждения данных диска, запустите команду проверки диска:

Если STOP-ошибка указывает на общее повреждение данных реестра или если вы считаете, что установлены новые драйверы или службы, выполните следующие действия:

  1. Запустите WinRE и откройте окно командной строки.
  2. Запустите текстовый редактор, например Блокнот.
  3. Перейдите в C:\Windows\System32\Config.
  4. Переименуйте все пять кустов, добавив к имени ".old".
  5. Скопируйте все кусты из папки Regback, вложите их в папку Config и попробуйте запустить компьютер в обычном режиме.

Начиная с Windows 10 версии 1803, Windows больше не будет автоматически возвращать системный реестр в папку RegBack. Это изменение сделано специально и призвано помочь уменьшить общий размер дискового места в 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.

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

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

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

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

1CEh 16 Раздел 2

1DEh 16 Раздел 3

1EEh 16 Раздел 4

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

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

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

Типы 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), который содержит информацию, какой же загрузчик искать.

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

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

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

  • Файлы Windows NTLDR или BOOTMGR должны лежать в корне активного системного раздела и работают они по-разному. Об этом ниже.
  • Файл GRLDR используется Grub4DOS также должен лежать в корне партиции, с котрой выполняется загрузка
  • Syslinux – универсальный загрузчик, содержащий много модулей и поддерживающий загрузку с файловых систем ext2/3/4, 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, и так далее.


Редактирование и установка MBR

Редактирование и установка загрузчика

Помимо работы с MBR и PBR, BootICE позволяет редактировать разделы диска, выполнять ручное разбиение и форматирование, модифицировать тип раздела, сохранять и восстанавливать из бэкапа таблицу разделов.

Работа с таблицей разделов в BootICE

Кратко о загрузчике Syslinux

Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: mbr . bin или gptmbr . bin . Конечно, это имеет смысл только для Linux.

Кстати, syslinux может быть использовать с UEFI – для него загрузчик называется syslinux . efi , однако он еще достаточно сырой.

Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32.

Через BootICE вы также можете установить загрузчик Syslinux, указав в опциях альернативное местоположение файлов ldlinux.sys и и файла меню syslinux.cfg.

Загрузчики Windows

Конечно, основное внимание мы уделим загрузчикам для Windows.

Для Windows 7 он запускает файл \WINDOWS\system32\winload.exe

Загрузка WINDOWS\system32\winload.exe

Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п.

Обычно именно конфигурация BCD становится наибольшим камнем преткновения.

Конфигурирование BOOTMGR и BCD

Для работы с загрузчиком Windows вам понадобятся системные утилиты:

Команда BCDEDIT применяется в операционных системах Windows Vista и старше для редактирования BCD. Подробную инструкцию по использованию этой утилиты можно найти здесь.

Однако, я вам крайне рекомендую использовать очень удобную программу EasyBCD для редактирования BCD. Например, с помощью нее вы легко можете добавить Linux раздел в меню загрузки. Вот статья о том, как добавить в BCD конфигурацию Windows 7 пункт загрузки Linux Ubuntu.

При запуске EasyBCD в окне View Settings можно посмотреть текущую конфигурацию BCD. На скриншоте видно, что в текущий момент на диске установлена одна Windows 7, GUID которой и вручную добавленный пункт меню для запуска установки Windows из WIM файла:

А вот BCD меню загрузочной флэшки, на которой присутствуют инсталляторы Windows 7 x86 и x64, а также две среды MSDaRT x86 + x64:

Запуск среды восстановления Windows RE с загрузочной флэшки

Команда bootsect /nt60 E: /mbr /force – создает на диске E: (например, флэшке) записи MBR и PBR и устанавливает загрузчик bootmgr.

Команда Bootrec /FixMbr – записывает основную загрузочную запись (MBR) системного раздела, совместимую с Windows. При этом существующая таблица разделов не перезаписывается.

Bootrec /FixBoot – записывает в системный раздел новый загрузочный сектор, совместимый с Windows.

bootrec /RebuildBCD – перестроить хранилище конфигурации загрузки на данном компьютере. Удобно использовать для изменения конфигурации BCD при добавлении нового диска с установленной Windows, или для внесения изменений в существующую конфигурацию загрузки новых или ранее не использовавшихся ОС.

Загрузчик GRUB4DOS

Загрузчик состоит из следующих файлов:

Файл grldr.mbr нужен для установки GRUB в качестве MBR. Итак, GRUB можно установить руками под Windows или же воспользоваться различными утилитами.

Установка GRUB загрузчика под Windows

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

Вот и все, не так и сложно.

Сложнее отредактировать меню menu.lst. Вот список основных команд консоли GRUB (их можно исполнять как вручную из командной строки, так и из файла меню):

Приведу примеру рабочих кусков кода из файла меню:

title Установка Windows XP with SP3 x86 RUS. root (hd0,0) map --mem /WINSETUP/XPpSP3.ISO (0xff) map (hd0) (hd1) map (hd1) (hd0) map --hook root (0xff) chainloader /I386/SETUPLDR.BIN

title Установка Windows 7 with SP1 x86-x64 + MSDaRT 7.0 RUS. find --set-root /bootmgr chainloader /bootmgr boot

title Загрузка WinPe RusLive Special Edition 2k10 RUS. find --set-root --ignore-floppies /2K10/WINPE/RLPE.BIN chainloader /2K10/WINPE/RLPE.BIN title Acronis DD 11 and True Image Home 2012 RUS. map /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) || map --mem /PROG/ATIH2012PP_6151_ADDH11_2343_ru-RU.iso (0xFF) map --hook chainloader (0xFF)

title Hiren's BootCD v.15.1 RUS. find --set-root /PROG/hiren.ima map /PROG/hiren.ima (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1 boot

title Victoria v.3.52 RUS. find --set-root /PROG/vcr352r.iso map --mem /PROG/vcr352r.iso (0xff) map --hook root (0xff) chainloader (0xff) boot

title Alkid Live CD root (hd0,0) chainloader (hd0,0)/minint/setuplns.bin

Также, для любителей конфигурировать загрузчик из-под Windows, существует утилитка WinGRUB, которая устанавливает GRUB без форматирования флэшки.

Если все-таки вам не хватило нервов и сил разобраться в написании меню, то есть программки, которые сделают меню загрузки и установят загрузчик за вас, вам нужно только выбрать ISO файлы дистрибутивов, которые надо добавить:

Выводы

Итак, чтобы была возможность загрузить ОС, необходимо, чтобы был установлен корректный загрузчик MBR, который заканчивается валидной сигнатурой, должна быть таблица разделов, и хотя бы один раздел должен быть помечен как активный. А в самом разделе, куда MBR передаст управление, должна быть валидная загрузочная запись, которая укажет, какой системный файл необходимо загрузить в память для начала загрузки самой ОС. Кроме того, должно быть загрузочное меню, которое укажет на местоположение загрузочных файлов ОС.


[Посещений: 14 375, из них сегодня: 11]


Содержание

Возможные Причины

Загрузка Windows осуществляется в два этапа:

1. BIOS (MBR/UEFI) выполняет поиск и запуск загрузчика (его бинарных файлов).
2. Загрузчик выполняет запуск ядра операционной системы.

Учитывая вышеописанное, возможных проблем может быть всего лишь две:

1. Проблемы с загрузочным разделом, и его файлами.
2. Проблемы с загрузочной записью MBR.

Может быть еще и третья проблема. Она не связана напрямую с загрузчиком, поэтому ее я не стал вносить в список. Проблема заключается в удалившихся загрузочных записях UEFI BIOS. Устраняется очень просто, сброс настроек UEFI BIOS, или ручное добавление соответствующей загрузочной записи через UEFI Shell. Как это сделать, можно прочитать тут, а как сделать загрузочный диск с UEFI Shell тут.

Необходимые Инструменты


Скачивание абсолютно бесплатно. Для дистрибутива Windows 10, предоставлена программа для создания загрузочного USB/CD диска, или установочного ISO образа.


Тестовое Окружение

В качестве тестовой ОС будет выступать Windows 10. Будет продемонстрировано восстановление загрузчика как версии на MBR диске, так и на GPT (UEFI).

Для MBR диска, будет продемонстрировано восстановление записи MBR, файлов загрузчика, и загрузочного раздела. Ниже на фото, отмечен раздел с файлами загрузчика.


Особенностью данной разметки диска (она выполнялась автоматически установщиком Windows), является расположение файлов загрузчика и среды восстановления на одном разделе.

Для GPT диска, будет продемонстрировано восстановление загрузочного раздела и файлов загрузчика. На фото ниже, отмечен загрузочный EFI-раздел, в котором расположены файлы загрузчика.


В случае с GPT-диском, файлы загрузчика и среда восстановления располагаются в разных разделах. Загрузочный EFI-раздел всегда отформатирован в файловую систему FAT, т.к. UEFI BIOS поддерживает только ее.

Восстановление Записи MBR

Разберем ситуацию с поврежденной/перезаписанной MBR-записью. Часть первого сектора диска, отвечающей за запуск загрузчика, тестовой машины была намерено затерта.


Windows в данном случае естественно загружаться не будет.


Попробуем восстановить испорченную MBR-запись загрузчика Windows. Загрузимся с установочного диска на проблемной машине.


При появлении мастера установки, нажимаем сочетание клавиш SHIFT+F10 , откроется командная строка.


Записать новую MBR-запись можно двумя способами, легким и не очень. Легкий выполняется с помощью команды bootrec , не очень, с помощью команды bootsect , совместно с командой bcdedit .

Рассмотрим сначала легкий способ. Восстанавливаем запись MBR.


Если сейчас выполнить перезагрузку машины, в надежде увидеть корректную загрузку Windows, то возможно вы получите ошибку загрузчика 0xc000000e (Your PC/Device needs to be repaired. A required device isn't connected or cant't be accessed. The application or operating system couldn't loaded because a recuired file is missing ir contains errors. File: \Windows\system32\winload.exe).


Связана данная ошибка исключительно с конфигурацией загрузчика.


Устранить эту проблему можно выполнив исправление конфигурационного BCD-файла загрузчика Windows Boot Manager. Делается это, так же, с помощью команды bootrec .


Проверим параметры загрузчика после фикса.



Теперь способ второй, немного более сложный.

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


Каждая из этих команд выводит список всех подключенных разделов. Команда wmic предоставляет самую подробную информацию.



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


Определив целевой системный раздел, в моем случае это диск D:\, можно перейти к восстановлению MBR-записи.


Проверяем конфигурацию загрузчика.



Восстановление загрузчика выполнено.


Важным замечанием второго способа, является то, что конфигурация загрузчика не восстанавливается полноценно. Мы лишь поправили загрузочную запись по умолчанию ( ), отвечающую лишь за запуск ОС Windows, другие записи конфигурационного файла загрузчика будут и прежде содержать параметры со значением unknow .

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

Восстановление Загрузчика Windows (BIOS/MBR)

Усугубим тестовую ситуацию. Представим, что после определенных манипуляций, был удален загрузочный раздел ОС Windows. Что необходимо делать в данной ситуации?

1. Заново создать загрузочный раздел.
2. Записать на созданный раздел файлы загрузчика Windows.
3. Записать на созданный раздел файлы среды восстановления Windows (не обязательно).

По поводу третьего пункта, почему он не обязателен? Работа загрузчика, и в общем ОС в целом, никак не зависит от среды восстановления. Она используется лишь при аварийных ситуациях. Запускается данная среда загрузчиком при определенных условиях, например, пара прерванных загрузок ОС. То есть, если не будет загрузчика, то и среда восстановления не будет работать.

Приступим. На тестовой машине был намерено удален загрузочный раздел.


Попытка загрузки на данном этапе, ожидаемо приведет к ошибке.


Загружаем установочный диск OC Windows.


Запускаем командную строку, нажав сочетание клавиш SHIFT+F10 .


Создадим загрузочный раздел. Особых требований к загрузочному разделу нет. Это должен быть раздел с файловой системой NTFS (желательно, но не обязательно), с достаточным объемом свободного пространства, чтобы вместить файлы загрузчика и среды восстановления.



Раздел создан. Запоминаем букву под которой он смонтирован, в моем случе диск E:\. Эта информация потребуется для выполнения последующих команд.

Выполним установку загрузчика на созданный раздел. Но, предварительно нужно выяснить, под какой буквой скрывается раздел с установленной ОС Windows. Узнать данную информацию можно, так же, на предыдущем шаге ( diskpart - list volume ), либо по способам описанным в предыдущем разделе. В моем случае это диск C:\.


Загрузчик установлен. Если сейчас выполнить перезагрузку машины, то ОС Windows благополучно загрузится.


Если загрузка по-прежнему не возможна, то скорее всего имеются проблемы с загрузочной записью MBR. О том, как ее восстановить, написано в предыдущем разделе.

Тема возврата среды восстановления, будет рассмотрена в последующих статьях.

Восстановление Загрузчика Windows (UEFI/GPT)

Рассмотрим восстановление UEFI-загрузчика ОС Windows. ОС использующие загрузку в UEFI режиме не нуждаются в загрузочных записях, на подобии MBR. Поэтому, рассмотрен будет сценарий с утраченным загрузочным EFI-разделом.

Что из себя представляет загрузочный EFI-раздел? Это обычный раздел, отформатированный в файловую систему FAT.

Перейдем к делу. Удалим на тестовой машине загрузочный EFI-раздел.


Попытка загрузки системы на данном этапе, приведет к ошибке, либо к загрузке UEFI Shell.


Загружаемся с установочного диска ОС Windows.


Открываем командную строку, нажав сочетание клавиш SHIFT+F10 .


Создадим утраченный загрузочный EFI-раздел.



Раздел создан. Запоминаем букву созданного раздела, в моем случае это диск F:\.

Установим загрузчик на созданный раздел. Предварительно, выясняем букву раздела с установленной ОС Windows. Как это сделать, было описано в предыдущих разделах. В моем случае, это диск D:\.


Загрузчик установлен. Проверяем его работу. Перезагружаем машину и наблюдаем.

Загрузчик операционной системы – это специальная программа, которая расположена в первых секторах жесткого диска (далее просто загрузчик), например в MBR (главная загрузочная запись) жесткого диска. После теста системы, в момент загрузки, BIOS (базовая система ввода-вывода) передает управление MBR, если система настроена для загрузки из неё. Затем программа, расположенная в MBR начинает выполняться. Эта программа называется загрузчиком, её задача - передать управление ядру операционной системы, которое продолжит загрузку.

Содержание

История

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

Первые примеры

Первые компьютеры, которые появились в 1940-х и 1950-х годах были единственными в своем роде инженерными усилиями, на программирование которых могли уйти недели, а загрузка программ была одной из многих проблем, которые нужно было решить. В раннем компьютере ENIAC не было «программы», хранящейся в памяти, но он был настроен для каждой проблемы с помощью конфигурации соединительных кабелей.

Первые коммерческие компьютеры

Первые программируемые компьютеры для коммерческой продажи, такие как UNIVAC I и IBM 701, включали функции, упрощающие их работу. Они включали, в основном инструкции, которые выполняли полную операцию ввода или вывода. Та же самая аппаратная логика может использоваться для загрузки содержимого перфокарты (наиболее типичной) или другого носителя ввода, такого как магнитный барабан или магнитная лента , который содержал программу начальной загрузки, нажатием одной кнопки. Эту концепцию загрузки называли различными именами компьютеров IBM 1950-х и начала 1960-х годов, но IBM использовала термин «Начальная загрузка программы» с IBM 7030 Stretch. Другие компьютеры IBM той эпохи имели схожие характеристики. Конкуренты IBM также предложили загрузку одной кнопки.

IBM System / 360 и преемники

В IBM System / 360 и его преемниках, включая текущие машины / Architecture , процесс загрузки известен как Начальная загрузка программы (IPL). IBM придумал этот термин для 7030 (Stretch) , восстановил его для проектирования System / 360 и продолжает использовать его в этих средах и сегодня. Функция IPL в System / 360, в преемниках и ее совместимых устройствах, таких как Amdahl, считывает 24 байта из указанного оператором устройства в основное хранилище, начиная с реального адреса ноль. Вторая и третья группы из восьми байтов обрабатываются как канальные командные слова (CCW) для продолжения загрузки запускаемой программы (первое CCW всегда моделируется процессором и состоит из команды Read IPL, 02h , с цепочкой команд и подавлением неверной длины указание исполняется). [Источник 1]

Описание

Несмотря на то, что с работой загрузчика операционной системы так или иначе сталкивается любой из её пользователей, далеко не все подозревают даже о его существовании, не говоря уже о более глубоких познаниях в этой области. Причем речь не только о тех, кто использует Windows. Как показывает опыт, некоторый процент не осведомленных о существовании загрузчика ОС пользователей есть и в среде Linux. Загрузчик операционной системы- это очень короткая программа, находящаяся в первом секторе каждой дискеты и жесткого диска (винчестера) с операционной системой MS DOS. Функция этой программы заключается в считывании с загрузочного диска в оперативную память системных файлов DOS. Основная задача загрузчика - подготовить компьютер для загрузки ядра операционной системы (если, конечно, в такой предварительной подготовке есть какая-то необходимость), ну и, собственно, загрузить само ядро. В случае, если есть несколько ядер, доступных для загрузки, загрузчик нередко выполняет ещё и функцию средства диалога с пользователем, позволяя тому выбрать одно из доступных ядер. Наиболее важный момент всей этой процедуры - это, конечно же, непосредственная загрузка в оперативную память ядра операционной системы. После того, как отработал код загрузчика BIOS, управление передается коду из загрузочного сектора (boot sector) активного раздела жесткого диска, хотя в ряде случаев загрузка операционной системы может производиться исключительно средствами кода, записанного в BIOS. Вместе с тем, само ядро загружаемой системы не обязательно берется загрузчиком с жесткого диска - существуют и другие способы, например, получение кода ядра по сети или через внешние порты компьютера (что особенно характерно для стадии отладки разрабатываемого ядра). Часто используется многоуровневая загрузка, когда процесс работы загрузчика плавно перетекает в процесс работы самого ядра операционной системы путем последовательного вызова нескольких загружающих друг друга программ. В наше время, в силу существования множества разных операционных систем, имеется и большое количество их загрузчиков. Самый распространенный - это, пожалуй, NTLDR, загрузчик систем семейства Windows NT до Windows XP включительно. В новых версиях Windows применяется загрузчик Windows Boot Manager, пришедший на смену NTLDR. Наиболее распространенными загрузчиками в мире Linux являются LILO (LInux LOader) и GRUB (Grand Unified Bootloader). Загрузчик Mac OS X называется BootX, загрузчик Linux и Solaris для машин с архитектурой SPARC имеет название SILO (SPARC Improved bootLOader). Существует также ряд достаточно известных в узких кругах загрузчиков для встраиваемых операционных систем - Das U-Boot, uMon, RedBoot, SyMon.

Функции

Загрузчик операционной системы выполняет следующие функции:

  1. Выделение места для программ в памяти (распределение).Для размещения программы в оперативной памяти должно быть найдено и выделено свободное место в памяти. Для выполнения этой функции Загрузчик обычно обращается к операционной системы, которая выполняет его запрос на выделение памяти в рамках общего механизма управления памятью.
  2. Фактическое размещение команд и данных в памяти (загрузка).Функция загрузки сводится к считыванию образа программы с диска (или другого внешнего носителя) в оперативную память.
  3. Разрешение символических ссылок между объектами (связывание). Функция связывания состоит в компоновки программы из многих объектных модулей. Поскольку каждый из объектных модулей в составе программы был получен в результате отдельного процесса трансляции, который работает только с одним конкретным модулем, обращения к процедурам и данным, расположенным в других модулях, в объектных модулях не содержат актуальных адресов. Загрузчик же "видит" все объектные модули, входящие в состав программы, и он может вставить в обращения к внешним точкам правильные адреса. Загрузчики, которые выполняют функцию связывания вместе с другими функциями, называются Связывающими Загрузчиками. Выполнение функции связывания может быть переложено на отдельную программу, называемую Редактором связей или Компоновщиком. Редактор связей выполняет только функцию связывания - сборки программы из многих объектных модулей и формирование адресов в обращениях к внешним точкам..
  4. Настройка всех величин в модуле, зависящих от физических адресов в соответствии с выделенной памятью (перемещение).Функция перемещения необходима потому, что программа на любом языке разрабатывается в некотором виртуальном адресном пространстве, в котором адресация ведется относительно начала программной секции. При написании программы и при ее трансляции, как правило, неизвестно, по какому адресу памяти будет размещена программа (где система найдет свободный участок памяти для ее размещения). Поэтому в большинстве случаев в командах используется именно адреса меток и данных. Однако, в некоторых случаях в программе возникает необходимость использовать реальные адреса, которые определяться только после загрузки. Все величины в программе, которые должны быть привязаны к реальным адресам, должны быть настроены с учетом адреса, по которому программа загружена.
  5. Передача управления на входную точку программы (инициализация). [Источник 2]

Виды загрузчиков

Загрузчик Syslinux

Обратите внимание, что загрузчик Syslinux сам по себе не может быть установлен в MBR, однако в пакете syslinux имеются два файла, из которых можно установить загрузочный код Syslinux в 440-байтную область загрузочного кода MBR: mbr.bin или gptmbr.bin. Конечно, это имеет смысл только для Linux. Кстати, syslinux может быть использовать с UEFI – для него загрузчик называется syslinux.efi, однако он еще достаточно сырой. Итак, Syslinux состоит из файла загрузчика и файла конфигурации меню syslinux.cfg. Файл меню может вызывать графическое меню через подгрузку файла vesamenu.c32. Установка Syslinux под Windows на другой диск выполняется достаточно просто: используется файл [bios/]«win32/syslinux.exe» для 32-х битных систем и [bios/]«win64/syslinux64.exe» для 64-х битных систем. syslinux.exe --install a: — установка на флоппи-диск syslinux.exe --mbr --active --directory /boot/syslinux/ --install z: — установка на диск z:, например флешку, где — в качестве разделителей должны быть использованы именно /, а не \

— в каталоге будет размещён файл-загрузчик «ldlinux.sys»

— и раздел z: помечен как активный

— для организации меню должен быть создан файл (см. рисунок 1).

Загрузчики Windows

Конечно, основное внимание будет уделено загрузчикам для Windows. Загрузчик NTLDR использовался до появления операционной системы Windows Vista. В процессе начальной загрузки, программный код загрузочного сектора раздела (PBR — Partition Boot Sector) обеспечивал поиск, считывание в память и передачу управления файлу ntldr, который размещался в корневом разделе загрузочного диска. Конфигурирование загрузчика ntldr выполнялось с помощью простого текстового файла boot.ini, содержимое которого задавало список загружаемых операционных систем, их параметры загрузки, размещение системных файлов и т.п. В операционных системах Windows Vista /Server 2008 и более поздних, загрузчик ntldr не используется, и заменен диспетчером загрузки BOOTMGR. Соответственно, изменился и программный код загрузочного сектора раздела, обеспечивающий передачу управления файлу bootmgr. Новый диспетчер загрузки использует собственные данные конфигурации загрузки (Boot Configuration Data — BCD) и может выполнять, при определенных настройках, загрузку любых операционных систем семейства Windows. Загрузчик ntldr не поддерживает возможность загрузки Windows Vista и старше. Также, хочу отметить, что все современные Windows PE любых версий также используют загрузчик bootmgr. Цепочка стадий загрузки MBR — PBR — BOOTMGR — это минимально необходимое условие для того, чтобы загрузка операционной системы могла начаться. Дальнейший же ее ход, определяется диспетчером загрузки BOOTMGR, который считывает данные конфигурации загрузки из файла \BOOT\BCD активного раздела и выполняет загрузку в соответствии с их содержимым.

Для Windows 7 он запускает файл (см. рисунок 2).

Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Это позволяет использовать bootmgr для загрузки Windows PE. В соответствии с конфигурацией загрузки, диспетчер BOOTMGR может выполнить загрузку ядра Windows или, например, Linux, обеспечить выход из режима гибернации, загрузить диагностические программы, выполнить загрузку ядра с измененными параметрами и т.п. Обычно файл bootmgr имеет атрибуты «скрытый» и «системный». По типу структуры, файл \Boot\BCD является кустом реестра и отображается в редакторе реестра Windows как раздел HKEY_LOCAL_MACHINE\BCD00000000. Обычно именно конфигурация BCD становится наибольшим камнем преткновения. [Источник 3]

Загрузчик GRUB

Загрузчик операционных систем GRUB – это очень мощный загрузчик, который может загружать разнообразные операционные системы, такие как Windows, DOS, Linux, GNU Hurd, *BSD и другие. В данное время LILO является самым популярным загрузчиком, используемым почти всеми c мультизагрузочными системами. С GRUB можно “видеть” содержимое файловой системы без загрузки операционной системы. Например, если нужно посмотреть дату и время, записанные в файле, но не имеете времени для загрузки операционной системы, то можете использовать командную строку GRUB (“grub>”) и написать:

Пользователь получит полное содержимое файла, включая дату и время. Самая большая польза загрузчика GRUB в том, что он может загрузить любое ядро из любого раздела диска. Например, если пользователь забыл добавить недавно откомпилированное ядро в список, компьютер должен нормально загрузиться, добавить его в список и перезагрузиться, чтобы его использовать. Но пользователь может легко использовать командную строку загрузчика GRUB и загрузить нужное ядро. Три главных шага для использования GRUB: компиляция, инсталляция и конфигурация.

  • Шаг 1: Компиляция и инсталляция программного пакета загрузчика GRUB

Загрузите исходные тексты

Для начала процесса компиляции, наберите:

Для инсталляции всех файлов наберите:

Программный пакет GRUB установлен, теперь можно приступать к установке загрузчика GRUB в загрузочный сектор. Хорошей идеей является хранить все файлы загрузчика, относящиеся к загрузке в директории /boot/grub. Для того, чтобы сделать это, следуйте следующему примеру: По умолчанию все файлы загрузчика проинсталлированы в /use/share/i386-pc или в /use/local/share/grub/i386-pc в зависимости от того, как определены переменные среды. Создайте каталог /boot/grub. Затем нужно скопировать следующие файлы в папку: stage1 stage2

  • _stage1_5
  • Шаг 2: Инсталляция загрузчика операционных систем GRUB.

Инсталляцию непосредственно загрузчика можно разделить на три этапа:

  • Инсталляция "stage1" в MBR.
  • Настройка адреса или расположения, "stage2". *Настройка меню загрузки или набора опций для выбора операционной системы для загрузки.

Необходимо начать инсталляцию со следующих команд:

  • Шаг 3:Конфигурация загрузчика операционых систем GRUB

BootX (Apple)

BootX-то программный загрузчик, разработанный и разработанный Apple Inc для использования на линейке компьютеров Macintosh. BootX используется для подготовки компьютера к использованию, загрузив все необходимые драйверы устройств и затем запустив Mac OS X, загрузив ядро на всех PowerPC. Макинтоши, работающие под управлением операционной системы Mac OS X 102 или более поздних версий. Используя BootROM, компьютерную микросхему ПЗУ с постоянной памятью, содержащую OpenFirmware,графическая загрузочная заставка кратко показана на всех совместимых компьютерах Macintosh в виде серого логотипа Apple с вращающимся курсором, который появляется во время последовательности запуска. Программа свободно доступна как часть операционной системы Darwin под лицензией открытого источника Apple Public License License5. BootX был заменен еще один почти идентичный загрузчик с именем bootefi и расширяемым ПЗУ интерфейса встроенного ПО при выпуске Mac4 на базе Intel. [Источник 5]

Бывает, что после установки какого-нибудь обновления или после очередного эксперимента система перестала загружаться и тут уже EasyBCD не помощник просто потому что вы не можете сейчас им воспользоваться. А интересна стала эта проблема мне из-за того, что один из моих знакомых как раз столкнулся с ней.

Нам потребуется флешка, на которой записана Windows.

Первый вариант для нас – это воспользоваться автоматическим восстановлением.

Вставляем наш загрузочный носитель в компьютер и загружаемся с него.

Наша задача здесь выбрать восстановление системы.

На следующем экране выбираем «Поиск и устранение неисправностей» .

И на новой странице нажимаем « Восстановление при загрузке ».

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

В последнем случае есть еще вариант.
Надо необходимо проделать в принципе все те же операции, только на последнем пункте вместо «восстановления» выбираем « Командная строка »

Есть конечно способ быстрее, как только вы загрузитесь с флешки, просто нажмите « SHIFT+F10 »

Запускаем программу diskpart, для этого вводим команду:

Теперь нам нужно посмотреть список всех доступных томов, для этого вводим команду:

list volume

Обратите внимание, что буква диска с ОС не обязательно будет «C», поэтому вам нужно запомнить ее.

Теперь нам нужно выйти из программы, вводим команду:
exit

Теперь нам нужно восстановить файл загрузки следующей командой:

bcdboot c:\windows

(причем буква «С» в данном случае – это буква диска, на котором записана ОС)

Как видно на моем примере, я ошибся буквой и у меня ничего не получилось, так как ОС у меня на диске « D »

Но, когда я прописал правильную букву диска, операция прошла успешно.

Бывает конечно, но довольно редко, что и этот способ не работает, тогда нам нужно перейти к следующему действию.

Опять включаем программу diskpart, для этого вводим команду:

В зависимости от того UEFI и GPT у вас или BOIS и MBR, разметка может выглядеть по-разному. У вас может показаться скрытый раздел размером 100 мб в формате FAT32.

Или же раздел в формате NTFS размером 500мб.

Вам нужно запомнить номер этого раздела. А затем вам нужно поочередно ввести следующие команды:

select volume N

причем N – это номер тома

format fs=fat32 или format fs=ntfs
в зависимости от того, какая файловая система на разделе

кстати можно еще дописать quick для ускорения процесса. В моем случае это выглядит так.

В любом случае должно выполниться форматирование тома

assign letter=Z
присваиваем букву Z этому разделу

exit
выходим из Diskpart

bcdboot C:\Windows /s Z: /f ALL

причем C: — диск с файлами Windows, Z: — буква, которую мы присвоили скрытому разделу. На моем примере это выглядит так:

Первый раз я косячнул с пробелом, поэтому не повторяйте моих ошибок. И делайте правильно.

Нас тот случай, когда у вас несколько ОС, повторите команду для второй копии, только не забудьте, про другое расположение файлов

list volume

select volume N
номер скрытого тома, которому мы присваивали букву

remove letter=Z
удаляем букву, чтобы том не отображался в системе, когда мы перезагрузимся

По идее этим способов должно быть достаточно, но на всякий случай есть еще один бонусный метод.

Воспользуемся утилитой bootrec.exe

Для этого загружаемся с загрузочной флешки, и нажимаем «Восстановление системы».

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

А для более новых ОС чуть по-другому.

Вводим:
bootrec.exe

Команд здесь не много и разобраться с ними не сложно.
/fixboot
Команда позволяет записать новый загрузочный сектор на системном разделе диска, при этом загрузочный раздел будет создан так, чтобы он был совместим с вашей операционной системой — Windows 7, 8.1, 10

Поврежден загрузочный сектор (например, после изменения структуры и размеров разделов жесткого диска)

Была установлена более старая версия Windows после более новой (Например, вы установили Windows XP после Windows 8)

Был записан какой-либо не Windows-совместимый загрузочный сектор.

No bootable device

Missing operating system

Non-system disk or disk error

/scanos
Команда ищет ОС, для которых нет записей в файле загрузки. Если таковые найдены, то вам нужно воспользоваться командой /RebuildBcd.

Читайте также: