Изменение параметров загрузки windows 7 при запуске с командной строки

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

Для тех, кто не понимает о чем идет речь, покажу все в картинках:

Так выглядит меню загрузки при установки последней ОС Windows 8.

Фото Меню загрузки Windows 8

А так выглядит меню при установке последней ОС Windows Vista, 7.

Фотография Меню загрузки Windows 7

 До Windows Vista (Windows 2000, XP) все изменения в загрузки вносились в файл boot.ini. Boot.ini представляет собой системный файл, содержащий сведения об установленных на компьютере операционных системах Windows. Эти данные отображаются во время загрузки компьютера/ ноутбука. Для того, что бы изменить параметры загрузки, достаточно открыть файлы boot.ini любым текстовым редактором и внести изменения.
   Начиная с операционной системы Windows Vista (Windows 7, 8, 10) файл boot.ini заменен файлом данных конфигурации загрузки (BCD). Этот файл более универсален, чем boot.ini, и его можно использовать на платформах, в которых для загрузки системы используются другие средства, а не BIOS.

Но как вносить изменения в параметры загрузки в Windows Vista 7, 8, 10? Для этого есть два способа предусмотренные разработчиками Windows:

1 С помощью графического интерфейса;

2 С помощью командной строки.

Изменить параметры загрузки с помощью графического интерфейса в Windows Vista, 7, 8.

Что бы воспользоваться этим способом нажмите сочетание клавиш «Win» + «R», В строке «Выполнить» наберите msconfig, и нажмите клавишу Enter.

Скрин где найти boot.ini в Windows 7, 8

Далее выберите вкладку «Загрузка».

Скриншот Конфигурация системы

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

1) Получить информацию о текущей и загружаемой по умолчанию системах.
2) Отредактировать время (таймаут). По истечении этого времени будет загружена операционная система, определенная для загрузки по умолчанию без вмешательства пользователя. Для этого укажите время (в секундах) в поле «Таймаут».

Фото Изменения Таймаута в параметрах загрузки

3) Изменить систему, загружаемую по умолчанию. Для этого выберите, какую систему хотите загружать по умолчанию (без внешнего вмешательства) и нажмите кнопку «Использовать по умолчанию».

Фотография Изменить загрузку системы по умолчанию

4) Удалить ненужную запись из меню загрузки. Выберите запись, которую хотите удалить и нажмите кнопку «Удалить».

Фото Удалить Windows 7, 8 из загрузки

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

Изменить параметры загрузки с помощью командной строки (bcdedit) в Windows Vista, 7, 8.

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

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

/bcdedit /?

В этой статье я бы хотел более подробно остановиться на примерах использования команды bcdedit.

Пример использования bcdedit.

Прежде чем начинать вносить изменения в загрузчике Windows, предварительно нужно создать его резервную копию. Для этого создайте на любом диске папку BootBackup и введите в командной строке следующую команду (командная строка должна быть запущена от имени Администратора):

bcdedit /export D:\BootBackup\bcd

Где D:\ диск размещения папки BootBackup.

Если вы чувствуете, что что то пошло не так, для того что бы вернуть все в изначальное состояние выполните команду восстановления BCD:

bcdedit /import D:\BootCopy\bcd

Где D:\ диск размещения папки BootBackup.

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

Фотография bcdedit.

Где:
    идентификатор – ID той или иной записи;
    device – показывает раздел, на котором расположены файлы загрузки (это может быть операционная система или папка BOOT);
    osdevice – показывает раздел, на котором расположены системные файлы операционной системы. Обычно, значения параметров device и osdevice равны;
    path – если device определял раздел диска, который содержит файлы операционной системы, то этот параметр определяет остальной путь к загрузчику операционной системы;
    default – показывает ID операционной системы, загружаемой по умолчанию, если операционная система, в которой запустили командную строку, загружается по умолчанию, параметру default присваивается значение {current};
    displayorder – показывает порядок, в котором расположены записи о загружаемых системах;
    timeout – таймаут (смотри выше), значение показано и устанавливается в секундах;
    locale – указывает язык загрузочного меню или меню дополнительных параметров загрузки;
    description – показывает название операционной системы, отображающееся в меню загрузки.

