Загрузочная виндовс


BOOTMGR - диспетчер загрузки Windows 7.

Межанизм загрузки операционной системы Windows 7. Хранилище данных конфигурации загрузки Устранение проблем с загрузкой Windows 7

&nbsp &nbsp Существовавший еще с времен Windows NT, загрузчик операционной системы NTLDR, начиная с Windows Vista, заменен новым диспетчером загрузки BOOTMGR. Вызвано это тем, что старый добрый NTLDR уже не годился для выполнения загрузки системы на компьютерах, использующих спецификацию Extensible Firmware Interface (EFI), призванной заменить базовую систему ввода-вывода BIOS. Модель EFI является новым поколением реализации интерфейса между оборудованием компьютера и операционными системами, и в недалеком будущем полностью заменит просуществовавшую несколько десятилетий модель BIOS. Новый диспетчер загрузки ориентирован на использование специального хранилища конфигурации, приложений и данных спецификации EFI, а также обеспечивает поддержку загрузки операционных систем для предыдущего поколения компьютеров на базе BIOS.

Данная статья не касается особенностей использования BOOTMGR в системах с EFI , и в основном, рассматривает принципы использования диспетчера загрузки на стандартном компьютерном оборудовании, не использующем новый интерфейс.

  • Механизм загрузки операционной системы Windows 7.
  • &nbsp &nbsp Процесс загрузки любой операционной системы начинается всегда одинаково - после проверки оборудования, управление получает подпрограмма BIOS, (Basic Input/Output System), считывающая с устройства загрузки первый сектор, являющийся главной загрузочной записью MBR ( Master Boot Record ). Стандартно MBR располагается в первом секторе загрузочного диска и занимает 512 байт (стандартная длина сектора). Это не обязательное условие - MBR может занимать более одного сектора, что зависит от конкретной разновидности загрузчика. Хотя запись MBR не является строго зависимой от платформы загружаемой ОС, она отличается, например, для файловых систем DOS, Windows и Linux.

    Структура MBR включает в себя 2 основных элемента - программный код первичного загрузчика и таблицу разделов. Обязательным признаком наличия записи MBR является специальный код (сигнатура) в двух последних байтах - 55AA. Наличие сигнатуры проверяется подпрограммой BIOS в первую очередь, и при ее отсутствии, диск считается не загрузочным. Многие программы работы с жесткими дисками позволяют просматривать и редактировать данные выбранных секторов. Так, например, выглядит запись MBR, просматриваемая с помощью бесплатной версии Victoria for Widows

    Сигнатура MBR

    &nbsp &nbsp Перед сигнатурой (по смещению 0x1BE относительно начала сектора) располагается таблица разделов (Partition Table), состоящая из 4-х элементов по 16 байт каждый, что определяет максимальное число (не более4-х) первичных разделов на одном жестком диске. Соответственно, размер таблицы разделов - 64 байта.

    Каждый элемент таблицы описывает тип раздела (00h - раздел неопределенного типа, попросту - свободное место, 01h - 12 битный FAT, 05h - дополнительный раздел, 07h - NTFS и т.п.), признак активности (возможности загрузки) - код 80h, адрес начала, адрес конца, смещение относительно MBR и размер - количество блоков распределенное данному разделу.

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

    - программный код и данные начального загрузчика. (446 байт.)- таблица разделов диска (4 поля по 16 байт - 64 байта)- сигнатура 55AA (2 байта)

    Программа и данные начального загрузчика. Таблица разделов диска 55AA

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

    В случае с загрузкой Windows 7 (а также Windows Vista / Server 2008 и последующих ОС семейства Windows) программный код загрузчика раздела выполняет подготовку и выполнение следующего этапа загрузки системы - считывание в оперативную память и передачу управления специальной программе - диспетчеру загрузки BOOTMGR .

    Диспетчер загрузки bootmgr представляет собой файл небольшого размера, расположенный в корневом каталоге активного раздела. Основное его предназначение - обеспечение дальнейшей процедуры загрузки в соответствии с существующей конфигурацией, хранящейся в специальном хранилище - хранилище данных конфигурации ( BCD - Boot Configuratin Data ), представляющем собой файл с именем BCD, находящийся в каталоге BOOT активного раздела. Следующий этап загрузки операционной системы обеспечивается уже диспетчером bootmgr в соответствии с существующей конфигурацией. В общем случае, диспетчер загрузки может выполнить не только загрузку ядра установленной на данном компьютере Windows, но и другие, имеющиеся в конфигурации варианты - загрузку Windows NT/2000/XP, операционных систем семейства Linux, загрузку ОС из образов ( файлов wim ) , виртуальных дисков ( файлов VHD ) и т.п.

    При стандартной установке операционной системы Windows 7 на новый жесткий диск, в качестве активного раздела используется, автоматически создаваемый при инсталляции в первой части диска, раздел небольшого размера ( около 100Мб). Данному разделу не присваивается буква, и в проводнике он не отображается. Это сделано с целью защиты загрузчика от небезопасных для него действий пользователя - удаления файлов конфигурации или самого диспетчера, сжатия файловой системы и т.п. Кроме того, при такой организации структуры диска, легко реализуется процедура восстановления активного раздела из ранее созданного образа без потери установленной системы и пользовательских данных.

    При просмотре в Диспетчере логических дисков, активный раздел отображается под названием "Зарезервировано системой" :

    Активный раздел Windows 7

    Таким образом, для того, чтобы выполнилась загрузка Windows с диспетчером BOOTMGR, активный раздел, как минимум, должен содержать правильную загрузочную запись PBR, файл диспетчера bootmgr и конфигурационные данные в файле \BOOT\BCD, являющимся системным хранилищем конфигурации загрузки. В случае с загрузкой Windows, диспетчер bootmgr считывает из хранилища конфигурации данные, необходимые для загрузки ядра системы, и передает управление приложению, выполняющему следующий этап ( winload.exe ) .

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

  • Хранилище данных конфигурации загрузки (BCD Store).
  • Обычно файл bootmgr и каталог \Boot имеет атрибуты "скрытый" и "системный". Для получения доступа к активному разделу стандартными средствами, можно присвоить ему букву и включить отображение скрытых файлов, однако, нужно понимать, что любое неквалифицированное вмешательство в конфигурацию загрузки может привести к невозможности ее выполнения. При чем, неработоспособную конфигурацию загрузки можно получить даже без выполнения вышеперечисленных действий. Например, при неверном использовании стандартного редактора хранилища конфигурации - утилиты командной строки BCDEDIT. Поэтому, прежде чем вносить какие-либо изменения в конфигурацию загрузки, необходимо позаботиться о том, чтобы иметь возможность восстановления работоспособности системы в том случае, когда ее загрузка станет невозможной. Вопросам восстановления загрузки посвящен отдельный раздел статьи и, настоятельно рекомендую, прежде чем приступать к практическим действиям, внимательно ознакомиться с ним.

    Программный код диспетчера загрузки , получив управление, выполняет поиск и обработку данных конфигурации загрузки (файл BCD в папке \BOOT\ активного раздела), в соответствии с которыми выполняется дальнейшие этапы загрузки ( отображение меню, выбор загружаемой ОС или средств диагностики, загрузка ядра и т.п. ). По своей структуре, файл \\boot\BCD является кустом реестра и отображается в редакторе реестра Windows как раздел HKEY_LOCAL_MACHINE\BCD0000000x

    Хранилище конфигурации загрузки BCD как раздел реестра

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

    Раздел конфигурации BCD содержит подраздел Description с параметрами описания и подраздел Objects с объектами конфигурации загрузки. Данные конфигурации загрузки можно условно разделить на 3 основных составляющих:

    - хранилище BCD (Store)- записи в хранилище (Entries)- параметры записей (Entry Options)

    Иерархически, хранилище конфигурации загрузки представляет собой совокупность объектов (Objects ), состоящих из отдельных элементов (Elements):

    Иерархия хранилища конфигурации загрузки BCD

    Каждый из объектов представляет собой упорядоченную структуру элементов, обрабатываемую диспетчером загрузки. Существует 3 типа объектов:

    - приложения ( application objects)- наследуемые объекты ( inheritable objects)- устройства (device objects)

    Если вернуться к отображаемой редактором реестра структуре хранилища конфигурации, то заметно, что каждый подраздел раздела Objects имеет имя, представляющее собой глобальный уникальный идентификатор - GUID . Идентификатор GUID формируется программным путем и однозначно является уникальным для той системы, где он создается. Алгоритм формирования GUID построен таким образом, что каждый новый генерируемый идентификатор никогда не совпадает с другим, существующим в данной системе. Обозначается GUID в виде групп из шестнадцатеричных цифр, разделяемых дефисами, и заключенными в фигурные скобки:

    {d1f837a2-7e0f-11df-bc8b-f6edb78d41b5}

    Некоторые объекты стандартных приложений конфигурации загрузки имеют предопределенные идентификаторы, связывающие некоторые из идентификаторов GUID с внутренними идентификаторами (псевдонимами) редактора bcdedit

    Description

    BCDEdit ID

    GUID

    Windows Boot Manager

    {bootmgr}

    9dea862c-5cdd-4e70-acc1-f32b344d4795

    Firmware Boot Manager

    {fwbootmgr}

    a5a30fa2-3d06-4e9f-b5f4-a01df9d1fcba

    Windows Memory Tester

    {memdiag}

    b2721d73-1db4-4c62-bf78-c548a880142d

    Windows Resume Application

    No alias

    147aa509-0358-4473-b83b-d950dda00615

    Legacy Windows Loader

    {ntldr}

    466f5a88-0af2-4f76-9038-095b170dc21c

    Current boot entry

    {current}

    fa926493-6f1c-4193-a414-58f0b2456d1e

    Default boot entry

    {default}

    Так например, псевдониму {ntldr} используемому в качестве параметра команды bcdedit всегда соответствует GUID, приведенный в таблице - {466f5a88-0af2-4f76-9038-095b170dc21c}.

    Каждый из разделов подраздела Objects также состоит из двух подразделов - Descriptions с описанием типа объекта и Elements, определяющего набор элементов с параметрами объекта. В разделе Description имеется ключ Type типа REG_DWORD, значение разрядов 28-31 которого определяет тип объекта ( значение в старшей тетраде старшего байта ) :

    0x1 - приложение0x2 - наследуемый объект0x3 - устройство.

    Имена разделов реестра, связанных с элементами объекта, типы данных и значения параметров зависят от конкретной конфигурации загрузки, созданной для использования диспетчером Bootmgr. Если внимательно присмотреться к именам подразделов, то можно заметить, что имя подраздела связано с его содержимым, так например подраздел с именем 12000004 всегда содержит строковый параметр с текстовым описанием элемента :

    [HKLM\BCD00000000\Objects\{b2721d73-1db4-4c62-bf78-c548a880142d}\Elements\12000004]"Element"="Диагностика памяти"

    Или для элемента конфигурации диспетчера загрузки bootmgr :

    [HKLM\BCD00000000\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\12000004]"Element"="Windows Boot Manager"

    С назначением прочих имен подразделов раздела [HKEY_LOCAL_MACHINE\BCD00000000\Objects\. . . \Elements\ и их содержанием можно разобраться по описанию библиотеки элементов BCD на странице msdn.microsoft.com

    &nbsp &nbsp Вполне понятно, что работать с данными конфигурации BCD в среде редактора реестра практически невозможно, поэтому в Windows Vista и более поздних ОС семейства Windows появилась специальная утилита bcdedit.exe предназначенная для работы с хранилищами конфигурации загрузки ( BCD EDITor ). Раздел реестра HKEY_LOCAL_MACHINE\BCD00000000 используется, существующим в данной системе диспетчером BOOTMGR, и является системным хранилищем конфигурации ( System BCD Store ). Упоминаемая выше команда для редактирования конфигурации загрузки BCDEDIT может использоваться не только для редактирования системного хранилища, но и любого другого, задаваемого параметром командной строки /store

    bcdedit /store D:\BCDBackup\bcdsave - команда BCDEDIT выполняется для хранилища конфигурации загрузки в файле bcdsave каталога BCDBackup на диске D:. Если в командной строке bcdedit не задан ключ /store - то ее действие выполняется по отношению к системному хранилищу (активной конфигурации, используемой для данной загрузки).

    &nbsp &nbsp Как уже упоминалось выше, при выполнении команд BCDEDIT к некоторым из объектов хранилища можно применять псевдонимы , например {bootmgr}, (соответствует диспетчеру загрузки ) и {default} (соответствует используемому по умолчанию загрузчику Windows). Для отключения использования псевдонимов в командной строке bcdedit предусмотрен ключ /v:

    bcdedit /v /enum all - отобразить все ( all) записи конфигурации загрузки в системном хранилище без использования псевдонимов.

    Более подробное описание команды BCDEDIT - можно найти здесь.

    Кроме утилиты командной строки BCDEDIT, для работы с конфигурацией загрузки, возможно использование средств инструментария управления Windows - Windows Management Instrumentation (WMI). Провайдер WMI предоставляет программный интерфейс для доступа к элементам конфигурации загрузки и позволяет решать те же задачи, что и редактор bcdedit . Описание элементов WMI для работы с BCD на английском языке - можно найти на страницах Microsoft MSDN

    Пример сценария на языке Visual Basic, выполняющего экспорт системного хранилища конфигурации загрузки в файл C:\wmistore:

    'Пример экспорта BCD Store в файл'Подключение к WMIset oLocator = CreateObject( "WbemScripting.SWbemLocator" )set oRootWMI = oLocator.ConnectServer( ".", "root\wmi" )oRootWMI.Security_.ImpersonationLevel = 3' Создание объекта BCDset oBCD = GetObject( "winmgmts:{impersonationlevel=Impersonate,(Backup,Restore)}!root/wmi:BcdStore")if Err.number 0 thenWScript.Echo "ERROR: Failed to connect to WMI BCD Object"WScript.Quit(1)end if

    ' Открытие системного хранилища конфигурации if not oBCD.OpenStore( "", oBcdStore ) thenWScript.Echo "ERROR: Failed to open the system BCD store"WScript.Quit(1)end if'Экспорт системного хранилища в файл C:\wmistoreif not oBcdStore.ExportStore( "C:\WMISTORE" ) thenWScript.Echo "ERROR: Failed to export BCD Store"end if

    WScript.Echo "Finished Exporting System BCD"

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

    bcdedit /export C:\Backup\bcb - выполнить экспорт в файл C:\backup\bcd

    Для просмотра содержимого хранилища конфигурации можно воспользоваться командой:

    bcdedit /enum all - отобразить все записи в BCD

    bcdedit /enum all > C:\enum-all.txt - то же, что и в предыдущем случае, но с выводом результатов в текстовый файл enum-all.txt на диске C: .

    Пример конфигурации для диспетчера загрузки:

    Диспетчер загрузки Windows--------------------идентификатор {bootmgr}device partition=Z:description Windows Boot Managerlocale ru-ruinherit {globalsettings}default {current}resumeobject {52d2064e-3939-11e2-aab2-005056c00008}displayorder {current}{d1f837a4-7e0f-11df-bc8b-f6edb78d41b5}{52d2064c-3939-11e2-aab2-005056c00008}{52d2064d-3939-11e2-aab2-005056c00008}toolsdisplayorder {memdiag}timeout 30

    идентификатор - псевдоним или GUID конфигурации диспетчера bootmgr device - устройство загрузки. Либо буква диска, если она присвоена активному разделу, либо ссылка на раздел без буквы - partition=\Device\HardDiskVolume1 (Volume2 . . . )description - текстовое описание элемента, в данном случае - диспетчера bootmgr. locale - используемая локализация (язык элемента) inherit - наследуемые установки. default - псевдоним или GUID конфигурации загрузки системы, выполняемой по умолчанию. resumeobject - GUID конфигурации для приложения, выполняемого при выходе из спящего режима (гибернации). В документации называется приложением возобновления (Windows Resume Application ). displayorder - задает порядок отображения пунктов меню загрузчика для нескольких операционных систем. toolsdisplayorder - задает порядок отображения пунктов меню загрузчика для нескольких вариантов средств диагностики. timeout - время ожидания выбора одного из пунктов меню.

    Пример конфигурации элемента загрузки операционной системы Windows Vista и более поздних ОС семейства Windows:

    Загрузка Windows-------------------идентификатор {52d2064f-3939-11e2-aab2-005056c00008}device partition=C:path \windows\system32\winload.exedescription Windows 7locale ru-ruinherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}osdevice partition=C:systemroot \windowsresumeobject {52d2064e-3939-11e2-aab2-005056c00008}nx OptIndetecthal Yes

    идентификатор - псевдоним или GUID конфигурации для загрузки данной ОС Windows device - буква, соответствующая логическому диску с установленной ОС Windows.path - путь приложения загрузки ядра системы.description - текстовое описание элемента, в данном случае - загружаемой ОС Windows. osdevice - буква диска для данной ОС systemroot - корневой каталог загружаемой ОС. resumeobject - GUID конфигурации для приложения, выполняемого при выходе из спящего режима (гибернации).nx - настройки безопасности, задающие использование режима предотвращения выполнения данных (Data Execution Prevention, DEP) detecthal - определение конфигурации оборудования и создание уровня программного доступа к нему.Большинство параметров элементов конфигурации загрузки можно изменить с помощью утилиты bcdedit.exe с параметром /set:

    bcdedit.exe /set {current} nx AlwaysOff - отключить функцию DEP для текущей системы, независимо от наличия аппаратной поддержки DEP.bcdedit.exe /set {6efb52bf-1766-41db-a6b3-0ee5eff72bd7} nx OptIn - включить функцию DEP для системы с указанным GUID

    Примеры изменения конфигурации загрузки можно найти на странице с описанием утилиты командной строки BCDEDIT упоминаемой выше.

    Очевидно, что стандартные средства конфигурирования загрузки Windows 7 (а также Windows Vista, Windows Server2008, Windows 8) не очень удобны и, кроме того, не имеют защиты от создания неработоспособной конфигурации для диспетчера загрузки . Один неверный параметр сценария WMI, или ошибка в командной строке bcdedit может легко сделать невозможной загрузку ядра системы. Именно поэтому, довольно большой популярностью пользуются программные продукты сторонних производителей с графическим интерфейсом пользователя, позволяющие в несколько щелчков мышью, выполнить наиболее востребованные действия по редактированию конфигурации загрузки. Одной из таких программ является бесплатная для частного некоммерческого использования программа EasyBCD разработанная компанией NeoSmart Technologies. Скачать последнюю версию EasyBCD можно на странице загрузки

    EasyBCD позволяет довольно просто создавать элементы конфигурации загрузки для диспетчера bootmgr, необходимые при выполнении загрузки старых версий Windows, загрузки операционных систем семейства Unix/BSD/Linux, загрузки Windows PE, образов и виртуальных дисков. Имеется возможность сохранения текущей конфигурации загрузки, и ее восстановления из ранее сделанной копии. В целом, программа объединяет в себе возможности нескольких стандартных утилит командной строки Windows для работы с загрузочными данными (bcdboot.exe , bcdedit.exe , bootsect.exe ) . Кроме всего прочего, EasyBCD может использоваться не только в среде ОС Windows ориентированных на загрузку с помощью диспетчера bootmgr, но и в среде Windows XP и даже Windows PE с поддержкой .NET версии 2.0 и выше.

    EasyBCD

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

    - нажимаем кнопку "Добавить запись"

    - В правой нижней части окна, обозначенной как "Съемный внешний носитель" выбираем вкладку "ISO"

    - Заполняем поле "Имя" - ERD Commander

    - Выбираем путь к файлу ISO-образа ERD Commander. Хотя данное окно программы EasyBCD названо "Съемный внешний носитель", файл ISO-образа может быть на любом диске, в том числе и не съемном, например - на системном - C:\ISO\erdc.iso.

    - Выбрать режим - "Load from Memory". Поскольку для загрузки из ISO образов, программа EasyBCD использует универсальный загрузчик GRUB, лучше выбирать загрузку из памяти, иначе, загрузка непосредственно с диска не будет выполнена, если файл образа фрагментирован. Это - особенность загрузчика GRUB .

    - Нажать кнопку "Добавить"

    - Нажать кнопку "Редактировать меню загрузки" в панели инструментов.

    - Убедиться в наличии изменений загрузочного меню, при необходимости изменить порядок отображения пунктов или время ожидания и нажать кнопку "Сохранить."

    Важной особенностью программы явлеятся то, что кроме редактирования записей конфигурации, имеется возможность создания файлов, содержащих информацию загрузочных секторов для загрузки сторонних операционных систем (Linux / Unix Mac OS, BSD ), что невозможно сделать стандартными средствами Windows. Правда, при использовании ранних версий EasyBCD, некоторые из созданных конфигураций для приложений загрузочных секторов , работали некорректно. В качестве альтернативы EasyBCD, в подобных случаях можно воспользоваться менее функциональной, и не имеющей поддержки русского языка, программой Visual BCD Editor (VBCDE) . Основное окно программы VBCDE оформлено в стиле проводника Windows, а данные BCD отображаются в виде, наиболее соответствующем структуре хранилища.

    EasyBCD

    Страница загрузки Visual BCD Editor

    Кроме вышеперечисленных программ, для создания и редактирования данных конфигурации загрузки, можно воспользоваться довольно продвинутой программой BCDTool.exe, не требующей инсталляции и работающей в среде любой версии Windows, в том числе и в среде средств восстановления системы на базе Windows PE ( ERD Commander, MSDaRT, прочие LiveCD ). При весьма скромных размерах, утилита BCDTool имеет поддержку русского языка и позволяет выполнить практически любые операции с данными хранилища BCD:

    - редактировать существующее хранилище BCD и/или создавать новое пустое

    - создавать отдельные пункты меню конфигурации загрузки и изменять их параметры.

    - выполнять экспорт хранилища BCD в файл и импорт из файла в хранилище.

    - создавать и редактировать отдельные элементы конфигурации для обеспечения загрузки Windows /XP/2000/Vista/7/8, а также для загрузки Real-Mode (Grub, Linux, DOS ) и загрузки с RAM-диска ( WinPE )

    BCDTool - 
