Изменение параметров загрузки windows для windows 7 путь windows system32 winload exe

0 / 0 / 0

Регистрация: 23.02.2015

Сообщений: 5

1

24.02.2015, 02:38. Показов 40559. Ответов 10


Студворк — интернет-сервис помощи студентам

Приветствую прошу вашей помощи гугл мне не дал ответа вся надежда на вас
Была совершена переустановка win 7 х64 все работало корректно, но после закрытия ноутбука (асер 6920) и перехода в режим сна и включения через некоторое время выдало ошибку один раз ! что то связанное с файлом hiberfil.sys не успел далее прочитать, после дальнейшей перезагрузки система не загружается черный экран после анимации «Загрузка виндовс», в тот же момент исчезло приглашение при загрузке нажать кнопку для входа в биос, в биос не какими путями не заходит все варианы из поиска по данному вопросу использовал, во внутренности не лез физических манипуляций с железом не производил — решил еще раз переставить windу но зайти в биос нет возможности, появился вариант при нажатии F10 появилось меню:
Изменение параметров загрзки Windows для : Windows 7
Путь \Windows\system32\winload.exe
Раздел: 1
Жесткий диск : a&b4c&17
[/NOEXECUTE=OPTIN большой прочерк, и через строку скобки закрылись
]
Возможность редактирования данной строки есть. У меня вопрос как все это можно лечить ? и возможно ли в данной строке прописать что бы загрузка была с флэш чтоб совершить перестановку системы с установочной флэш ?

Добавлено через 2 часа 41 минуту
изменяюсь про NOEXECUTE=OPTIN разобрался

Кликните здесь для просмотра всего текста