Как изменить операционную систему, загружаемую по умолчанию.
Укажите значение /default и идентификатор ОС, которая должна загружаться по умолчанию.
bcdedit /default {ID}
Теперь операционная система с указанным {ID} будет загружаться по умолчанию.

Как изменить значение задержки загрузки
Чтобы изменить значение задержки, по истечению которого начнется загрузка операционной системы, выполните такую команду:
bcdedit /timeout XX
где XX – число в секундах, по умолчанию используется 30 сек.

Удаление записи из BCD и диспетчера загрузки выполняется с помощью команды:
bcdedit /delete {ID}
Есть особенность выполнения команды: если в качестве ID указывается известная запись, например {ntldr}, то команда должна выполняться с ключом /f:
bcdedit /delete {ntldr} /f
Если же ID записывается в буквенно- цифровом коде, ключ /f не нужен.

Для того, что бы получить более подробную информацию о возможностях утилиты bcdedit, необходимо использовать справку bcdedit /?

Я очень надеюсь, моя статья помогла Вам! Просьба поделиться ссылкой с друзьями:

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

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

Апплет панели управления Свойства системы.

Для того чтобы добраться до параметров, отвечающих за загрузку системы, идем в меню Пуск — Панель управления — Система. Откроется окно свойств системы, в котором нужно выбрать пункт «Дополнительные параметры системы».

меню свойств системы

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

В открывшемся окне мы можем:

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

И все, не добавить новую запись, не изменить или удалить существующую отсюда не получится (в XP была еще кнопка «Правка», при нажатии на которую можно было вручную отредактировать загрузочное меню в Блокноте).

Настроек явно маловато, попробуем другой способ.

Оснастка Конфигурация системы.

Чтобы открыть окно Конфигурация системы, набираем сочетание клавиш  Win+R , в строке Выполнить вводим команду msconfig и нажимаем ОК.

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

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

Добавить или изменить запись мы по прежнему не можем.

окно Параметры системы

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

Утилита командной строки bcdedit

Утилита bcdedit.exe находится в системной папке Windows\System32. Для работы ей необходим административный доступ к компьютеру, поэтому оболочку командной строки запускаем от имени администратора (иначе при попытке запустить программу будет выдана ошибка).

Если просто ввести команду bcdedit без параметров, то на экран будет выведена информация, хранящаяся в BCD. Информация представлена в виде двух столбцов: слевав расположены названия параметров, справа – их значения.

результат выполнения команды bcdedit

Вот основные параметры, отвечающие за загрузку:

  • идентификатор — идентификационный номер, указывающий на запись в меню загрузки. Представляет из себя 32-значный буквенно-цифровой код, заключенный в фигурные скобки. Для стандартных идентификаторов используются названия, например {current} — текущая система, {default} — система по умолчанию;
  • device — указывает раздел, на котором расположен загрузчик операционной системы;
  • osdevice — указывает раздел, на котором находится сама операционная система. Как правило, значения device и osdevice идентичны;
  • path — остальной путь к загрузчику операционной системы;
  • description — описание операционной системы, отображающееся в меню при загрузке;
  • default — операционная система, загружаемая по умолчанию;
  • timeout — время ожидания перед загрузкой ОС по умолчанию;
  • displayorder — порядок, в котором системы отображаются при загрузке.

А теперь рассмотрим варианты применения  bcdedit:

bcdedit /default {ID} — задаем систему, загружаемую по умолчанию.

bcdedit /displayorder  — управляем порядком размещения записей в меню загрузки:

  • bcdedit /displayorder {ID} /addlast — добавляем систему в конец списка;
  • bcdedit /displayorder {ID} /addfirst — добавляем систему в начало списка;
  • bcdedit /displayorder {ID2} {ID1} — указываем порядок отображения систем в списке;
  • bcdedit /displayorder {ID} /remove — удаляем запись из меню загрузки.

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

bcdedit /timeout XX — задаем таймаут в секундах.

bcdedit /set {ID} description ″Название системы″ — изменяем название системы, отображаемое в меню загрузки.

bcdedit /create /d ″Windows Vista″ /application osloader —  создаем новую загрузочную запись.

bcdedit /create {ntldr} /d ″Windows XP″ — создаем загрузочную запись для ОС предыдущих версий (XP и старше).

