Загрузчик ОС Windows Vista/7 Каждый пользователь Windows Vista или Windows 7 знает, что в новые версии Windows внесены существенные изменения. Одно из них — способ управления загрузчиком Windows, программой, которая обеспечивает хранение более одной операционной системы на диске и позволяет настроить метод загрузки Windows. Соответственно появился и новый инструмент, Bcdedit, освоить который должен каждый системный администратор. До появления Vista порядком и параметрами загрузки можно было управлять, изменяя текстовый файл boot.ini в корневом каталоге диска C. Чтобы изменить поведение загрузчика в операционных системах, предшествующих Vista, достаточно программы Notepad и умения снять защиту с файла boot.ini, помеченного «только для чтения». Разработчики Microsoft заменили boot.ini двоичным файлом, именуемым BCD, который находится в скрытой системной папке с именем Boot, на диске, с которого загружается операционная система. Windows Vista больше не использует файл boot.ini и все сведения о загрузочном меню хранит в реестре. С помощью Bcdedit вы можете как редактировать текущие элементы загрузочного меню, так и создавать новые. Особенно это необходимо при установке на компьютер нескольких версий операционной системы Windows Vista/7 — в этом случае в списке загрузочного меню все они будут иметь название Microsoft Windows, и будет довольно трудно понять, какая именно версия операционной системы скрывается за конкретным элементом списка загрузочного меню. Воспользоваться программой bcdedit можно только в том случае, если вы зайдете в систему под учетной записью администратора. В противном случае вы не сможете запустить программу bcdedit. Чтобы заново не входить в систему под учетной записью администратора, можно просто запустить командный интерпретатор cmd.exe от его имени. Для этого достаточно воспользоваться следующими способами: командой runas /user:administrator cmd.exe; командой ЗАПУСК ОТ ИМЕНИ АДМИНИСТРАТОРА контекстного меню файла программы cmd.exe (если вы не видите такой команды, тогда попробуйте открыть контекстное меню файл с зажатой клавишей SHIFT); запустив программу cmd.exe c зажатыми клавишами SHIFT и CTRL. При запуске программы Bcdedit без параметров отобразится текущая структура загрузочного меню. Иногда это бывает очень полезно. Например, в листинге ниже представлен пример части отображаемого после запуска программы bcdedit.exe без параметров загрузочного меню. Листинг. Пример вывода содержимого загрузочного меню командой bcdedit Диспетчер загрузки Windows -------------------идентификатор {bootmgr} device partition=G: description Windows Boot Manager locale ru-RU inherit {globalsettings} default {current} resumeobject {39560615-df6b-11e6-b97b-e0a722fa6b15} displayorder {ntldr} {current} toolsdisplayorder timeout {memdiag} 3 Загрузчик прежних версий ОС Windows -----------------------идентификатор {ntldr} device partition=G: path \ntldr description MY XP Загрузка Windows ------------------идентификатор device path description locale inherit osdevice systemroot resumeobject nx quietboot {current} partition=C: \Windows\system32\winload.exe Microsoft Windows Vista en-US {bootloadersettings} partition=C: \Windows {39560615-df6b-11e6-b97b-e0a722fa6b15} OptIn Yes Содержимое нового загрузочного меню Windows Vista отображается в виде блоков, каждый из которых определяет настройки одной операционной системы, которую можно запустить с помощью загрузочного меню Windows Vista. Первыми, как можно заметить из листинга, сначала bcdedit отображает сведения о настройке самого загрузочного меню (блок данных, Диспетчер загрузки Windows, Windows Boot Manager), а потом сведения об элементе элементах этого меню. Причем сведения об элементе списка меню , с помощью которого можно отобразить меню для выбора установленных операционных систем, отображаются первыми (блок данных, Загрузчик прежних версий ОС Windows, Windows Legacy, OS Loader), а потом уже сведения об остальных элементах меню (блоки данных под заголовками Microsoft Windows Vista, Windows Boot Loader). Под элементом понимается любая запись в загрузочном меню Windows Vista, с помощью которой можно загрузить операционную систему либо запустить одну из программ поддержки. Также под элементом мы будем понимать само загрузочное меню (при указании его настроек). Каждый блок загрузочного меню описывает определенные настройки в виде <атрибут> <значение>. Существует множество атрибутов, которые могут отображаться в блоках загрузочного меню, и, как правило, название атрибута в блоке соответствует названию опции, которую нужно указывать в команде bcdedit.exe, чтобы изменить значение соответствующего атрибута. В таблице ниже представлены названия основных атрибутов, перечень блоков загрузочного меню, в которых они могут применяться, их описание, а также значения, которые они могут принимать. Таблица. Описание атрибутов загрузочного меню Windows Vista Идентификатор Все Идентифицирует элемент загрузочного меню. Значение указывается в виде GUID-номера (генерируется при создании элемента). Кроме того, существует несколько предопределенных идентификаторов, которые имеют символьные Device Все Description Path Locale Все Загрузчик прежних версий ОС Windows, Загрузка Windows Все Inherit Все Osdevice Загрузка Windows Systemroot Загрузка Windows resumeobject Все Default Диспетчер загрузки Windows Диспетчер загрузки Windows toolsdisplayorder Диспетчер загрузки Windows Displayorder Timeout Диспетчер загрузки Windows названия. Например, {current} (система, которая загружена в данный момент), {default} (система, загружаемая по умолчанию), {ntldr}(предыдущие версии Windows), {bootmgr} (параметры самого загрузочного меню), {memdiag} (элемент загрузочного меню, с помощью которого можно выполнить диагностику состояния оперативной памяти компьютера). Буква раздела, на котором находится папка Windows (для элемента, описывающего Windows), либо папка boot (для элемента, описывающего загрузочное меню). Как правило, значение указывается в формате partition=<буква диска>:. Название элемента, отображаемое в загрузочном меню. Путь к загрузчику операционной системы. Как правило, значение данного параметра для операционной системы Windows Vista равно \Windows\system32\winload.exe. Значение же данного параметра для блока, запускающего загрузчик предыдущих версий Windows, равно \ntldr. Используемый системой или самим загрузочным меню язык отображения интерфейса (локализацию). Идентификатор элемента загрузочного меню, от которого данный элемент наследует настройки. Буква системного раздела для данной системы. Как правило, значение указывается в формате partition=<буква диска>:. Каталог, в котором находятся системные файлы данной Windows (без буквы раздела). Как правило, значение атрибута равно \Windows. GUID-номер объекта возобновления, связанного с данным элементом загрузочного меню. Идентификатор элемента загрузочного меню, содержащего описание системы, загружаемой по умолчанию. По умолчанию загружается последняя установленная вами операционная система Windows Vista. Порядок расположения элементов загрузочного меню, содержащих описание операционных систем, которые можно загрузить. Порядок расположения элементов, содержащих описание программ поддержки, которые можно запустить из загрузочного меню. По умолчанию вам доступна только одна программа поддержки — программа диагностики состояния оперативной памяти. Интервал (в секундах) бездействия пользователя во время отображения загрузочного меню Windows, по истечении которого будет загружена система по умолчанию. Вопросы 1. Каким образом можно изменить порядок загрузки операционных систем с помощью ВИЗУАЛЬНЫХ средств Windows Vista/7? 2. Что такое хранилище? Назовите виды хранилищ? Что такое отдельная запись? 3. Запустите в консоли справку Bcdedit. Изучите параметры утилиты Bcdedit для работы: с хранилищем (/createstore, /export, /import) отображением элементов хранилища (/displayorder) с отдельной записью (/copy, /store, /create, /delete, /enum) 4. Приведите пример файла BCD для операционных систем Windows 7 и Windows Vista, где по умолчанию загружается Windows 7. Напишите команды для изменения последовательности загрузки.