«
бывает только 4 варианта это не есть выбор носителя для загрузки
Изменение параметров загрзки Windows для : Windows 7
Путь \Windows\system32\winload.exe
Раздел: 1
Жесткий диск : a&b4c&17
[/NOEXECUTE=OPTIN большой прочерк, и через строку скобки закрылись

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



0



Модератор

Эксперт HardwareЭксперт Windows

15832 / 7867 / 742

Регистрация: 03.01.2012

Сообщений: 32,604

24.02.2015, 11:12

3

GaGa,

Цитата
Сообщение от Persk
Посмотреть сообщение

Как переустанавливали?

UEFI поддерживается? Активатор использовался?



0



Эксперт HardwareЭксперт Windows

21301 / 12111 / 653

Регистрация: 11.04.2010

Сообщений: 53,466

24.02.2015, 11:20

4

smart HDD покажите…



0



0 / 0 / 0

Регистрация: 23.02.2015

Сообщений: 5

24.02.2015, 15:53

 [ТС]

5

Ранее какая ОС была установлена? Как переустанавливали?

В оригинале была виста 32, после утановил win 7 32, после 64, переустановка через флеш usb происходила, читал данную тему https://www.cyberforum.ru/windows7/thread670038.html у него загружается рабочий стол у меня нет

UEFI поддерживается? Активатор использовался?

я не могу посмотреть поддержку UEFI так как не грузится до рабочего стола ни в режимах восстановления,безопасном, командной строки… не грузится , активация была

smart HDD немгоу произвести тест

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

Добавлено через 1 час 3 минуты

Цитата
Сообщение от Persk
Посмотреть сообщение

Цитата
Сообщение от gecata
Посмотреть сообщение

GaGa,
UEFI поддерживается? Активатор использовался?

Цитата
Сообщение от qvad
Посмотреть сообщение

smart HDD покажите…

ответил



0



Модератор

Эксперт HardwareЭксперт Windows

15832 / 7867 / 742

Регистрация: 03.01.2012

Сообщений: 32,604

24.02.2015, 16:12

6

Попробуйте загрузиться с ERD Commander (FAQ по созданию мультизагрузочной флешки ERD Commander 5.0, 6.0, 6.5) (для семёрки) и посмотрите, есть ли там \Windows\system32\winload.exe (иногда сам winload.exe заменяется активатором и в таком случае загрузчик ссылается на отсутствующий файл)

Добавлено через 4 минуты
Ну или с установщика семёрки загрузитесь, на первом диалоговом окне — Shift+F10, в командной строке — notepad.exe, в нём — Ctrl+O — в типах файлов выбрать все файлы (вместо .txt) и проверить наличие \Windows\system32\winload.exe



0



0 / 0 / 0

Регистрация: 23.02.2015

Сообщений: 5

25.02.2015, 03:55

 [ТС]

7

Цитата
Сообщение от gecata
Посмотреть сообщение

Попробуйте загрузиться с ERD Commander (FAQ по созданию мультизагрузочной флешки ERD Commander 5.0, 6.0, 6.5) (для семёрки) и посмотрите, есть ли там \Windows\system32\winload.exe (иногда сам winload.exe заменяется активатором и в таком случае загрузчик ссылается на отсутствующий файл)

Добавлено через 4 минуты
Ну или с установщика семёрки загрузитесь, на первом диалоговом окне — Shift+F10, в командной строке — notepad.exe, в нём — Ctrl+O — в типах файлов выбрать все файлы (вместо .txt) и проверить наличие \Windows\system32\winload.exe

после вытаскивания жесткого диска и загрзки файлов с загруз флешки появилось кнопка входа в биос, но появилась другая проблема не устанавливается виндовс с флешки он подгружает файлы и далее идет как обычная загрузка которая как обычно приводит до черного экрана, пробовал варианты установки через
, Windows — FAQ по созданию загрузочной флешки
,UltraISO,Windows 7 USB DVD,WinSetupFromUSB,rufus,UNetbootin флеш 16gb NTFS форматировал BOOTICE по инструкции. флешка отображается в биосе нормально но не устанавливает винд
И еще весь системный раздел стерт где стояла винда по моей вине…думал одумается она и загрузится с флеш…
как быть дальше ? как заставить загрузить установочную оболочку чтоб пошла установка винды а не загузка с флеш ? доступ к диску и разделам есть через LiveDisk флешку



0



Эксперт HardwareЭксперт WindowsАвтор FAQ

8587 / 3017 / 507

Регистрация: 14.04.2011

Сообщений: 7,530

25.02.2015, 09:27

8

Как вариант попробовать установку с DVD диска.

———

Цитата
Сообщение от GaGa
Посмотреть сообщение

как заставить загрузить установочную оболочку чтоб пошла установка винды а не загузка с флеш

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



0



Модератор

Эксперт HardwareЭксперт Windows

15832 / 7867 / 742

Регистрация: 03.01.2012

Сообщений: 32,604

25.02.2015, 12:18

9

Цитата
Сообщение от GaGa
Посмотреть сообщение

доступ к диску и разделам есть через LiveDisk флешку

А покажите-ка что там за разделы



0



0 / 0 / 0

Регистрация: 23.02.2015

Сообщений: 5

25.02.2015, 16:02

 [ТС]

10

Цитата
Сообщение от gecata
Посмотреть сообщение

А покажите-ка что там за разделы

имелось ввиду дискИ , вот что получилось достать

Изменение параметров загрузки Win 7 64

Цитата
Сообщение от Андрей1224
Посмотреть сообщение

Как вариант попробовать установку с DVD диска.

———

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

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



0



0 / 0 / 0

Регистрация: 23.02.2015

Сообщений: 5

25.02.2015, 20:54

 [ТС]

11

как мне кажется флеш записана правильно, но при загрузке меня запскает в меню Windows Boot manager, где можно выбрать диагностику памяти и нажать F8 чтобы попасть в меню Advanced boot options, где выбираются пункты безопасная загрузка и стальные стандартные опции …
как дальше что делать как становится ?, флеш таже



0




Автор:
Обновлено: 18.02.2023

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

Старые версии Windows хранили всю загрузочную информацию в файле «boot.ini». Это обычный текстовый файл с несколькими строками данных, который хранился в корне диска С: и был скрыт.

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

Меню загрузки Windows 7

Меню загрузки Windows 7

Содержание

  • Редактирование через меню «Система»
  • Правка через утилиту «Конфигурация системы»
    • Видео — Как отредактировать меню загрузки Windows 7
  • Точная настройка загрузки с помощью командной строки
  • Подключение виртуального жесткого диска (VHD)
  • Редактирование с помощью сторонних программ
  • Возможные проблемы и рекомендации
    • Видео — Редактирование меню загрузки операционных систем

Редактирование через меню «Система»

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

Шаг 1. Зайти в системные свойства компьютера. Это можно сделать двумя способами:

  • кликнуть на иконку «Компьютер» правой кнопкой мышки, затем выбрать пункт меню «Свойства»;

    Кликаем на иконку «Компьютер» правой кнопкой мышки, затем выбираем пункт меню «Свойства»

    Кликаем на иконку «Компьютер» правой кнопкой мышки, затем выбираем пункт меню «Свойства»

  • осуществить переход через «Пуск» — «Панель управления» — «Система».

    Открываем «Пуск», затем «Панель управления»

    Открываем «Пуск», затем «Панель управления»

    В режиме «Просмотр» выбираем значение «Крупные значки», открываем меню «Система»

    В режиме «Просмотр» выбираем значение «Крупные значки», открываем меню «Система»

Шаг 2. В открывшемся окне с описанием свойств компьютера и ОС перейти в «Дополнительные параметры системы», оттуда — в параметры «Загрузки и восстановления».

Переходим в «Дополнительные параметры системы»

Переходим в «Дополнительные параметры системы»

В разделе «Загрузки и восстановления» нажимаем на блок «Параметры»

В разделе «Загрузки и восстановления» нажимаем на блок «Параметры»

Шаг 3. В окне «Загрузка и восстановление» пользователю будут доступны следующие варианты:

  • смена порядка запуска ОС по умолчанию;
  • отключение выбора загрузки систем;
  • выставление таймера на любой удобный срок.

    В блоке «Загрузка операционной системы» настраиваем подходящие значения, нажимаем «ОК»

    В блоке «Загрузка операционной системы» настраиваем подходящие значения, нажимаем «ОК»

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

Правка через утилиту «Конфигурация системы»

Msconfig – специализированное приложение для настройки параметров OS от Майкрософт. Нужно в простых случаях, вроде лишней записи уже удаленной системы или автоматической загрузки Windows в безопасном режиме.

  1. Запустите меню «Выполнить» нажатием клавиш «Win+R», затем введите «msconfig» в появившейся строке, подтвердите действие кнопкой «ОК».

    Вводим «msconfig» в появившейся строке, нажимаем «ОК»

    Вводим «msconfig» в появившейся строке, нажимаем «ОК»

  2. Это запустит стандартное приложение для настройки операционной системы. Выберите вкладку «Загрузка».

    Выбираем вкладку «Загрузка»

    Выбираем вкладку «Загрузка»

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

    Окно для редактирования меню загрузки системы

    Окно для редактирования меню загрузки системы

  • просмотр информации о существующих записях;
  • изменение порядка загрузки по дефолту;
  • выбор дополнительных опций запуска ОС;
  • редактирование стандартного 30-секундного таймера при запуске;
  • удаление строки из меню.

    Выделяем ненужную систему щелчком мышки, нажимаем по кнопке «Удалить»

    Выделяем ненужную систему щелчком мышки, нажимаем по кнопке «Удалить»

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

Видео — Как отредактировать меню загрузки Windows 7

Точная настройка загрузки с помощью командной строки

Правка раздела начиная с Vista проводится через специальную утилиту bcdedit. Так как она находится в папке «System32» каталога Windows, для запуска у командной строки должны быть администраторские права.

Шаг 1. Наберите в поиске меню «Пуск» команду «cmd».

Набираем в поиске меню «Пуск» команду «cmd»

Набираем в поиске меню «Пуск» команду «cmd»

Шаг 2. После того, как поиск найдет системное приложение — кликните по нему правой кнопкой мышки и запустите от администратора.

Кликаем по утилите правой кнопкой мышки и запускаем от администратора

Кликаем по утилите правой кнопкой мышки и запускаем от администратора

Важно! Запуск командной строки через «Win+R» – «cmd» подойдет только в случае, если вы уже работаете под админским аккаунтом. В ином случае у bcdedit не будет прав для редактирования.

Шаг 3. Дальнейшие действия в командной строке проводятся при помощи bcdedit. Введите команду для просмотра информации, хранящейся в загрузочном секторе, активируйте команду нажатием по кнопке «Enter».

Вводим команду «bcdedit», жмем «Enter»

Вводим команду «bcdedit», жмем «Enter»

Важные для пользователя значения:

  • идентификатор — код записи в меню, под (current) находится запущенная OS;
  • device – системный диск, раздел или сетевой ресурс, на котором указывает запись;
  • path – местонахождение файла winload.exe или другого загрузчика ОС;
  • description – название, отображаемое при загрузке.

    Важные значения для загрузки Windows

    Важные значения для загрузки Windows

В «Диспетчере загрузки» стоит выделить:

  • default – стандартная система для запуска, выбирается для загрузки по истечению времени на выбор;
  • timeout – время для автоматического пропуска меню при бездействии пользователя;
  • displayorder – порядковое расположение записей в меню.

    Важные команды для «Диспетчера загрузки»

    Важные команды для «Диспетчера загрузки»

Для правки меню загрузки допишите после команды «bcdedit» следующие параметры и модификаторы:

  • /default {идентификатор} — задать систему для загрузки по умолчанию;

    В команде «bcdedit /default» вместо «идентификатор» пишем идентификатор своей системы

    В команде «bcdedit /default» вместо «идентификатор» пишем идентификатор своей системы

  • /timeout 00 – установить время ожидания до автоматической загрузки в секундах;

    Командой «bcdedit /timeout 00» устанавливаем время ожидания до автоматической загрузки в секундах

    Командой «bcdedit /timeout 00» устанавливаем время ожидания до автоматической загрузки в секундах

  • /set {идентификатор} description ″Новая″ — смена названия записи;

    Команда bcdedit для смены названия записи

    Команда bcdedit для смены названия записи

  • /create /d ″Windows 7″ /application osloader — создать новую запись с выбором операционной системы и стандартного загрузчика;

    Команда bcdedit для создания новой записи с выбором операционной системы и стандартного загрузчика

    Команда bcdedit для создания новой записи с выбором операционной системы и стандартного загрузчика

  • /set {идентификатор} device partition=K: изменение установочного диска, часто требуется при переносе системы на другой HDD или SSD;

    Команда для изменения установочного диска, часто требуется при переносе системы на другой HDD или SSD

    Команда для изменения установочного диска, часто требуется при переносе системы на другой HDD или SSD

  • /delete {идентификатор} /cleanup — удаляет запись и очищает всю дополнительную информацию о ней из BCD;

    Команда для удаления записей и очищения всей дополнительной информации из BCD

    Команда для удаления записей и очищения всей дополнительной информации из BCD

    Важно! При использовании упрощенного идентификатора, вроде default, в конце команды необходим параметр /f. Для 32-значного кода ключ не требуется.

  • /export ″D:Save — сохранение загрузочного файла в указанном месте;

    Команда «bcdedit /export», с указанием своего диска, сохраняет загрузочные файлы в указанном месте

    Команда «bcdedit /export», с указанием своего диска, сохраняет загрузочные файлы в указанном месте

  • /import D:Save— восстановление из существующей копии;

    Команда «bcdedit /import» для восстановления из существующей копии

    Команда «bcdedit /import» для восстановления из существующей копии

  • /set {идентификатор} locale en-US — устанавливает язык меню. Русская локализация отмечается тегом «ru-Ru».

Для управления порядком загрузки используется команда «bcdedit /displayorder» с различными модификаторами. Проще всего для установки очереди будет использовать «/displayorder {идентификатор2} {идентификатор3} {идентификатор1}». Команда «/displayorder {идентификатор} /remove» удалит запись из списка выбора, оставив ее в самом файле.

Команда «bcdedit /displayorder» для установки очереди

Команда «bcdedit /displayorder» для установки очереди

Команда «bcdedit /displayorder» для удаления записей из списка выбора, оставив ее в самом файле

Команда «bcdedit /displayorder» для удаления записей из списка выбора, оставив ее в самом файле

Чтобы получить полную справку по команде введите bcdedit или bcdedit.exe с ключом /?.

Для получения справки по команде вводим bcdedit или bcdedit.exe с ключом /?

Для получения справки по команде вводим bcdedit или bcdedit.exe с ключом /?

Подключение виртуального жесткого диска (VHD)

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

Чтобы подключить VHD, нужно:

  1. Напечатать в консоли командной строки «bcdedit», запустить команду нажатием клавиши «Enter».

    Печатаем в консоли командной строки «bcdedit», запускаем команду нажатием клавиши «Enter

    Печатаем в консоли командной строки «bcdedit», запускаем команду нажатием клавиши «Enter

  2. Скопировать существующую запись командой «bcdedit /copy {current} /d ″Виртуальный диск″». В кавычках — название строки в загрузочном меню.

    Вводим команду «bcdedit /copy {current} /d ″Виртуальный диск″», жмем «Enter»

    Вводим команду «bcdedit /copy {current} /d ″Виртуальный диск″», жмем «Enter»

  3. Набрать «bcdedit /set {идентификатор} device vhd=[C:]storage.vhd», где «vhd» является ссылкой на расположение виртуального диска.

    Копируем и вставляем команду со своими данными, жмем «Enter»

    Копируем и вставляем команду со своими данными, жмем «Enter»

  4. Повторить вторую команду еще раз, заменив «device» на «osdevice».

    Повторяем вторую команду еще раз, заменив device на osdevice, жмем «Enter»

    Повторяем вторую команду еще раз, заменив device на osdevice, жмем «Enter»

  5. Подключить аппаратное обнаружение — «bcdedit /set {идентификатор} detecthal on».
  6. Через «bcdedit /displayorder {идентификатор} /addfirst» добавить запись в начало списка.

    Вводим команду, заменив «addlast» на «addfirst»

    Вводим команду, заменив «addlast» на «addfirst»

Редактирование с помощью сторонних программ

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

Интерфейс EasyBCD

Интерфейс EasyBCD

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

  • настройка мультизагрузки нескольких операционных систем (в том числе Ubuntu, OS X и других);
  • загрузка ОС с флешки, сетевого диска, ISO-файла или виртуального диска;
  • починка неисправного загрузчика Windows и откат до стандартного состояния;
  • стандартные действия — переименование, удаление, смена порядка, скрытие.

Для установки нового загрузочного раздела:

  1. Перейдите в «Bootloader Setup», выберите диск, на котором находится операционная система и отметьте ее версию. Для XP и Vista/7 способы записи отличаются, поэтому не ошибитесь в выборе опций. После нажмите «Write MBR» для записи данных в сектор.

    Переходим в «Bootloader Setup», выбираем диск с системой, отмечаем ее версию, нажимаем «Write MBR»

    Переходим в «Bootloader Setup», выбираем диск с системой, отмечаем ее версию, нажимаем «Write MBR»

  2. Добавление новой записи осуществляется в разделе «Add new entry». Там выбирается тип OS и название строки, а также автоматически детектируется необходимый носитель. После настройки необходимых параметров нужно кликнуть по опции «Add entry».

    В разделе «Add new entry» выбираем новую запись, нажимаем «Add Entry»

    В разделе «Add new entry» выбираем новую запись, нажимаем «Add Entry»

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

Возможные проблемы и рекомендации

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

Рекомендации по решению проблем, возникающих при редактировании меню загрузок системы

Рекомендации по решению проблем, возникающих при редактировании меню загрузок системы

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

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

Справка! Дополнительную информацию по задаче можно найти в одном из русскоязычных блогов Майкрософт по ссылке https://news.microsoft.com/ru-ru/microsoft-blogi/.

Видео — Редактирование меню загрузки операционных систем

Рекомендуем похожие статьи

Зачастую возникают потребности изучения процесса загрузки операционной системы Windows на уровне исходного кода. Ну а тут уж без внесения изменений в код просто не обойтись.. и в этом самом месте нас ждет разочарование. Дело в том, что если вносить изменения в код модулей bootmgr, winload.exe и файлы драйверов, участвующих в процессе начальной загрузки, то процесс запуска операционной системы начинает «вылетать» с ошибками, «валиться» в синий экран и режим восстановления. Логично, ведь мы столкнулись с проверкой целостности bootmgr и winload, которая препятствует модификации исполняемых образов, задействованных в цепочке запуска. Подобный механизм впервые появился в линейке операционных систем Windows начиная с версии Vista и теперь приобрел перманентно-устойчивый вид. Для самописных драйверов разработчики оставили возможность загрузки в тестовом режиме (флаг TESTSIGNING), тем не менее остаются условия, при которых внесение изменений в код компонентов оканчивается отказом в запуске ОС. Исследователям архитектуры Windows этот факт существенно портит настроение, поэтому сегодня мы разберем несколько нестандартный метод отключения проверки целостности bootmgr и winload.

Для 32/64-битных версий Windows Vista/7/8 и далее есть вполне официальный способ отключения проверки проверки целостности драйверов режима загрузки, тем не менее иногда приходится работать с тестовыми (измененными) версиями некоторых загрузочных файлов, в этом случае требуется отключение вообще всех проверяющих механизмов.

Для подавления проверки целостности мы будем патчить код модулей таким образом, чтобы алгоритмы внутренних функций проверки хэшей файлов всегда выполнялись по ветвлению типовой (нормальной) загрузки. В качестве учебного материала статьи будет использована операционная система Windows 7 SP1 Professional RUS x86 в нормальном (legacy, PC/AT-MBR) режиме загрузки. Не смотря на то, что отключение проверки целостности в 32-битной системы имеет меньше смысла нежели в x64-версии, приведенное в данной статье решение является универсальным, поскольку логика работы внутренних функций проверки целостности аналогична (даже для режима загрузки UEFI), за исключением, разумеется, исходного кода.

Перед выполнением нижеприведенных действий не забудьте сделать резервные копии файлов:

  • %SystemRoot%\System32\Boot\Winload.exe;
  • %SystemRoot%\System32\Winload.exe;
  • Bootmgr (находящийся на скрытом системном разделе/разделе EFI);

Итак, нам потребуется:

  • Интерактивный дизассемблер IDA
  • Шестнадцатеричный редактор с возможностью поиска/замены шестнадцатеричных значений (ваш любимый)
  • Утилита bmzip
  • Утилита BOOTMGR Recompiler v2
  • PE-редактор LordPE

Bootmgr

В процессе загрузки операционной системы Windows, после окончания этапов MBR и PBR, управление передается на код менеджера загрузки Bootmgr. Что бы сам менеджер загрузки в случае модификации у нас не «брыкался» разнообразными ошибками контрольных сумм, нам требуется его пропатчить:

  • Для начала нам необходимо получить файл bootmgr со специального «скрытого» системного раздела. Метод описан в этой статье, тем не менее я приведу здесь краткую последовательность действий: запускаем оснастку Управление дисками, выделяем (маркируем) первый раздел диска (размер ~100-300Мб), щелкаем правой кнопкой мыши — выбираем пункт меню Изменить букву диска или путь к диску.. и назначаем литеру.
  • В системе появляется (становится доступен) новый диск. Открываем, настраиваем представление проводника на показ скрытых файлов, папок и дисков, отменяем сокрытие защищенных системных файлов.
  • В корне обнаруживаем сжатый файл Bootmgr.
  • Распаковываем его при помощи консольной утилиты bmzip (ссылка выше):

    bmzip bootmgr bootmgr.exe

    В целевом каталоге обнаруживаем новый только что распакованный файл bootmgr.exe.

  • Дизассемблируем полученный модуль bootmgr.exe при помощи IDA. Обязательно с работоспособной возможностью по выкачиванию символов с сервера Microsoft.
  • В интерфейсе IDA, идем в OptionsGeneral — вкладка Disassembly, выставляем значение параметра Number of opcode bytes в 8. Это нужно для отображения в листинге опкодов инструкций.
  • В основном окне дизассемблированного исходного кода откручиваем на начало листинга, ставим курсор в начало, затем жмем Alt+T и вводим в строку поиска ImgpValidateImageHash (можно без учета регистра символов), жмем OK.
  • Для дальнейшего поиска можно использовать комбинацию Ctrl+T. Перемещаясь по исходному коду находим точку входа функции (не путать с вызовами функции call _ImgpValidateImageHash)
  • Найдя таким образом функцию, перемещаемся в конец её кода и видим примерно следующее:

    . . .

    .text:00421ED9                     loc_421ED9:

    .text:00421ED9

    .text:00421ED9 8B C7                               mov     eax, edi

    .text:00421EDB 5F                                  pop     edi

    .text:00421EDC 5E                                  pop     esi

    .text:00421EDD 5B                                  pop     ebx

    .text:00421EDE 8B E5                               mov     esp, ebp

    .text:00421EE0 5D                                  pop     ebp

    .text:00421EE1 C2 10 00                            retn    10h

    .text:00421EE1                     _ImgpValidateImageHash@20 endp

    . . .

  • Функция ImgpValidateImageHash выполняет проверку контрольной суммы (хэш) загружаемых модулей. Для того, что бы обойти разнообразные проверки собственной целостности и загружаемого в дальнейшем модуля Winload.exe, необходимо заставить функцию возвращать нулевое значение (согласно соглашению о вызовах в регистре eax) в любой случае.
  • На данный момент в приведенном исходном коде мы можем наблюдать сигнатуру для поиска и замены:

    8B C7 5F 5E 5B 8B E5 5D C2 10 00

    Конкретно в вашем случае она может быть иной, поскольку все зависит от текущей ревизии файла bootmgr;

  • Скачиваем и запускаем шестнадцатеричный редактор. Открываем в нем наш файл bootmgr.exe.
  • Поиском по шестнадцатеричному значению находим сигнатуру. Нужно поменять найденный нами код так, что бы в регистре eax возвращалось значение 0. В оригинале мы видим команду mov eax, edi (опкоды 8B C7), которая выполняет присвоение eax=edi. Давайте заменим её на xor eax, eax (опкоды 33 C0), которая обнуляет регистр eax. Для этого в редакторе байты 8B C7 меняем на 33 C0. Сохраняем изменения, закрываем редактор.
  • Теперь нам необходимо преобразовать образ bootmgr.exe обратно в сжатый bootmgr. Для этого используем утилиту BOOTMGR Recompiler v2 (ссылка выше).
  • Помещаем получившийся сжатый файл bootmgr в корень скрытого раздела (который был у нас подмаплен в систему в начале). Атрибуты на скрытый менять не надо!

Winload.exe

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

Метод №1

  1. По вышеописанной методике ищем функцию ImgpValidateImageHash.
  2. В конце функции находим примерно такой вот фрагмент кода:

    . . .

    .text:00429812                     loc_429812:

    .text:00429812

    .text:00429812 8B 44 24 18                         mov     eax, [esp+70h+var_58]

    .text:00429816 5F                                  pop     edi

    .text:00429817 5E                                  pop     esi

    .text:00429818 5B                                  pop     ebx

    .text:00429819 8B E5                               mov     esp, ebp

    .text:0042981B 5D                                  pop     ebp

    .text:0042981C C2 10 00                            retn    10h

    .text:0042981C                     _ImgpValidateImageHash@20 endp

    . . .

  3. В шестнадцатеричном редакторе находим сигнатуру и меняем (выделены цветом) четыре байта 8B 44 24 18 на 33 C0 90 90, что будет эквивалентно серии команд:

Метод №2

  1. По вышеописанной методике ищем функцию OslInitializeCodeIntegrity.
  2. Смотрим точку входа функции:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    . . .

    .text:004045BE                     ; =============== S U B R O U T I N E =======================================

    .text:004045BE

    .text:004045BE                     ; Attributes: bp-based frame

    .text:004045BE

    .text:004045BE                     ; __stdcall OslInitializeCodeIntegrity(x)

    .text:004045BE                     _OslInitializeCodeIntegrity@4 proc near

    .text:004045BE

    .text:004045BE                     var_10          = dword ptr 10h

    .text:004045BE                     var_C           = dword ptr 0Ch

    .text:004045BE                     var_8           = dword ptr 8

    .text:004045BE                     var_2           = byte ptr 2

    .text:004045BE                     var_1           = byte ptr 1

    .text:004045BE                     arg_0           = dword ptr  8

    .text:004045BE

    .text:004045BE 8B FF                               mov     edi, edi

    .text:004045C0 55                                  push    ebp

    .text:004045C1 8B EC                               mov     ebp, esp

    .text:004045C3 83 EC 10                            sub     esp, 10h

    .text:004045C6 53                                  push    ebx

    .text:004045C7 56                                  push    esi

    .text:004045C8 57                                  push    edi

    . . .

  3. В шестнадцатеричном редакторе находим сигнатуру и меняем (выделены цветом) первые три байта 8B FF 55 на B0 01 C3, что будет эквивалентно серии команд:

Модификацию требуют два файла Winload.exe, находящиеся по путям: %SystemRoot%\System32\ и %SystemRoot%\System32\Boot\. Поэтому после модификации одного файла не забудьте обновить и второй.

Корректировка контрольной суммы файлов

Имеется еще один тонкий момент. Возьмите в привычку, что если вы модифицируете winload.exe или ntoskrnl.exe, или любой драйвер начальной загрузки, то после всех сделанных изменений не забудьте пересчитать и поменять контрольную сумму (поле Checksum заголовка PE). Осуществляется это посредством утилиты LordPE или любого аналогичного редактора PE-модулей. Причина простая: где-то в коде Winload.exe имеется еще одна проверка (которую я пока не смог обнаружить), которая верифицирует контрольную сумму модуля, и при несовпадении уходит на процесс восстановления системы.

Заключение

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

boot.ini В новых операционных системах Microsoft, начиная от Windows Vista, для хранения меню загрузки используется изменённый механизм. Теперь его нельзя отредактировать с помощью Блокнота, поскольку файл boot.ini, в котором ранее хранились все данные, просто отсутствует. Для изменения загрузочного меню Windows 7 / 10 / 8.1 можно использовать консольную программу bcdedit. C ней можно без всякого труда настроить все параметры загрузки системы, или восстановить повреждённые записи.

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

cmd-startОткроется новое окно, в котором нужно ввести ещё одну команду:

bcdedit

и нажать Enter. Перед вами отобразится список всех элементов загрузчика.
bcdeditБольшинство значений BCD (Boot Configuration Data, данные хранилища загрузки) записаны в фигурных скобках в виде {здесь параметр}. В скобки заключаются идентификаторы CLSID. Обычно это код, состоящий из букв и цифр, в виде {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. У некоторых идентификаторов достаточно понятные названия — к примеру {bootmgr}{default} и др.

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

  • default – ID операционной системы, которая загружается по умолчанию; если bcdedit работает в той ОС, которая загружается по умолчанию, то параметр default будет иметь значение {current}
  • description – название операционной системы, которое отображается в меню загрузки (например «Microsoft Windows 7»)”; 
  • displayorder – порядок в котором отображаются записи об операционных системах в меню загрузки; 
  • device – раздел диска, на котором располагаются файлы загрузки; 
  • locale – язык, используемый в основном либо дополнительном меню загрузки;
  • osdevice – раздел, где находятся системные файлы данной операционной системы; чаще всего в параметрах device и osdevice указано одно и то же значение; 
  • path – если в параметре device указан раздел диска с файлами ОС, то в параметре path располагается путь к загрузчику ОС;
  • timeout – время в секундах, по истечению которого автоматически начинается загрузка операционной системы.

Стоит отметить, что если к команде, выполняемой с помощью bcdedit, не добавлен параметр /set с соответствующим ID (идентификатором), то изменения, произведенные с помощью такой команды, будут применены к Диспетчеру загрузки Windows (Windows Boot Manager), а не к Загрузка Windows (Windows Boot Loader).

Чтобы предотвратить повреждение загрузчика, перед внесением изменений создайте его резервную копию. Создайте на диске C:\ папку с именем BootBackup (или любым другим). Выполните команду:

bcdedit /export С:\BootBackup\bcd

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

bcdedit /import С:\BootBackup\bcd

Работа с bcdedit

Предположим, что у вас есть  несколько записей в меню загрузки, которые имеют идентификаторы {ID1}{ID2}{ID3}.

КАК ИЗМЕНИТЬ ОПЕРАЦИОННУЮ СИСТЕМУ, ЗАГРУЖАЕМУЮ ПО УМОЛЧАНИЮ

Укажите значение /default и идентификатор ОС, что будет загружаться по умолчанию. Например для ОС с идентификатором {ID2} команда будет выглядеть так:

bcdedit /default {ID2}

Теперь ОС с {ID2} будет сверху в меню загрузки.

КАК ИЗМЕНИТЬ РАЗМЕЩЕНИЕ ЗАПИСЕЙ В МЕНЮ ЗАГРУЗКИ

Записи можно перемещать несколькими способами.

Делаем запись первой в списке:

bcdedit /displayorder {ID} /addfirst

Делаем запись последней в списке:

bcdedit /displayorder {ID} /addlast

Указываем точный порядок записей:

bcdedit /displayorder {ID2} {ID3} {ID1}

КАК ИЗМЕНИТЬ ЗНАЧЕНИЕ ЗАДЕРЖКИ ЗАГРУЗКИ

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

bcdedit /timeout SS

где SS – время в секундах.

КАК ИЗМЕНИТЬ ЯЗЫК МЕНЕДЖЕРА ЗАГРУЗКИ

Используйте следующую команду:

bcdedit /set {bootmgr} locale ru_RU

Так мы выбираем русский язык, указывая нужное значение, вместо ru_RU для русского можно указать en_US для английского языка и так далее.

КАК ИЗМЕНИТЬ ЯЗЫК ДОПОЛНИТЕЛЬНОГО МЕНЮ ЗАГРУЗКИ

Дополнительное меню загрузки вызывается нажатием клавиши <F8>. Бывает так, что это меню становится английским, хотя мы ранее и выбрали русский. Это легко исправить:

bcdboot %Windir% /l ru_RU

Аналогичным образом вместо ru_RU можно указать en_US или обозначение любого другого языка.

КАК ИЗМЕНИТЬ НАЗВАНИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ В МЕНЮ ЗАГРУЗКИ

Самая интересная возможность – ввести свое название для операционной системы, отображаемое в меню загрузки.
Кроме того, так можно изменить название ОС, работа которой была восстановлена через среды восстановления. У таких ОС в меню загрузки появляется надпись “восстановлено”. Любое название можно ввести такой командой:

bcdedit /set {ID} description "Выбранное название"

К примеру:

bcdedit /set {ntldr} description "Windows XP Профессиональная SP3"
bcdedit /set {current} description "Microsoft Windows 7 Corporate x32"

КАК ИЗМЕНИТЬ БУКВУ РАЗДЕЛА, ГДЕ НАХОДИТСЯ ПАПКА ОС И ЗАГРУЗОЧНЫЕ ФАЙЛЫ

bcdedit /set {ID} device partition=буква_диска:
bcdedit /set {ID} osdevice partition=буква_диска:

Вместо буквы диска подставьте нужную, допустим C или D:

bcdedit /set {bootmgr} osdevice partition=С:

КАК ДОБАВИТЬ НОВУЮ ОПЕРАЦИОННУЮ СИСТЕМУ В МЕНЮ ЗАГРУЗКИ

1. Для начала копируем ту запись, что уже есть, присвоив ей новое название:

bcdedit /copy {current} /d "Microsoft Windows Vista"

Появится сообщение “Запись успешно скопирована в {хххххххх-хххх-хххх-хххх-хххххххххххх}”.
2. Указываем для параметров device и osdevice новые значения (для новой ОС, добавляемой в меню загрузки):

bcdedit /set {хххххххх-хххх-хххх-хххх-хххххххххххх} device partition=D:
bcdedit /set {хххххххх-хххх-хххх-хххх-хххххххххххх} osdevice partition=D:

Вместо D: можно указать другую букву диска. Вместо кучи крестиков введите идентификатор {ID}, полученный на этапе 1.
3. Добавим новую запись в меню загрузки:

bcdedit /displayorder {хххххххх-хххх-хххх-хххх-хххххххххххх} /addfirst

Запись появится в начале списка (или используйте /addlast, чтобы она появилась в конце списка).

КАК УДАЛИТЬ ЗАПИСЬ ОБ ОПЕРАЦИОННОЙ СИСТЕМЕ ИЗ МЕНЕДЖЕРА ЗАГРУЗКИ И BCD

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

bcdedit /delete {ID}

Если в качестве {ID} указывается готовая запись, скажем, {ntldr}, то вам понадобится дополнительно использовать ключ /f.

Введение

В этой статье мне хотелось бы обобщить способы редактирования меню загрузки операционных систем на основе данных хранилища загрузки (Boot Configuration Data – BCD), которое используется в операционных системах Microsoft, начиная от Windows Vista.
Его невозможно отредактировать с помощью текстового редактора, как это можно было сделать с boot.ini в Windows XP.
Для редактирования BCD служит консольная утилита bcdedit.exe, находящейся в системной папке Windows\System32. Работа с ней возможна только в командной строке, запущенной с правами администратора, а также в командной строке среды восстановления.

Редактирование меню загрузки с помощью средства «Конфигурация системы»

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

Данный инструмент дает возможность:

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

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

Для изменения системы, загружаемой по умолчанию, выберите в поле списка запись о нужной операционной системе и нажмите кнопку «Загружать по умолчанию». В результате выполненной операции справа от названия появится соответствующий комментарий.

Редактирование таймаута труда не составляет: в нужном поле нужно установить желаемое количество секунд.

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

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

С помощью данного инструмента нельзя:

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

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

Редактирование меню загрузки с помощью окна «Загрузка операционной системы»

Открыть окно «Загрузка операционной системы» можно так: Пуск – «Панель управления\Все элементы панели управления\Система» или, если включено отображение элементов управления Панели инструментов по категориям: «Панель управления\Система и безопасность\Система». Далее: «Дополнительные параметры системы», в открывшемся окне перейдите на вкладку «Дополнительно». Также можете воспользоваться возможностями поиска Windows 7 и в поле поиска написать «Расш», в открывшемся списке выбрать «Просмотр расширенных параметров системы». В рамке «Загрузка и восстановление» нажмите кнопку «Параметры». Нас будет интересовать верхняя часть окна: «Загрузка».

С помощью данного окна вы сможете:

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

Как мы видим, данный инструмент не особо отличается от предыдущего, за исключением нескольких деталей. И если в Windows XP была кнопка «Правка», нажав на которую пользователь имел возможность самостоятельно править загрузочное меню, то, начиная с Windows Vista, такой простой способ отсутствует. С помощью данного меню вам так же недоступны функции удаления записей из меню загрузки, их переименование, изменение их положения и удаление.

Редактирование меню загрузки с помощью bcdedit.exe

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

Создайте на любом из разделов папку для резервной копии. Назовите ее BCDREZ. Выполните:

bcdedit /export X:\BCDREZ\bcd

где X — буква раздела с находящейся на нем папкой BCDREZ.

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

bcdedit /import X:\BCDREZ\bcd

Анализ данных и параметры хранилища загрузки

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

bcdedit

Некоторые значения параметров BCD записаны в фигурных скобках – {}. Это идентификаторы – ID. Любой идентификатор имеет буквенно-цифровой код вида {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. Стандартные идентификаторы имеют названия, например: {default}, {bootmgr}, {ntldr} и так далее.

Остановимся на параметрах, которые нас интересуют:

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

Это, конечно, далеко не полный, но, в рамках данной статьи, вполне достаточный перечень.

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

Прежде чем продолжить, допустим, что наше меню загрузки содержит три записи с идентификаторами {ID1}, {ID2}, {ID3}.

Назначение системы, загружаемой по умолчанию

Здесь все просто – в зависимости от того, какую систему мы хотим загружать по умолчанию, ID той системы и пишем в команде. Например, для системы с ID2 команда:

bcdedit /default {ID2}

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

Изменение расположения записей в меню загрузки

Существует 3 способа изменить расположение записей:

bcdedit /displayorder {ID} /addlast
bcdedit /displayorder {ID} /addfirst
bcdedit /displayorder {ID3} {ID1} {ID2}
  1. использовать команду для перемещения выбранной записи вниз списка:
  2. использовать команду для перемещения выбранной записи вверх списка:
  3. использовать команду для формирования меню в выбранном порядке:

Изменение таймаута

bcdedit /timeout XX

где XX – время в секундах.

Изменение языка диспетчера загрузки

bcdedit /set locale ln-Ln

где ln-Ln – выбранное обозначение языка. Для русского – это ru-Ru, для английского – en-Us, для немецкого – de-De, для украинского – uk-UA и т.д.

Здесь нужно сделать оговорку. После операции восстановления запуска параметры диспетчера загрузки становятся англоязычными, несмотря на то, что значение параметра locale не изменяется. Как исправить ситуацию, смотрите здесь.

Перед тем как перенести статью с OsZone.net я посмотрел информацию по этому вопросу в Интернете. Во многих статьях, скопированных однажды с одного источника, допущена ошибка: вместо, например, ru-RU используется ru_RU, то есть вместо тире (-) — нижнее подчеркивание (_). Это неправильно.

Удаление записи о загрузке системы

bcdedit /displayorder {ID2} /remove

Эту команду лучше использовать для временного исключения записи загрузки из меню. При выполнении этой команды запись о параметрах выбранной системы не удаляется из BCD и при необходимости может быть восстановлена любой из вышеназванных команд bcdedit /displayorder.

Работа с записями операционных систем в BCD

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

Изменение названия загружаемой системы

Такая необходимость обычно возникает после использования среды восстановления, когда после названия операционной системы появляется дописка — (восстановлено), или когда хочется исправить «Предыдущая версия Windows» на более понятное «Windows XP».

Команда:

bcdedit /set {ID} description "Новое название"

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

bcdedit /set {ID} device partition=X:
bcdedit /set {ID} osdevice partition=X:

где X – буква раздела жесткого диска.

Как правило значения device и osdevice совпадают.

Изменение языка меню дополнительных вариантов загрузки

Для изменения языка меню дополнительных вариантов загрузки (при нажатии F8 после наведения на строку меню с нужной операционной системой) выполните команду с указанием ID операционной системы:

bcdedit /set {ID} locale ln-Ln

что такое ln-Ln – описано выше.

Добавление записей операционных систем в BCD и меню загрузки

Вариантов для выполнения этой процедуры много, но остановимся на самых популярных или нетрудоемких. Если добавляемая система – Windows Vista или Windows 7 можно автоматизировать процесс, воспользовавшись средой восстановления и одной из ее опций – «восстановление запуска». В этом случае в BCD будет создана новая запись о загрузке и добавлен пункт меню в диспетчер загрузки. Такой же эффект вы получите при использовании команды:

bootrec /rebuildbcd

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

Добавление записи загрузки Windows XP

bcdedit /create {ntldr} /d "Microsoft Windows XP"
bcdedit /set {ntldr} device partition=C:
bcdedit /set {ntldr} path \ntldr
bcdedit /displayorder {ntldr} /addlast

Добавление записи загрузки Windows Vista и выше

Можно воспользоваться методом, описанным выше, то есть начать с команды:

bcdedit /create /d " Microsoft Windows Vista " /application OSLOADER

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

bcdedit /copy {current} /d "Microsoft Windows Vista"

в результате выполнения команды вы получите сообщение «Запись успешно скопирована в {хххххххх-хххх-хххх-хххх-хххххххххххх}». Далее выполните:

bcdedit /set {хххххххх-хххх-хххх-хххх-хххххххххххх} device partition=X:
bcdedit /set {хххххххх-хххх-хххх-хххх-хххххххххххх} osdevice partition=X:

где X – буква раздела, на котором находится операционная система. Код, который обозначен крестиками, вводите внимательно, а лучше скопируйте и вставляйте в команды с помощью правой кнопки мыши. Наконец, выполните команду, добавляющую новую запись в диспетчер загрузки:

bcdedit /displayorder {хххххххх-хххх-хххх-хххх-хххххххххххх} /addlast

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

Добавление записи загрузки операционной системы с виртуального жесткого диска

Если вы установили Windows 7 на виртуальный жесткий диск и хотите добавить запись в диспетчер загрузки, воспользуйтесь способом, описанным выше, но с учетом особенностей загрузки с VHD. Полученный после выполнения команды bcdedit /copy… буквенно-цифровой код в командах обозначен как {ID}:

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
bcdedit /displayorder {ID} /addlast

где [X:]\DIR\filename.vhd – полный путь к файлу VHD и указание имени файла.

Удаление записи загрузки системы из BCD и диспетчера загрузки

Удаление записи об установленной операционной системе из BCD и диспетчера загрузки выполняется с помощью команды

bcdedit /delete {ID}

Есть особенность выполнения команды: если в качестве ID указывается известная запись, например {ntldr}, то команда должна выполняться с ключом /f:

bcdedit /delete {ntldr} /f

Если же ID записывается в буквенно-цифровом коде, ключ /f не нужен. При выполнении этой команды данные об удаляемой операционной системе удаляются и из BCD, и из диспетчера загрузки. В этом ее основное отличие от команды

bcdedit /displayorder {ID} /remove

Заключение

Управление загрузкой Windows Vista, Windows 7 и Windows 8 отличается от того, которое использовалось в Windows XP/2000. Некоторые параметры меню загрузки можно изменить в графическом интерфейсе операционной системы, но наибольшие возможности предоставляет утилита командной строки bcdedit.exe. Дополнительную информацию о возможностях программы, командах и параметрах можно получить из встроенной справки: bcdedit /?

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

  • Изменение переключения раскладки клавиатуры windows 10
  • Изменение назначения клавиш клавиатуры windows 10
  • Изменение прав доступа к папке windows 10
  • Изменение параметров загрузки windows для windows 7 noexecute
  • Изменение меню пуск в windows 10 под windows 7