bcdedit /copy {ID} /d ″Новая система″ — копируем  загрузочную запись. Таким образом тоже можно добавить новую запись в меню загрузки.

bcdedit /delete {ID} /cleanup — удаляем  загрузочную запись. При этом удаляется вся информация об установленной операционной системе из BCD и меню загрузки. У этой команды есть одна особенность — если в качестве ID указывается название, например {default}, то команда должна выполняться с ключом /f, если же ID записывается в буквенно-цифровом коде, ключ /f не нужен.

bcdedit /export ″C:\Backup\bcd″ — экспортируем содержимое хранилища в указанный файл.

bcdedit /import ″C:\Backup\bcd″  — восстанавливаем состояние системного хранилища из резервной копии, созданной с помощью команды /export.

Ну и несколько наиболее «жизненных» примеров

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

bcdedit /copy {current} /d ″New Windows 7 ″ — копируем текущую запись и называем ее по новому;
bcdedit /set {ID} device partition=D: —  указываем местоположение загрузчика системы;
bcdedit /set {ID} osdevice partition=D: — указываем местоположение операционной системы;
bcdedit /displayorder {ID} /addlast — добавляем запись о системе  в меню загрузки, в конец списка.

Добавление загрузочной записи для загрузки системы с виртуального диска (VHD):

bcdedit /copy {current} /d ″Загрузка с VHD″ — копируем текущую запись;
bcdedit /set {ID} device vhd=[X:]\DIR\filename.vhd — указываем местоположение загрузчика системы;
bcdedit /set {ID} osdevice vhd= [X:]\DIR\filename.vhd — указываем местоположение операционной системы;
bcdedit /set {ID} detecthal on — включаем принудительное обнаружение аппаратно-зависимого уровня (Hardware Abstraction Layer, HAL);
bcdedit /displayorder {ID} /addlast — добавляем запись о системе  в меню загрузки, в конец списка.

Примечание. [X:]\DIR\filename.vhd – это полный путь к VHD-файлу и указание имени файла.

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

bcdedit /create {ntldr} /d ″Microsoft Windows XP″ — создаем новую загрузочную запись;
bcdedit /set {ntldr} device partition=\Device\HarddiskVolume1 — указываем расположение файлов загрузки системы;
bcdedit /set {ntldr} path \ntldr — указываем путь к загрузчику системы;
bcdedit /displayorder {ntldr} /addlast — добавляем запись о системе  в меню загрузки.

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

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

Апплет панели управления Свойства системы.

Для того чтобы добраться до параметров, отвечающих за загрузку системы, идем в меню Пуск — Панель управления — Система. Откроется окно свойств системы, в котором нужно выбрать пункт «Дополнительные параметры системы».

Дополнительные параметры системы

Из из дополнительных свойств системы выбираем раздел «Загрузка и восстановление» и нажимаем кнопку Параметры.

Параметры

В открывшемся окне мы можем посмотреть:
1. Список установленных ОС, а также изменить систему загружаемую по умолчанию.
2. Установить время ожидания до загрузки выбранной системы.
3. Убрать отображение списка ОС при загрузке.
Добавить новую запись, изменить или удалить существующую отсюда не получится (в XP была еще кнопка «Правка», при нажатии на которую можно было вручную отредактировать загрузочное меню в Блокноте).

Настроек мало, есть другой способ.
Оснастка Конфигурация системы.

Чтобы открыть окно Конфигурация системы, набираем сочетание клавиш Win+R , в строке Выполнить вводим команду msconfig и нажимаем «ОК».
В открывшемся окне конфигурации системы переходим на вкладку Загрузка. Здесь мы можем проделать следующие действия:
посмотреть информацию о том, какая система загружена сейчас и какая загружается по умолчанию.
изменить систему, загружаемую по умолчанию.
отредактировать время (timeout), по истечении которого будет загружена операционная система по умолчанию.
удалить запись из меню загрузки.
Добавить или изменить запись мы по прежнему не можем.

вкладка Загрузка

Если необходимо изменить положение записи в меню загрузки или переименовать ее? Для этого есть третий способ:
Утилита командной строки bcdedit