продвинутый редактор данных конфигурации загрузки BCD

    При всех прочих достоинствах данной программы, главным является возможность ее выполнения без установки в среде конкретной операционной системы, что делает ее наиболее подходящим средством , применяемом в комплектах переносимых программ дисков аварийного восстановления системы для устранения проблем с загрузкой Windows. Скачать утилиту BCDTool ver 1.1215 приблизительно 960кб

  • Устранение проблем с загрузкой Windows 7.
  • &nbsp &nbsp В свете изложенного выше, процесс загрузки на примере Windows 7 можно представить в виде цепочки из последовательно выполняемых этапов:

    Программа из записи MBR Программа из записи PBR BOOTMGR + запись конфигурации Win7 Загрузчик ядра WINLOAD.EXE

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

    Следующий важный момент - для устранения проблем потребуется загрузка в какой-либо другой системе с компакт-диска, флешки, съемного USB-диска, или по сети. В крайнем случае, перенос диска с проблемной системой на другой компьютер. Самый простой вариант - создать диск аварийного восстановления стандартными средствами Windows 7:

    - Перейти в Панель управления - Выбрать "Архивация и восстановления" - "Создать диск восстановления системы".

    Создание диска восстановления системы Windows 7

    Вставить в привод чистый компакт диск и нажать кнопку "Создать диск"

    Созданный диск восстановления системы содержит нужные для загрузки загрузочные записи, файл диспетчера загрузки bootmgr, каталоги BOOT и SOURCES . Диспетчер загрузки bootmgr использует конфигурацию из файла \BOOT\bcd с режимом загрузки из образа электронного диска, создаваемого в оперативной памяти. Для создания электронного диска используется файл \BOOT\boot.sdi, а в качестве загружаемого образа используется содержимое файла \SOURCES\boot.wim. Имея представление о механизме загрузки системы с использованием диспетчера bootmgr можно без особых усилий сделать загрузочную флэшку восстановления системы, скопировав на нее файлы и каталоги созданного компакт-диска, и создав необходимую конфигурацию загрузки. Например, следующим образом:

    1. Создать загрузочные записи MBR и PBR. Используя командную строку, выполнить :

    bootsect /nt60 D: /mbr /force - для флешки, которой присвоена буква D:

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

    - запустить DISKPART.

    - в строке приглашения ввести команду для отображения списка дисков:

    list disk

    - выбрать в качестве текущего диска флешку:

    select disk 3 - если флешка отображалась в списке дисков как "Диск 3"

    - выбрать раздел на флешке:

    select partition 1 - выбрать раздел 1

    - сделать текущий раздел флешки активным :

    active

    Завершить работу с DISKPART командой exit

    3. Скопировать содержимое компакт-диска восстановления системы на флешку.

    Если флешка уже имела активный раздел ( отображалась в диспетчере логических дисков с признаком "Активный"), то в использовании DISKPART нет необходимости.

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

    Рассмотренный выше пример создания загрузочной флешки можно считать демонстрацией случая, когда загрузка не выполняется при отсутствии признака активности раздела - если его нет, то загрузочная запись раздела PBR не получит управления, и далее, по цепочке, не будет загружен диспетчер bootmgr . Похожий случай наблюдается при установке Windows XP, после того, как на компьютере была установлена Windows Vista / Windows 7. При установке XP, выполняется изменение загрузочных записей для обеспечения загрузки ntldr , а не диспетчера bootmgr . Старый загрузчик, естественно, не поддерживает загрузку новых версий Windows, и после подобной установки, возможна загрузка только установленной системы, или других систем, загрузка которых возможна с использованием ntldr . Для того, чтобы вернуть возможность загрузки Windows 7, сохранив возможность загрузки установленной Windows XP, необходимо восстановить цепочку для загрузки bootmgr и изменить данные в хранилище конфигурации загрузки так, чтобы имелась возможность выбора любой из установленных операционных систем Windows :

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

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

    bcdboot C:\WINDOWS - скопировать в системный раздел файлы и каталоги, необходимые для загрузки Windows 7, из каталога C:\WINDOWS, и создать новую конфигурацию BCD

    - Для добавления возможности загрузки Windows XP, необходимо создать нужную для загрузки ntldr, запись в хранилище конфигурации BCD, добавить в меню пункт для выбора данной ОС, определить порядок отображения пунктов, и систему, загружаемую по умолчанию. При установке предыдущей версии Windows ( WinXP ), необходимые загрузчику ntldr файлы уже имеются на диске ( boot.ini, ntdetect.com, bootfont.bin).

    Пример создания конфигурации загрузки Windows XP с помощью команды bcdedit:

    bcdedit /create {ntldr} /d "Microsoft Windows XP" - создать объект для загрузки Windows XP

    bcdedit /set {ntldr} device partition=C: - указать устройство загрузки (активный раздел)

    bcdedit /set {ntldr} path \ntldr - указать путь к загрузчику ntldr

    bcdedit /displayorder {ntldr} /addlast - добавить в конец меню выбора вариантов загрузки новый пункт.

    Если команда bcdedit выполняется в среде операционной системы, для которой не определено местонахождение хранилища конфигурации загрузки, или расположение системного хранилища отличается от того, которое будет использоваться диспетчером bootmgr при загрузке с жесткого диска, то необходимо указывать полный путь к файлу bcd в параметре /store :

    bcdedit /store D:\BOOT\bcd /create {ntldr} /d "Microsoft Windows XP" - создать объект для загрузки Windows XP в хранилище конфигурации D:\BOOT\bcd

    Если создание конфигурации загрузки для Windows XP выполняется с помощью EasyBCD, то файл загрузчика ntldr размещается в подкаталоге \NST активного раздела.

    При отсутствии файла диспетчера загрузки bootmgr в корне активного раздела, загрузка завершится сообщением:

    BOOTMGR is missing

    При повреждении содержимого файла :

    Invalid or unsupported executable format

    Дополнительно:

    Скачать архив с утилитами bcdboot.exe, bootsect.exe и bcdedit.exe для 32-х и 64-х разрядных ОС Windows

    Описание команды BCDEDIT

    В начало страницы &nbsp &nbsp &nbsp | &nbsp &nbsp &nbsp На главную страницу сайта

    white55.narod.ru

    Восстановление загрузчика Windows 7 — 3 способа

    Восстановление загрузчика Windows 7 — выполнение действий для восстановления работоспособности операционной системы, после возникновения неполадок при загрузке Windows. Из-за сбоя системы, пользователь может потерять данные, личные файлы, находящиеся на компьютере.

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

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

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

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

    Вам также может быть интересно:

    Как восстановить загрузчик Windows 7? Для восстановления файлов загрузки операционной системы воспользуйтесь встроенными средствами Windows: автоматическое восстановление запуска, а также при помощи утилит BootRec и BCDboot, входящих в состав операционной системы, запускаемых в командной строке.

    Перед использованием средств операционной системы, необходимо узнать разметку жесткого диска MBR или GPT. Современные компьютеры имеют стиль разметки жесткого диска GPT и новый БИОС — UEFI, а во времена Windows 7, на дисках использовалась разметка MBR, и теперь уже устаревший BIOS. На некоторых компьютерах, Windows 7 с разрядностью 64 бит, установлена на диски с UEFI и GPT, а в основном, на ПК с Windows 7 используется разметка MBR (главная загрузочная запись).

    В этой статье мы рассмотрим инструкции, как в Windows 7 восстановить загрузчик системными средствами: сначала выполним автоматическое восстановление, а затем попробуем восстановить загрузчик из командной строки.

    Для выполнения операций по восстановлению загрузчика, потребуется либо Диск восстановления Windows 7, либо установочный DVD диск с операционной системой, или загрузочная флешка Windows 7. Загрузочные носители нужны для получения возможности загрузить на персональном компьютере среду восстановления Windows RE (Windows Recovery Environment), с помощью которой можно попытаться решить проблему с невозможностью запуска системы.

    Выполнение восстановления Windows 7 автоматически средством системы

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

    Сразу после запуска компьютера, при помощи клавиш клавиатуры нужно войти в загрузочное меню (Boot Menu) для выбора внешнего устройства для загрузки: DVD диска или USB флешки. Какие клавиши следует нажимать, зависит от производителя оборудования, узнайте заранее об этом. Другой способ: можно войти в BIOS и выставить там приоритет загрузки с подключенного устройства: USB накопителя или DVD диска.

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

    В первом окне программы установки Windows нажмите на кнопку «Далее».

    выбор языка

    В окне с предложением начать установку операционной системы на компьютер, в левом нижнем углу нажмите на «Восстановление системы».

    восстановление системы

    В открывшемся окне «Параметры восстановления системы» запустится поиск установленных систем.

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

    обнаружены неполадки

    Нажмите на «Подробности» для того, чтобы посмотреть описание исправления.

    подробности

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

    После восстановления загрузчика, операционная система Windows 7 снова загрузится на компьютере.

    Автоматическое устранение проблем средствами системы можно запустить немного по-другому:

    1. В окне «Параметры восстановления системы» активируйте опцию «Используйте средства восстановления, позволяющие устранить проблемы при запуске Windows. Выберите операционную систему для восстановления», а затем нажмите на кнопку «Далее».

    параметры восстановления

    1. В окне выбора средств восстановления нажмите на «Восстановление запуска».

    восстановление запуска

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

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

    Восстановление загрузчика Windows 7 с помощью утилиты Bootrec

    Следующий способ предполагает восстановление загрузчика Windows 7 через командную строку. Для этого мы используем утилиту Bootrec.exe. Это  способ работает только с дисками, имеющими основную загрузочную запись MBR.

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

    В окне «Параметры восстановления системы» нажмите на опцию «Командная строка».

    В утилите Bootrec.exe используются следующие базовые команды:

    • FixMbr — параметр записывает основную загрузочную запись (MBR) в системный раздел диска, совместимую с Windows 7, существующая таблица разделов не перезаписывается
    • FixBoot — при помощи команды выполняется запись в системный раздел нового загрузочного сектора, который совместим с Windows 7
    • ScanOS — выполнение поиска на всех дисках установленных систем, совместимых с Windows 7, отображение записей, которых нет в хранилище конфигурации системы
    • RebuildBcd — проведение поиска на всех дисках установленных систем, совместимых с Windows 7, выбор систем для добавления данных в хранилище конфигурации загрузки

    Команда FixMbr применяется для исправления основной загрузочной записи, а также для удаления из главной загрузочной записи некорректного кода.

    Команда FixBoot используется при следующих условиях: повреждение загрузочного сектора, загрузочный сектор заменен на нестандартный загрузочный сектор, на компьютер с Windows 7 была установлена более ранняя версия Windows (Windows XP или Windows Vista).

    Команда ScanOS служит для поиска на всех дисках операционных систем, совместимых с Windows 7. В результате, будут отображены все записи, относящиеся к другим операционным системам, установленным на компьютере, которые не отображаются в меню диспетчера загрузки.

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

    В окне интерпретатора командной строки введите команду (после ввода команд в командной строке нажимайте на клавишу «Enter»):

    bootrec /fixmbr

    использование bootrec

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

    bootrec /fixboot

    Остальные команды применяются, если на компьютере установлено несколько операционных систем.

    Закройте командную строку, а в окне «Параметры восстановления системы» нажмите на кнопку «Перезагрузка».

    Как восстановить загрузчик Windows 7 командной строки с помощью утилиты BCDboot

    При помощи утилиты bcdboot.exe можно восстановить загрузчик Windows 7 на компьютерах с MBR или GPT стилями разметки жесткого диска.

    скачать яндекс браузер

    Загрузитесь со съемного устройства пройдите путь до окна с выбором способа восстановления системы, а затем запустите командную строку. Другой вариант: в самом первом окне нажмите на клавиатуре на клавиши «Shift» + «F10» для входа в окно командной строки.

    В окне командной строки введите команду для запуска утилиты DiskPart:

    diskpart

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

    list volume

    Нам нужно узнать букву диска (имя тома), на котором установлена операционная система.

    Имя тома (буква диска) в утилите Diskpart может отличаться от буквы диска в Проводнике. Например, в моем случае, в Проводнике системный раздел имеет букву «C», а в diskpart он обозначен буквой «E».

    имя тома

    Для выхода из утилиты diskpart введите:

    exit

    Далее в окне интерпретатора командной строки введите команду:

    bcdboot X:\windows

    В этой команде: «X» — буква диска, на котором установлена операционная система. В моем случае, это буква «E», у вас может быть другое имя тома (диска).

    файлы загрузки созданы

    Закройте командную строку.

    В окне «Параметры восстановления системы» нажмите на кнопку для перезагрузки компьютера.

    Заключение

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

    Прочитайте похожие статьи:

    vellisa.ru

    Восстановление главной загрузочной записи (MBR) в Windows 7

    После того как на канале «Видео советы» было рассказано о простом способе установки двух и более операционных систем на одном компьютере, посыпались резонные вопросы, что будет если вторая система надоест и наступит желание её удалить. Скорее всего, слетит загрузчик (если выражаться языком автолюбителей, то это как стартер в машине) и вы увидите чёрный экран. Многие могут подумать «ну вот всё, в очередной раз поломался компьютер». На самом деле система установлена и полностью работоспособна, но стартануть не может.

    Также это может произойти если на компьютер устанавливать системы в хаотическом порядке и не придерживаться правильного порядка установки: (С:) Windows XP, (D:) Windows 7, (E:) Windows 8.1 (F:) Windows 10.

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

     

    • Главная загрузочная запись (MBR) — это первый сектор на жёстком диске, в котором находится таблица разделов и маленькая программа загрузчик, считывающая в данной таблице данные с какого раздела жёсткого диска производит загрузку система и в дальнейшем информация передаётся в раздел с установленной операционной системой, для её загрузки (как-то так 🙂 ).

     

     

     

    Сегодня разговор будет о Windows 7 (хотя действия по восстановлению «загрузчика» в других системам те же самые). Для этого понадобиться или установочный диск с операционной системой, надеюсь вы его ещё не выбросили или флешка (если у вас нет ни того ни другого, читаем статью ниже). Включаем компьютер. Нажимаем кнопку отвечающую за вход в boot menu и выставляем приоритет загрузки с привода или с USB-накопителя. Представим что мы загружаемся с оптического диска. Во время загрузки появляется надпись.

     

       

    1. Нажимаем любую клавишу для загрузки с CD или DVD. Доходим до окна «Установка Windows» и нажимаем кнопку «Восстановление системы».

     

       

    Вероятно проблемы сразу будут обнаружены. Нажимаем кнопку «Исправить и перезапустить».

     

       

    2. Если не помогло и система по-прежнему не загружается, снова доходим до окна «Параметры восстановления системы» и нажимаем кнопку «Далее».

     

       

    Выбираем пункт «Командная строка».

     

       

    Вводим первую команду bootrec /fixmbr

    • Утилита записывает совместимую с Windows 7 главную загрузочную запись (MBR) в системный раздел. Эта опция решит проблемы связанные с повреждением главной загрузочной записи, или если есть желание удалит из неё нестандартный код. Существующая таблица разделов в этом случае не переписывается.

     

       

    Вторая команда bootrec /fixboot

    • Утилита записывает в системный раздел новый загрузочный сектор, совместимый с Windows 7.

     

       

    Выходим, написав exit и делаем перезагрузку компьютера.

     

       

    3. В принципе эти действия должны «вылечить» компьютер. Но есть ещё команды, если тёмные тучи продолжают сгущаться над головой. Вводим команду bootrec /ScanOs, сканируется винчестер на наличие операционных систем и если таковые будут найдены, то выйдет соответствующее предупреждение. Затем команда bootrec /RebuildBcd, данная утилита предложит внести найденные Windows в меню загрузки, соглашаемся и вводим Y и жмём Enter. Windows успешно добавлена в меню загрузки.

    4. Кроме описанных способов можно воспользоваться командой bootsect /NT60 SYS, основной загрузочный код, также будет обновлён. Далее exit и перезагрузка.

    5. Если и дальше ничего не помогает (хотя с трудом вериться) восстанавливаем среду загрузки с помощью утилиты BCDBoot.exe, её используют для создания системного раздела или восстановления среды загрузки, расположенной в системном разделе. Командная строка выглядит таким образом: bcdboot c:\windows Если у вас система установлена на другом разделе нужно исправить в команде путь, например, на bcdboot e:\windows

    Таким образом, нами успешно восстановлен «загрузчик» в Windows 7 и нет необходимости тащить компьютер в мастерскую. Как быть если нет установочного диска или флешки. Заранее скачайте хотя бы вот эту программу. Залейте её на диск или USB-накопитель. Кстати говоря помните у нас был уже пост о том как создать мультизагрузочную флешку. Когда случиться увидеть чёрный экран вспоминаем об этой программе, там много чего интересного, в том числе и интерпретатор командной строки cmd.exe.

     

       

    На этом, пожалуй, хватит, хотя невозможность запуска операционной системы Windows 7 из-за повреждённого или отсутствующего загрузчика можно решить при помощи таких программ, как Hiren’s Boot CD, Paragon Hard Disk Manager, MBRFix и многих других полезных вещиц 🙂 .

    Помогите жертве капиталистического катаклизма. Делитесь постом в соц. сетях:

    Самое интересное на сайте:

    oleglav.com