Утилита bcdedit.exe находится в системной папке Windows\System32. Для работы ей необходим административный доступ к компьютеру, поэтому оболочку командной строки запускаем от имени администратора (иначе при попытке запустить программу будет выдана ошибка).

bcdedit

Если просто ввести команду bcdedit без параметров, то на экран будет выведена информация, хранящаяся в BCD. Информация представлена в виде двух столбцов: слева расположены названия параметров, справа – их значения.

bcdedit без параметров

Вот основные параметры, отвечающие за загрузку:
идентификатор — идентификационный номер, указывающий на запись в меню загрузки. Для стандартных идентификаторов используются названия, например {current} — текущая система, {default} — система по умолчанию;
device — указывает раздел, на котором расположен загрузчик операционной системы;
osdevice — указывает раздел, на котором находится сама операционная система. Как правило, значения device и osdevice идентичны;
path — остальной путь к загрузчику операционной системы;
description — описание операционной системы, отображающееся в меню при загрузке;
default — операционная система, загружаемая по умолчанию;
timeout — время ожидания перед загрузкой ОС по умолчанию;
displayorder — порядок, в котором системы отображаются при загрузке.
А теперь рассмотрим варианты применения bcdedit:
bcdedit /default {ID} — задаем систему, загружаемую по умолчанию.
bcdedit /displayorder — управляем порядком размещения записей в меню загрузки:
bcdedit /displayorder {ID} /addlast — добавляем систему в конец списка;
bcdedit /displayorder {ID} /addfirst — добавляем систему в начало списка;
bcdedit /displayorder {ID2} {ID1} — указываем порядок отображения систем в списке;
bcdedit /displayorder {ID} /remove — удаляем запись из меню загрузки.
Имейте ввиду, что при удалении записи из меню загрузки информация о параметрах выбранной системы не удаляется из BCD и при необходимости может быть восстановлена.
bcdedit /timeout XX — задаем время выхода в секундах.
bcdedit /set {ID} description ″Название системы″ — изменяем название системы, отображаемое в меню загрузки.
bcdedit /create /d ″Windows Vista″ /application osloader — создаем новую загрузочную запись.
bcdedit /create {ntldr} /d ″Windows XP″ — создаем загрузочную запись для ОС предыдущих версий (XP и старше).
bcdedit /copy {ID} /d ″Новая система″ — копируем загрузочную запись. Таким образом тоже можно добавить новую запись в меню загрузки.
bcdedit /delete {ID} /cleanup — удаляем загрузочную запись. При этом удаляется вся информация об установленной операционной системе из BCD и меню загрузки. У этой команды есть одна особенность — если в качестве ID указывается название, например {default}, то команда должна выполняться с ключом /f, если же ID записывается в буквенно-цифровом коде, ключ /f не нужен.
bcdedit /export ″C:\Backup\bcd″ — экспортируем содержимое хранилища в указанный файл.
bcdedit /import ″C:\Backup\bcd″ — восстанавливаем состояние системного хранилища из резервной копии, созданной с помощью команды /export.
Несколько примеров

Добавление новой загрузочной записи, «мультизагрузка»:
bcdedit /copy {current} /d ″New Windows 7 ″ — копируем текущую запись и называем ее по новому;
bcdedit /set {ID} device partition=D: — указываем местоположение загрузчика системы;
bcdedit /set {ID} osdevice device partition=D: — указываем местоположение операционной системы;
bcdedit /displayorder {ID} /addlast — добавляем запись о системе в меню загрузки, в конец списка.
Добавление загрузочной записи для загрузки системы с виртуального диска (VHD):
bcdedit /copy {current} /d ″Загрузка с VHD″ — копируем текущую запись;
bcdedit /set {ID} device vhd=[X:]\DIR\filename.vhd — указываем местоположение загрузчика системы;
bcdedit /set {ID} osdevice vhd= [X:]\DIR\filename.vhd — указываем местоположение операционной системы;
bcdedit /set {ID} detecthal on — включаем принудительное обнаружение аппаратно-зависимого уровня (Hardware Abstraction Layer, HAL);
bcdedit /displayorder {ID} /addlast — добавляем запись о системе в меню загрузки, в конец списка.
Примечание. [X:]\DIR\filename.vhd – это полный путь к VHD-файлу и указание имени файла.
Добавление загрузочной записи для загрузки Windows XP:
bcdedit /create {ntldr} /d ″Microsoft Windows XP″ — создаем новую загрузочную запись;
bcdedit /set {ntldr} device partition=\Device\HarddiskVolume1 — указываем расположение файлов загрузки системы;
bcdedit /set {ntldr} path \ntldr — указываем путь к загрузчику системы;
bcdedit /displayorder {ntldr} /addlast — добавляем запись о системе в меню загрузки.

Если ваш компьютер не загружается, автоматическое исправление ошибок запуска не помогает или вы попросту видите одну из ошибок наподобие «No bootable device. Insert boot disk and press any key» — во всех этих случаях может помочь исправление загрузочных записей MBR и конфигурации загрузки BCD, о чем и будет говориться в этой инструкции. (Но не обязательно поможет, зависит от конкретной ситуации).

Я уже писал статьи на похожую тему, например Как восстановить загрузчик Windows, но в этот раз решил раскрыть ее более подробно (после того, как меня спросили о том, как запустить восстановление Aomei OneKey Recovery, если оно было убрано из загрузки, а Windows перестала запускаться).

Обновление: если у вас Windows 10, то смотрим здесь: Восстановление загрузчика Windows 10.

Bootrec.exe — утилита исправления ошибок загрузки Windows

Все описываемое в этом руководстве применимо для Windows 10, Windows 8.1 и Windows 7, а использовать мы будем имеющийся в системе инструмент восстановления запуска bootrec.exe, запускаемый из командной строки.

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

  • Для Windows 7 потребуется либо загрузиться с заранее созданного диска восстановления (создается в самой системе), либо с дистрибутива. При загрузке с дистрибутива внизу окна начала установки (после выбора языка) следует выбрать «Восстановление системы», а затем запустить командную строку. 
    Опции восстановления Windows 7

  • Для Windows 8.1 и 8 вы можете использовать дистрибутив так, почти как это описано в предыдущем пункте (Восстановление системы — Диагностика — Дополнительные параметры — Командная строка). Или, если у вас есть возможность запустить «Особые варианты загрузки» Windows 8, командную строку можно также найти в дополнительных параметрах и запустить оттуда. 
    Командная строка для восстановления Windows 8

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

Параметры bootrec.exe

Запись нового загрузочного сектора

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

Применение данного параметра пригодится в тех случаях, когда:

  • Загрузочный сектор поврежден (например, после изменения структуры и размеров разделов жесткого диска)
  • Была установлена более старая версия Windows после более новой (Например, вы установили Windows XP после Windows 8)
  • Был записан какой-либо не Windows-совместимый загрузочный сектор.

Для записи нового загрузочного сектора просто запустите bootrec с указанным параметром, как это показано на скриншоте ниже.

Исправление загрузчика Windows 8

Исправление MBR (Master Boot Record, Главная загрузочная запись)

Первый из полезных параметров bootrec.exe — FixMbr, позволяющий исправить MBR или загрузчик Windows. При его использовании, поврежденная MBR перезаписывается новой. Загрузочная запись располагается на первом секторе жесткого диска и сообщает БИОС, каким образом и откуда начинать загружать операционную систему. При повреждениях вы можете видеть следующие ошибки:

  • No bootable device
  • Missing operating system
  • Non-system disk or disk error
  • Кроме этого, если у вас появляется сообщение о том, что компьютер заблокирован (вирус) еще до начала загрузки Windows, тут тоже может помочь исправление MBR и загрузки.
Запись новой MBR

Для того, чтобы запустить исправление загрузочной записи, введите в командной строке bootrec.exe /fixmbr и нажмите Enter.

Поиск потерянных установок Windows в меню загрузки

Если на вашем компьютере установлено несколько систем Windows старше Vista, однако не все они появляются в меню загрузки, вы можете запустить команду bootrec.exe /scanos для поиска всех установленных систем (и не только, например, таким же образом можно добавить в меню загрузки раздел восстановления OneKey Recovery).

Поиск потерянных установок Windows

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

Пересоздание BCD — конфигураций загрузки Windows

Для того, чтобы перестроить BCD (конфигурацию загрузки Windows) и добавить в нее все утерянные установленные Windows системы (а также разделы восстановления, созданные на базе Windows), используйте команду bootrec.exe /RebuildBcd.

Пересоздание BCD Windows

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

  • bootrec.exe /fixmbr
  • bootsect.exe /nt60 all /force

Заключение

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

Вчера вечером мне по определенным причинам потребовалось поправить загрузчик Windows 7. И если в Windows XP  я просто мог открыть TotalCom и  быстренько блокнотом поправить файл boot.ini, то сейчас  для этого Microsoft предлагает нам встроенную утилиту  BCDEDIT. Но «заморачиваться» с ней вчера вечером у меня не было ни времени ни желанья, поэтому я  решил найти для себя более легкий альтернативный вариант, ну а сегодня на работе поглубже вдался в теорию…

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

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

Механизм загрузки операционной системы Windows 7.
Процесс загрузки любой операционной системы начинается всегда одинаково — после проверки оборудования, управление получает подпрограмма 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

snap1

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

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

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

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

snap2

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

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

snap3

Таким образом, для того, чтобы выполнилась загрузка 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 

snap5

snap4

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

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

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

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

snap5

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

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

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

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

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

snap6

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

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

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

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

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

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

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

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

Вполне понятно, что работать с данными конфигурации 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 — то ее действие выполняется по отношению к системному хранилищу (активной конфигурации, используемой для данной загрузки).

Как уже упоминалось выше, при выполнении команд 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 в файл

‘Подключение к WMI
set oLocator = CreateObject( «WbemScripting.SWbemLocator» )
set oRootWMI = oLocator.ConnectServer( «.», «root\wmi» )
oRootWMI.Security_.ImpersonationLevel = 3
‘ Создание объекта BCD
set oBCD = GetObject( «winmgmts:{impersonationlevel=Impersonate,(Backup,Restore)}!root/wmi:BcdStore»)
if Err.number <> 0 then
WScript.Echo «ERROR: Failed to connect to WMI BCD Object»
WScript.Quit(1)
end if


‘ Открытие системного хранилища конфигурации
if not oBCD.OpenStore( «», oBcdStore ) then
WScript.Echo «ERROR: Failed to open the system BCD store»
WScript.Quit(1)
end if
‘Экспорт системного хранилища в файл C:\wmistore
if not oBcdStore.ExportStore( «C:\WMISTORE» ) then
WScript.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 Manager
locale ru-ru
inherit {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.exe
description Windows 7
locale ru-ru
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice partition=C:
systemroot \windows
resumeobject {52d2064e-3939-11e2-aab2-005056c00008}
nx OptIn
detecthal 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) не очень удобны и, кроме того, не имеют защиты от создания неработоспособной конфигурации для диспетчера загрузки <b<bootmgr< b=»»>. Один неверный параметр сценария WMI, или ошибка в командной строке bcdedit может легко сделать невозможной загрузку ядра системы. Именно поэтому, довольно большой популярностью пользуются программные продукты сторонних производителей с графическим интерфейсом пользователя, позволяющие в несколько щелчков мышью, выполнить наиболее востребованные действия по редактированию конфигурации загрузки. Одной из таких программ является бесплатная для частного некоммерческого использования программа EasyBCD разработанная компанией NeoSmart Technologies. Скачать последнюю версию EasyBCD можно на странице загрузки

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

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 и выше.

snap7

Программа очень проста в использовании и имеет поддержку нескольких языков, включая русский. В качестве примера приведу последовательность действий при создании конфигурации для загрузки 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 отображаются в виде, наиболее соответствующем структуре хранилища.

snap8

Страница загрузки 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 )

snap9

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

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

snap10

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

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

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

snap11

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

Созданный диск восстановления системы содержит нужные для загрузки загрузочные записи, файл диспетчера загрузки 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.inintdetect.combootfont.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

Всем хорошей работы!!!


11.12.2013 —


Опубликовал: |
ms windows 7 desktop

Sorry, the comment form is closed at this time.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как отключить режим сна на ноутбуке windows 10
  • Nvidia geforce 6600 windows 10 x64
  • Код ошибки 0х8007025d при установке windows 10 с флешки
  • Ошибка 0х00000051 windows 7
  • Как установить китайский шрифт в windows