Читать книгу Windows Vista. Для профессионалов - Роман Клименко - Страница 33

Глава 2
Установка Windows Vista
2.3. Дополнительные работы после установки
Настройка загрузочного меню

Оглавление

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

Рис. 2.8. Новое загрузочное меню Windows Vista


Если вы устанавливали Windows Vista на компьютер, уже имеющий несколько других установленных операционных систем, то не ужасайтесь – к ним по-прежнему можно будет получить доступ, если выбрать элемент Earlier version of Windows загрузочного меню. После выбора данного элемента будет выполнена обработка файла boot. ini, который как раз и содержал ранее загрузочное меню. Сама же операционная система Windows Vista больше не использует файл boot. ini и все сведения о загрузочном меню хранит в реестре. Единственным способом получения доступа к ним является программа командной строки bcdedit.ехе. С ее помощью вы можете как редактировать текущие элементы загрузочного меню, так и создавать новые. Особенно это необходимо при установке на компьютер нескольких версий операционной системы Windows Vista – в этом случае в списке загрузочного меню все они будут иметь название Microsoft Windows, и будет довольно трудно понять, какая именно версия операционной системы скрывается за конкретным пунктом списка загрузочного меню.

Программа bcdedit.exe

В качестве примера рассмотрим некоторые команды bcdedit.ехе, которые могут вам понадобиться. Например, если вы просто введете в командной строке cmd.ехе строку bcdedit, то сможете просмотреть текущее содержимое загрузочного меню Windows (для примера выводимых данных посмотрите листинг 2.1). При этом следует заметить, что вы сможете воспользоваться программой bcdedit, только если зайдете в систему под учетной записью Администратор. В противном случае вы не сможете запустить программу bcdedit. Чтобы заново не входить в систему под учетной записью администратора, можно просто запустить командный интерпретатор cmd.ехе от его имени. Для этого достаточно воспользоваться командой runas /user: administrator cmd.ехе. Система попросит вас ввести пароль для учетной записи администратора, после чего отобразится окно cmd.ехе, и вы сможете воспользоваться программой bcdedit.ехе.

Листинг 2.1. Пример вывода содержимого загрузочного меню командой bcdedit Windows Boot Manager

identifier {bootmgr}

device partition=D:

description Windows Boot Manager


locale en-US

inherit {globalsettings}

default {default}

resumeobject {50c73d4d-e6b3-11da-bc73-d30cdb1ce216}

displayorder {ntldr}

{default}

{current}

toolsdisplayorder {memdiag}

timeout 30

Windows Legacy OS Loader

identifier {ntldr}

device partition=D:

path \ntldr

description Earlier version of Windows

Windows Boot Loader

identifier {default}

device partition=F:

path \Windows\system32\winload.exe

description Microsoft Windows

locale en-US

inherit {bootloadersettings}

osdevice partition=F:

systemroot \Windows

resumeobject {50c73d4d-e6b3-11da-bc73-d30cdb1ce216}

nx OptIn

Windows Boot Loader

identifier {current}

device partition=C:

path \Windows\system32\winload.exe

description Windows (TM) Vista Ultimate (recovered)

osdevice partition=C:

systemroot \Windows

resumeobject {5f951ca4-31a7-11db-8615-806e6f6e6963}

Как можно заметить из листинга 2.1, сначала bcdedit отображает сведения о настройке самого загрузочного меню (блок данных Windows Boot Manager), а потом сведения об элементах этого меню. Причем сведения об элементе списка, с помощью которого можно отобразить меню для выбора ранее установленных операционных систем (то есть для загрузки содержимого файла boot. ini), отображаются первыми (блок данных Windows Legacy OS Loader), а потом уже сведения об остальных элементах меню (блоки данных под заголовками Windows Boot Loader).

Отображаемые сведения о загрузочных разделах

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

• identifier – определяет идентификатор элемента загрузочного меню и может принимать следующие значения:

– {current} – говорит о том, что операционная система, определяемая этим элементом меню, загружена в данный момент;

– {default} – означает, что операционная система, определяемая этим элементом меню, загружается по умолчанию;

– {ntldr} – определяет элемент загрузочного меню, с помощью которого можно загрузить содержимое файла boot. ini (фактически определяет название файла ntldr, расположенного на системном диске, который раньше применялся в качестве загрузчика);

– {bootmgr} – данный идентификатор говорит о том, что этот блок данных определяет параметры самого загрузочного меню (фактически определяет название файла bootmgr, расположенного на системном диске, который применяется в качестве загрузчика для операционной системы Windows Vista);

– {memdiag} – определяет элемент загрузочного меню, с помощью которого можно выполнить диагностику состояния оперативной памяти компьютера;

– {CLSID-номер элемента меню} – данный идентификатор присваивается элементу загрузочного меню, если ни один из предыдущих идентификаторов ему не подходит.

Примечание

Это не полный список доступных значений поля identifier. Чтобы просмотреть полный список, воспользуйтесь командой bcdedit —? ID.

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

• path – если device определял раздел диска, который содержит файлы операционной системы, то это поле определяет остальной путь к загрузчику операционной системы Windows Vista (в Windows Vista он называется winload.ехе) или к старому загрузчику ntldr.

• description – определяет название элемента загрузочного меню.

• osdevice – определяет раздел диска (букву диска), который включает в себя системные файлы операционной системы. Как правило, в Windows Vista данное поле соответствует полю device.

• systemroot – определяет папку, содержащую системные файлы операционной системы.

• locale – определяет язык операционной системы.

• displayorder – определяет порядок расположения элементов загрузочного меню и присутствует только в блоке данных Windows Boot Manager. Обратите внимание, что порядок расположения определяется на основе поля identifier.

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

• nx – определяет используемый операционной системой вариант работы механизма DEP.

Основные команды программы bcdedit.exe

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

Экспорт и импорт загрузочного меню. Самой первой командой, которой желательно воспользоваться, является команда bcdedit /export <путь к файлу и его название без расширениях С ее помощью вы создаете копию загрузочного меню, которую потом сможете использовать для его восстановления, если нечаянно испортите текущее загрузочное меню. После выполнения экспортирования загрузочного меню в указанном вами каталоге будут созданы два файла – один с расширением LOG, а другой вообще без расширения. Файл без расширения как раз и хранит сведения о загрузочном меню. По сути, данный файл является просто разделом реестра и с помощью команды Файл → Загрузить куст редактора реестра regedit.ехе вы сможете загрузить его в реестр и просмотреть содержимое.

Для восстановления загрузочного меню из экспортированного файла достаточно воспользоваться командой bcdedit /import <путь к файлу и его название без расширениях

Переименование элементов загрузочного меню. Итак, мы хотели переименовать какой-нибудь элемент загрузочного меню. Для этого нужно воспользоваться командой вида bcdedit /set [содержимое поля identifier данного элемента меню] description <новое название элемента меню>. Если вы не укажете содержимое поля identifier, то будет переименован элемент меню, имеющий значение {current} поля identifier. Например, bcdedit /set description «Vista Build 5384» или bcdedit /set {default} description «Vista Build 5384 (TEST)».

Обратите внимание на то, что в предыдущей команде после содержимого поля identifier идет ключевое слово description. Если еще раз перечитать описание вывода команды bcdedit, то можно заметить, что такое же слово встречается среди полей блоков данных (см. листинг 2.1). Это не просто совпадение – именно название поля и нужно указывать в данной команде. Например, вы можете изменить значение поля systemroot с помощью команды bcdedit /set "содержимое поля identifier данного элемента меню] systemroot <новый каталог, содержащий файлы Windows>.

Изменение запускаемой по умолчанию операционной системы и таймаута. Еще одной возможностью, которая может вам пригодиться, является изменение операционной системы, запускаемой по умолчанию. Для этого нужно воспользоваться командой bcdedit /default <содержимое поля identifier данного элемента меню>. Например, команда bcdedit /default {ntldr} устанавливает по умолчанию загрузку файла boot. ini для выбора операционной системы более ранней версии, чем Windows Vista.

Можно также изменить время ожидания выбора операционной системы пользователем (содержимое поля timeout блока данных Windows Boot Manager). Для этого нужно воспользоваться командой bcdedit /timeout <новое время ожидания в секундах>.

Удаление и создание элемента загрузочного меню. Если же вы хотите удалить какой-либо элемент загрузочного меню, то это можно сделать с помощью команды bcdedit /delete <содержимое поля identifier данного элемента меню>. Например, чтобы удалить элемент Microsoft Windows из загрузочного меню (см. листинг 2.1), нужно воспользоваться командой bcdedit /delete {default}.

Естественно, что, кроме удаления элемента загрузочного меню, вы можете создать свой элемент меню. Проще всего для этого выполнить копирование уже существующего элемента меню. Чтобы это сделать, нужно воспользоваться командой bcdedit /сору <содержимое поля identifier элемента меню, который вы будете копировать> /d <значение поля description нового элемента загрузочного меню>.

Изменение порядка загрузочного меню. И последней командой, которую мы рассмотрим, будет команда изменения порядка отображения элементов загрузочного меню Windows Vista: bcdedit /displayorder <дальнейшие параметры>. Она имеет несколько разновидностей, поэтому рассмотрим каждую из них отдельно.

• bcdedit /displayorder <содержимое поля identifier 1> <содержимое поля identifier 2>… <содержимое поля identifier N> – с помощью данной команды вы полностью изменяете порядок отображения элементов загрузочного меню. Например, bcdedit /displayorder {current} {default} {ntldr}.

• bcdedit /displayorder <содержимое поля identifier> /addfirst – команда перемещает на первое место загрузочного меню элемент с указанным значением поля identif ier. Например, bcdedit /displayorder {ntldr} /addf irst.

• bcdedit /displayorder <содержимое поля identifier> /addlast – перемещает на последнее место загрузочного меню элемент с указанным значением поля identifier.

• bcdedit /displayorder <содержимое поля identifier> /remove – команда удаляет из загрузочного меню элемент с указанным значением поля identifier.

Дополнительные параметры команды bcdedit.exe

В общем, вы поняли принцип работы с программой bcdedit.ехе, а теперь вкратце опишу остальные команды этой программы, которые вам могут понадобиться.

• /enum – отображает настройки элемента меню, содержимое поля identifier которого указано в параметре команды. Фактически команда выводит сведения о конкретном блоке данных, также отображаемые при вводе команды bcdedit без параметров. Однако с помощью данной команды можно просмотреть сведения о любом идентификаторе, даже если он не отображается в загрузочном меню. Например, об идентификаторе {memdiag} или {dbgsettings}.

• /create – позволяет создать новый элемент загрузочного меню.

• /toolsdisplayorder – дает возможность изменять последовательность отображения элементов нижнего загрузочного меню (по умолчанию в нем используется только один элемент – Windows Memory Diagnostic). Параметры данной команды аналогичны параметрам команды /displayorder.

Более подробную информацию о командах можно просмотреть, воспользовавшись синтаксисом вида bcdedit <команда> —?.

Примечание

На сайте компании Microsoft можно найти файл BCD.doc, содержащий описание работы с новым загрузочным меню (на английском языке). Если эта информация вам интересна, то попытайтесь воспользоваться ссылкой http://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/BCD.doc.

Классы репозитария CIM

Работать с новым загрузочным меню операционной системы Windows Vista можно и с помощью набора новых классов, хранящихся в пространстве имен \ \. \root\wmi. Непосредственно к свойствам описанных ниже классов обратиться нельзя, однако можно выполнять методы данных классов – результаты некоторых из них возвращают экземпляры на другие классы, свойства которых разрешено модифицировать.

Примечание

В книге предполагается, что вы уже имеете представление о WMI и репозитарии CIM. Если это не так, то в приложении 2 описаны некоторые примеры работы с пространствами имен, классами и их свойствами и методами.

Класс BcdStore

Данный класс представляет собой коллекцию объектов загрузочного меню. Он поддерживает одно свойство, доступное только для чтения, – FilePath, тип: string. Свойство является ключевым. Оно уникально идентифицирует путь к объекту.

Класс также поддерживает следующие методы.

• CopyObject – копирует объект.

Входящие параметры.

– Строковый параметр, определяющий файл загрузочного меню.

– Строковый параметр, определяющий идентификатор загрузочного меню.

– Флаг копирования. Имеет тип uint32. Если значение флага равно 1, то будет создан новый идентификатор для копируемого объекта. Если значение флага равно 2, то существующий объект будет удален. Если же значение данного флага равно 3, то существующий объект будет удален, а создаваемому объекту будет присвоен новый идентификатор.

Возвращаемый параметр: указатель на класс BcdObject.

• CopyObjects – копирует несколько объектов.

Входящие параметры.

– Первый – строковый – параметр, определяющий файл загрузочного меню.

– Второй параметр определяет тип объекта. Он имеет тип uint32.

– Флаги копирования. Имеет тип uint32. Если значение флага равно 1, то будет создан новый идентификатор для копируемого объекта. Если значение флага равно 2, то существующий объект будет удален. Если же значение данного флага равно 3, то существующий объект будет удален, а создаваемому объекту будет присвоен новый идентификатор.

Возвращаемый параметр: строковый.

• CreateObject – создает объект.

Входящие параметры.

– Строковый параметр, определяющий идентификатор объекта.

– Второй параметр определяет тип объекта. Он имеет тип uint32.

Возвращаемый параметр: указатель на класс BcdObject.

• CreateStore – создает новую коллекцию объектов (загрузочное меню). Входящий параметр: строковый параметр, определяющий путь к файлу. Возвращаемый параметр: указатель на класс BcdStore.

• DeleteObject – удаляет объект.

Входящий параметр: строковый параметр, определяющий идентификатор объекта.

Возвращаемые параметры: нет.

• DeleteSystemStore – удаляет основную коллекцию объектов загрузочного меню.

Входящие параметры: нет.

Возвращаемые параметры: нет.

• EnumerateOb j ects – возвращает пути ко всем объектам, находящимся в данном хранилище объектов загрузочного меню.

Входящий параметр: определяет тип объекта. Он имеет тип uint32.

Возвращаемый параметр: массив указателей на класс BcdObject.

• ExportStore – выполняет экспорт содержимого загрузочного меню в файл.

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

Возвращаемые параметры: нет.

• GetSystemDisk – возвращает название системного раздела.

Входящий параметр: строковый параметр, который содержит название системного раздела.

Возвращаемые параметры: нет.

• GetSystemPartition – возвращает номер партиции, которая соответствует системному разделу.

Входящие параметры: нет.

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

• ImportStore – импортирует загрузочное меню из файла.

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

Возвращаемые параметры: нет.

• OpenObject – возвращает указатель на класс BcdOb j ect, хранящий сведения о данном объекте.

Входящий параметр: строковый параметр, определяющий идентификатор объекта.

Возвращаемый параметр: указатель на класс BcdObject.

• OpenStore – открывает хранилище объектов загрузочного меню.

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

Возвращаемый параметр: указатель на класс BcdStore.


Класс BcdObject

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

• Id, тип: string – свойство является ключевым. Оно определяет CLSID-номер, уникально идентифицирующий объект.

• StoreFilePath, тип: string – является ключевым. Оно определяет путь к хранилищу, содержащему данный объект.

• Туре, тип: uint32 – определяет тип объекта.

Класс также поддерживает следующие методы.

• DeleteElement – удаляет элемент.

Входящий параметр: данный параметр определяет тип объекта. Он имеет тип uint32.

Возвращаемые параметры: нет.

• EnumerateElements – отображает список доступных элементов загрузочного меню.

Входящие параметры: нет.

Возвращаемый параметр: массив элементов, представленных указателями на класс BcdElement.

• EnumerateElementTypes – отображает список типов доступных элементов загрузочного меню.

Входящие параметры: нет.

Возвращаемый параметр: массив элементов, имеющих тип uint32.

• GetElement – возвращает элемент.

Входящий параметр: данный параметр определяет тип объекта. Он имеет тип uint32.

Возвращаемый параметр: указатель на объект BcdElement.

• SetBooleanElement – устанавливает элемент типа Boolean.

Входящий параметр: данный параметр определяет тип объекта. Он имеет тип uint32.

Возвращаемый параметр: Boolean. Имеет тип Boolean.

• SetDeviceElement – устанавливает элемент типа Device.

Входящие параметры.

– Данный параметр определяет тип объекта. Он имеет тип uint32.

– Определяет тип устройства. Данный параметр имеет тип uint32. Если значение флага равно 1, то это загрузочный раздел. Если значение флага равно 2, то это партиция. Если же значение флага равно 3, то это файл. Ну, а если значение данного параметра равно 5, то данный элемент устройства неизвестен.

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

• SetFileDeviceElement – устанавливает элемент типа FileDevice.

Входящие параметры.

– Данный параметр определяет тип объекта. Он имеет тип uint32.

– Определяет тип устройства. Данный параметр имеет тип uint32. Если значение флага равно 1, то это загрузочный раздел. Если значение флага равно 2, то это партиция. Если же значение флага равно 3, то это файл. Ну, а если значение данного параметра равно 5, то данный элемент устройства неизвестен.

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

– Строковый параметр, определяющий путь.

– Определяет тип родительского устройства. Имеет тип uint32.

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

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

Возвращаемые параметры: нет.

• SetlntegerElement – устанавливает элемент типа Integer.

Входящие параметры.

– Данный параметр определяет тип объекта. Он имеет тип uint32.

– Имеет тип uint64 и определяет устанавливаемое значение. Возвращаемые параметры: нет.

• SetOb j ectElement – устанавливает элемент типа Ob j ect.

Входящие параметры.

– Данный параметр определяет тип объекта. Он имеет тип uint32.

– Строковый параметр, определяющий идентификатор объекта.

Возвращаемые параметры: нет.

• SetObjectListElement – устанавливает список элементов типа Object.

Входящие параметры.

– Данный параметр определяет тип объекта. Он имеет тип uint32.

– Массив строковых параметров, определяющих идентификаторы объектов.

Возвращаемые параметры: нет.

• SetPartitionDeviceElement – устанавливает элемент типа PartitionDevice.

Входящие параметры.

– Данный параметр определяет тип объекта. Он имеет тип uint32.

– Определяет тип устройства. Данный параметр имеет тип uint32. Если значение флага равно 1, то это загрузочный раздел. Если значение флага равно 2, то это партиция. Если же значение флага равно 3, то это файл. Ну, а если значение данного параметра равно 5, то данный элемент устройства неизвестен.

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

– Строковый параметр, определяющий путь.

Возвращаемые параметры: нет.

• SetStringElement – устанавливает элемент типа String.

Входящие параметры.

– Данный параметр определяет тип объекта. Он имеет тип uint32.

– Строковый параметр, определяющий устанавливаемую строку. Возвращаемые параметры: нет.


Класс BcdElement

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

• Objectld, тип: string – хранит идентификатор элемента;

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

• Туре, тип: uint32 – определяет подтип элемента.


Класс BcdDeviceData

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

• AdditionalOptions, тип: string – содержит дополнительные параметры элемента.

• DeviceType, тип: uint32 – идентифицирует тип элемента устройства. Например, если значение данного свойства равно 1, то данный элемент является загрузочным. Если значение равно 2, то элемент является партицией. Если же значение свойства равно 3, то элемент является файлом. Ну, а если значение этого свойства равно 5, то элемент устройства неизвестен.


Класс BcdDeviceElement

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

• Device, тип: указатель на класс BcdDeviceData – определяет тип элемента устройства;

• Objectld, тип: string – хранит идентификатор элемента устройства;

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

• Туре, тип: uint32 – определяет подтип элемента.


Класс BcdDevicellnknownData

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

• AdditionalOptions, тип: string – доступно как для чтения, так и для записи. Содержит дополнительные параметры элемента.

• Data, тип: массив значений uint8 – определяет данные элемента.

• DeviceType, тип: uint32 – доступно как для чтения, так и для записи. Свойство идентифицирует тип элемента устройства. Например, если значение данного свойства равно 1, то элемент является загрузочным. Если значение равно 2, то элемент является партицией. Если же значение данного свойства равно 3, то элемент является файлом. Ну, а если значение равно 5, то элемент устройства неизвестен.


Класс BcdDeviceFileData

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

• Parent, тип: указатель на класс BcdDeviceData – содержит указатель на родительский элемент.

• Path, тип: string – хранит путь к устройству.

• AdditionalOptions, тип: string – доступно как для чтения, так и для записи. Содержит дополнительные параметры элемента.

• DeviceType, тип: uint32 – доступно как для чтения, так и для записи. Свойство идентифицирует тип элемента устройства. Например, если значение данного свойства равно 1, то элемент является загрузочным. Если значение равно 2, то элемент является партицией. Если же значение свойства равно 3, то элемент является файлом. Ну, а если значение данного свойства равно 5, то элемент устройства неизвестен.


Класс BcdDevicePartitionData

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

• Path, тип: string – включает в себя путь к устройству.

• AdditionalOptions, тип: string – доступно как для чтения, так и для записи. Содержит дополнительные параметры элемента.

• DeviceType, тип: uint32 – доступно как для чтения, так и для записи. Свойство идентифицирует тип элемента устройства. Например, если значение данного свойства равно 1, то элемент является загрузочным. Если значение равно 2, то элемент является партицией. Если же значение свойства равно 3, то элемент является файлом. Ну, а если значение данного свойства равно 5, то элемент устройства неизвестен.


Класс BcdStringElement

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

• Objectld, тип: string – содержит идентификатор элемента;

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

• String, тип: string – доступно только для чтения, содержит значение данного элемента;

• Туре, тип: uint32 – определяет подтип элемента.


Класс BcdObjectElement

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

• Id, тип: string – свойство доступно только для чтения, оно определяет CLSID-номер, уникально идентифицирующий объект, на который указывает данный элемент;

• Objectld, тип: string – хранит идентификатор элемента;

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

• Туре, тип: uint32 – определяет подтип элемента.


Класс BcdObjectListElement

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

• Ids, тип: массив значений строкового типа – включает в себя массив CLSID-номеров, уникально идентифицирующих объекты, на которые указывает данный элемент;

• Objectld, тип: string – хранит идентификатор элемента;

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

• Туре, тип: uint32 – определяет подтип элемента.


Класс BcdlntegerElement

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

• Objectld, тип: string – хранит идентификатор элемента.

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

• Туре, тип: uint32 – определяет подтип элемента.

• Integer, тип: uint64 – включает в себя значение данного элемента. Несмотря на то что оно имеет тип uint64, его нужно передавать как строку.


Класс BcdBooleanElement

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

• Objectld, тип: string – хранит идентификатор элемента;

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

• Туре, тип: uint32 – определяет подтип элемента;

• Boolean, тип: boolean – содержит значение данного элемента.

Программа VistaBootPRO

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

Рис. 2.9. Окно программы VistaBootPRO


Данная программа распространяется бесплатно и занимает 1,41 Мбайт. Ее можно скачать с официального сайта http://www.pro-networks.org/vistabootpro.

Как и рассмотренную ранее программу bcdedit.ехе, VistaBootPRO нужно запускать только от имени администратора (фактически она является графическим интерфейсом для bcdedit.ехе).

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

После нажатия кнопки View Settings можно просмотреть текущие параметры настройки загрузочного меню. Фактически нажатие кнопки View Settings эквивалентно выводу команды bcdedit.ехе без параметров.

С помощью кнопки Configure можно выполнить следующие действия:

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

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

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

После нажатия кнопки Manage Entries вы сможете создать новый элемент загрузочного меню, удалить уже существующий элемент или упорядочить содержимое загрузочного меню.

С помощью кнопки Backup/Restore можно выполнить архивирование загрузочного меню или восстановление из уже созданного архива.

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

Программа msconfig.exe

В стандартную поставку Windows Vista входит программа msconf ig.ехе, с помощью которой также можно выполнить настройку некоторых параметров загрузки операционных систем. Для этого нужно запустить данную программу и перейти на вкладку Загрузка (рис. 2.10). Как можно заметить из рисунка, данная программа позволяет настраивать параметры запуска установленных на компьютере операционных систем Windows Vista, а также указывать таймаут ожидания выбора пользователем запускаемой операционной системы.

Рис. 2.10. Окно для настройки параметров запуска операционной системы с помощью программы msconfig.exe


С помощью программы msconf ig.ехе можно установить или снять следующие параметры запуска: /NOGUIBOOT, /BOOTLOG, /BASEVIDEO, /SOS, /SAFEBOOT, /NUMPROC, /МАХМЕМ, / PC I LOCK, /DETECTHAL, /DEBUG, /BAUDRATE, /CHANNEL, /DEBUGPORT. Более подробно эти параметры описываются далее в подразд. «Файл boot.ini» этого раздела.

Окно Загрузка и восстановление

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

Для отображения окна Загрузка и восстановление сначала нужно вызвать окно Свойства системы. Для этого необходимо выполнить команду SystemProper-tiesAdvanced.ехе. Затем нужно перейти на вкладку Дополнительно окна Свойства системы и в области Загрузка и восстановление нажать кнопку Параметры.

Хранение содержимого загрузочного меню в реестре

Как уже упоминалось ранее, теперь загрузочное меню операционной системы хранится не в файле boot. ini, а в реестре. Для этого служит ветвь реестра HKEY_LOCAL_MACHINE\BCD00000000. Несмотря на то что способ хранения загрузочного меню в реестре выглядит довольно странно (например, как понять, в реестре какой операционной системы хранится загрузочное меню, ведь на момент его отображения ни одна из операционных систем загружена не была), он работает. Вы можете редактировать загрузочное меню непосредственно из реестра операционной системы, загружаемой по умолчанию.

Примечание

Сведения о настройках загрузочного меню также хранятся в каталоге boot, расположенном на системном разделе диска. В этом каталоге хранится файл bed, который является разделом реестра HKEY_LOCAL_MACHINE\BCD00000000.

Но перед тем как редактировать содержимое ветви HKEY_LOCAL_MACHINE\ BCD0 00 0 0 00 0, нужно изменить права доступа к ней. Для этого в контекстном меню данной ветви реестра нужно выбрать команду Разрешения, в появившемся окне выделить свою учетную запись и разрешить ей полный доступ к ветви реестра. Более того, так нужно делать после каждой перезагрузки компьютера, так как после перезагрузки данной ветви присваиваются права доступа по умолчанию.

Вся информация об элементах загрузочного меню хранится в ветви реестра HKEY_LOCAL_MACHINE\BCD0 0 0 00 0 0 0\ob j ects. Эта ветвь содержит набор подразделов, названных в честь CLSID-номеров поля identifier элементов загрузочного меню. При этом в данной ветви реестра содержится намного больше подразделов, чем элементов загрузочного меню – ветвь реестра HKEY_LOCAL_MACHINE\BCDOOOOOOOOXobjects содержит не только настройки элементов загрузочного меню, но и описание различных связей и элементов этого меню, которые никогда в нем не отображаются, но влияют на его работу. Мы рассмотрим только содержимое подразделов, которые определяют отображаемые элементы загрузочного меню. Все они включают в себя дочерний раздел Elements, который, в свою очередь, содержит набор подразделов, определяющих значения полей данного элемента загрузочного меню (например, поля description, locale и т. д.). Например, в ветви реестра HKEY_LOCAL_MACHINE\BCD00000000\objects\{CLSID-номер элемента}\Elements можно встретить такие подразделы.

• 12000002– хранит значение поля Path.

• 12000004 – содержит значение поля Description.

• 12000005 – хранит значение поля locale.

• 22000002 – содержит значение поля Systemroot.

• 23000003– если вы переименовывали элемент загрузочного меню, то данный подраздел содержит CLSID-номер предыдущего элемента загрузочного меню (при переименовании элемента загрузочного меню фактически вы делаете копию этого элемента, которая отображается в загрузочном меню). В блоке данных Windows Boot Manager, как и в остальных элементах загрузочного меню, данный подраздел определяет значение поля resumeobject.

• 23000006 – в блоке данных Windows Boot Manager определяет значение поля default.

• 24000001– хранит значение поля Displayorder блока данных Windows Boot Manager.

• 24000010 – содержит значение поля Toolsdisplayorder блока данных Windows Boot Manager.

• 250 00 0 04 – в блоке данных Windows Boot Manager определяет значение поля timeout.

• 12 000016 – параметр строкового типа Element данного подраздела определяет название USB-порта, который будет использоваться при передаче отладочной информации на удаленный компьютер.

• 15000007– параметр REG_BI NARY – типа Element данного подраздела определяет количество оперативной памяти, установленной на компьютере, которое будет использоваться при работе в данной операционной системе. Иными словами, его значение эквивалентно значению параметра /МАХМЕМ.

Примечание

Описание параметров запуска операционной системы приведено далее в этом разделе (подразд. «Файл boot.ini»).

• 15000011– параметр REG_BI NARY – типа Element данного подраздела определяет порт, по которому удаленному компьютеру будет передаваться отладочная информация. Иными словами, его значение эквивалентно значению параметра /DEBUGPORT. Значение 1 определяет порт IEEE 1394. Значение 2 определяет USB-порт. Остальные значения параметра /DEBUGPORT определяются в подразделе 15000013.

• 15000013 – REG_BINARY-параметр Element данного подраздела определяет порт, по которому будет передаваться удаленному компьютеру отладочная информация. Другими словами, его значение эквивалентно значению параметра /DEBUGPORT. Значения от 1 до 4 определяют порты от СОМ1 до COM4. Остальные значения параметра /DEBUGPORT определяются в подразделе 15000011.

• 15000014– параметр REG_BINARY-типа Element данного подраздела определяет скорость в бодах, которая будет использоваться при передаче отладочной информации на удаленный компьютер. Иными словами, его значение эквивалентно значению параметра /BAUDRATE.

• 15000015 – REG_BINARY-параметр Element данного подраздела определяет канал порта IEEE 1394, который будет использоваться при передаче отладочной информации на удаленный компьютер. Иначе говоря, его значение эквивалентно значению параметра /CHANNEL.

• 25000061– параметр REG_BINARY-типа Element данного подраздела определяет количество процессоров, установленных в компьютере, которые будут использоваться при работе в данной операционной системе. Другими словами, его значение эквивалентно значению параметра /NUMPROC.

• 25000080– параметр REG_BINARY-типа Element данного подраздела определяет значение параметра /BASEVIDEO. Возможны следующие значения:

– 0000000000000000 – эквивалентно значению MINIMAL параметра /BASEVIDEO;

– 0100000000000000 – эквивалентно значению NETWORK параметра /BASEVIDEO;

– 02 00000000000000– эквивалентно значению DSREPAIR параметра /BASEVIDEO.

• 26000081 – если значение параметра REG_BINARY – типа Element этого подраздела равно 01, то данная операционная система будет запускаться со значением MINIMAL (ALTERNATESHELL) параметра /BASEVIDEO. При этом значение параметра Element подраздела 25000080 должно быть равно 00 00 00 00 00 00 00 00.

• 26000010 – если значение REG_BINARY-napaмeтpa Element этого подраздела равно 01, то данная операционная система будет запускаться с установленным параметром /DETECTHAL.

• 26000040 – если значение параметра REG_BI NARY – типа Element этого подраздела равно 01, то данная операционная система будет запускаться с установленным параметром /BASEVIDEO.

• 26000041 – если значение REG_BINARY-параметрa Element этого подраздела равно 01, то операционная система будет запускаться с установленным параметром /NOGUIBOOT.

• 26000070 – если значение параметра REG_BI NARY – типа Element указанного подраздела равно 01, то данная операционная система будет запускаться с установленным параметром / PC I LOCK.

• 26000090 – если значение REG_BINARY-параметрa Element этого подраздела равно 01, то операционная система будет запускаться с установленным параметром /BOOTLOG.

• 26000091– если значение параметра REG_BI NARY – типа Element указанного подраздела равно 01, то операционная система будет запускаться с установленным параметром /SOS.

• 260000а0 – если значение REG_BINARY-параметрa Element этого подраздела равно 01, то данная операционная система будет запускаться с установленным параметром /DEBUG.

Примечание

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

Внимание!

Выполнение команды rundll32.exe sysdm.cpl, EnableExecuteProtectionSupportW приводит к установке значения параметра REG_BINARY-типа Element, расположенного в ветви реестра HKEY_LOCAL_MACHINE\BCD00000000\Objects\{50c73d4c-e6b3-11da-bc73-d30cdb1ce216}\Elements\25000020, равным 00 00 00 00.

В ветви реестра HKEY_LOCAL_MACHINE\BCD0 0 000000 также содержится подраздел description. Он определяет глобальные настройки загрузочного меню и хранит два интересных параметра REG_DWORD-типа: System и TreatAsSystem. Значения обоих этих параметров по умолчанию равны 1. Если вы присвоите им значения 0, то программа bcdedi t.ехе больше не сможет редактировать настройки загрузочного меню, а ветвь реестра HKEY_LOCAL_MACHINE\BCD00000000 будет удалена. Тем не менее загрузочное меню будет и дальше отображаться и работать корректно.

Команда Windows Memory Diagnostic

В нижней части нового загрузочного меню Windows Vista появилась команда Windows Memory Diagnostic, с помощью которой вы сможете выполнить диагностику оперативной памяти компьютера (чтобы перейти на эту команду, нужно нажать клавишу Tab). Если в процессе выполнения диагностики система определила, что оперативная память содержит поврежденные ячейки данных, то она запретит доступ к этим ячейкам. Это единственный способ прекратить возникновение ошибок работы программ или экранов BSOD, если оперативная память повреждена. Конечно, после запрета доступа к памяти количество доступной в операционных системах Windows Vista оперативной памяти сократится, но зато работа операционной системы будет более стабильной.

Если после диагностики оперативной памяти доступ к определенным ячейкам был заблокирован, то вы сможете воспользоваться командой bcdedit /enum {badmemory}, чтобы просмотреть список заблокированных ячеек.

Примечание

Сведения о результатах диагностики оперативной памяти заносятся в журнал Журналы приложений и служб → Microsoft → Windows → MemoryDiagnostics-Results.

Программу диагностики оперативной памяти вы также можете запустить непосредственно из операционной системы. Для этого нужно воспользоваться программой MdSched.exe, расположенной в каталоге %systemroot%\system32. После запуска данной программы перед вами отобразится окно Средство диагностики памяти Windows, которое позволяет выбрать одну из следующих возможностей.

• Выполнить перезагрузку и проверку – после выбора данной команды будут завершены все программы, открытые в данный момент, и компьютер перезагрузится. При этом вместо отображения загрузочного меню будет автоматически запущена программа проверки оперативной памяти.

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

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

Дополнительные варианты загрузки

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

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

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

• Безопасный режим с поддержкой командной строки – при загрузке операционной системы запускаются только основные драйверы и службы, без которых запуск Windows просто невозможен. Кроме того, вместо графической оболочки запускается командная строка cmd.ехе. Если ошибка возникает при загрузке графической оболочки операционной системы, то можно попробовать воспользоваться этим режимом.

• Ведение журнала загрузки – при запуске операционной системы создается файл ntbtlog. txt (в каталоге %systemroot%), содержащий сведения обо всех драйверах и службах, которые были запущены или, наоборот, запуск которых не произошел из-за ошибок.

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

• Последняя удачная конфигурация (дополнительно) – операционная система запускается с использованием заведомо работоспособной ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\ControlSet0 0N. При каждом успешном запуске операционной системы создается копия ветви HKEY_LOCAL_MACHINE\ SYSTEM\ControlSetO ON, ссылка на которую используется при выборе данного элемента меню, если загрузка с использованием текущей версии данной ветви реестра приводит к ошибке. Это может пригодиться, если вы только что установили какой-нибудь драйвер или службу, а после перезагрузки компьютера операционная система больше не запускается.

• Режим восстановления служб каталогов – при запуске операционной системы происходит восстановление службы каталогов контроллера домена Active Directory.

• Режим отладки – при запуске операционной системы активизируется отладчик ядра операционной системы. При возникновении ошибки BSOD сведения отладчика передаются на удаленный компьютер через подключенный нуль-модемный кабель или службу RAS (с помощью модема).

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

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

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

Файл boot.ini

Несмотря на то что файл boot. ini больше не используется в Windows Vista, знание его формата может понадобиться, если на вашем компьютере установлены предыдущие версии операционной системы Windows. Файл boot. ini является обычным текстовым файлом, расположенным на системном диске. По умолчанию данному файлу присвоено разрешение только на чтение, поэтому перед редактированием ему нужно присвоить права на полный доступ. Следует также учитывать, что данный файл является скрытым и системным, поэтому по умолчанию его не увидит даже администратор. Перед редактированием данного файла с помощью окна Свойства папки нужно разрешить отображение скрытых и суперскрытых файлов и папок.

В листинге 2.2 показан пример файла boot. ini.

Листинг 2.2. Формат файла boot.ini

[boot loader]

timeout=0

default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional RU

Test" /NOEXECUTE=OPTIN /FASTDETECT

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional RU Recent"

/FASTDETECT /NOEXECUTE=OPTIN

c: \CMDCONS\BOOTSECT.DAT="Microsoft Windows XP Recovery Console" /CMDCONS

Раздел [boot loader]

Файл boot. ini состоит из двух разделов – [boot loader] и [operating systems]. Первый раздел должен содержать два параметра. Параметр timeout определяет интервал (в секундах) ожидания выбора загружаемой операционной системы пользователем. А параметр default определяет операционную систему, которая будет загружаться в том случае, если пользователь так и не выбрал операционной системы для загрузки (в виде пути ARC к ядру операционной системы).

Раздел [operating system]

Раздел [operating system] включает в себя список элементов загрузочного меню и определяет путь к системным файлам операционных систем, загружаемых с помощью этих элементов. Каждая строка данного раздела определяет один элемент загрузочного меню. Синтаксис строк данного раздела следующий: ARC-имя\системная папка операционной системы="название элемента загрузочного меню" [параметры запуска операционной системы].

Примечание

Как говорится, из каждого правила бывают исключения. Исключением из предыдущего правила является способ определения элемента загрузочного меню, с помощью которого запускается консоль восстановления (третья строка раздела [operating system] в листинге 2.2). В этом случае ARC-имя заменяется обычным путем к файлу.

ARC-именем называется часто применяемый способ идентификации раздела жесткого диска. Он применяется в том случае, когда нужно однозначно определить конкретный раздел диска на определенном жестком диске, подключенном к определенному контроллеру. ARC-имя состоит из номера контроллера жесткого диска, номера жесткого диска, подключенного к этому контроллеру, и номера раздела на этом жестком диске. В приведенном листинге 2.2 ARC-именем является строка multi(0)disk(0)rdisk(0)partition(3).

Примечание

ARC-имя раздела, из которого была запущена данная операционная система Windows Vista, содержится в параметре строкового типа SystemBootDevice ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.

Первая часть ARC-имени. Первая часть строки (multi (0)) определяет тип и номер контроллера жесткого диска. Нумерация контроллеров начинается с нуля, а тип контроллера может принимать значения multi или scsi.

Значение scsi говорит о том, что жесткий диск, подключенный к контроллеру, является диском SCSI с отключенной BIOS. В этом случае на системном диске должен храниться файл ntbootdd. sys, который при загрузке будет выполнять функции BIOS данного жесткого диска.

В остальных случаях, если BIOS компьютера поддерживает прерывание INT 13, первая часть ARC-имени должна быть равна multi (*).

Если же BIOS компьютера не поддерживает прерывание INT 13, а размер загрузочного тома больше 8 Гбайт, то используется значение signature (*). В этом случае операционная система ищет раздел по сигнатуре, которая представляет собой GUID-номер раздела.

Вторая и третья части ARC-имени. Вторая и третья части строки (disk (0) и rdisk (0)) определяют номер жесткого диска, подключенного к данному контроллеру. Нумерация жестких дисков также начинается с нуля. Особенностью определения жесткого диска является то, что одна из частей строки ARC-имени всегда должна быть равна нулю. Если первая часть ARC-имени равна multi (*), то вторая часть ARC-имени всегда должна быть равна disk (0), а третья часть должна определять номер жесткого диска. Если первая часть ARC-имени равна scsi (*) или signature (*), то третья часть ARC-имени всегда должна быть равна rdisk (0), а вторая часть должна определять номер жесткого диска.

Примечание

Если первая часть ARC-имени равна multi(*), то вместо rdisk(*) в третьей части может использоваться значение cdrom(*). В этом случае загрузчик будет пытаться загрузить операционную систему с диска, расположенного в приводе компакт-дисков.

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

Параметры запуска операционной системы

Теперь рассмотрим назначения параметров запуска операционной системы, которые могут указываться в файле boot. ini. Большинство из этих параметров можно также использовать и при запуске операционной системы Windows Vista. В этом случае будет указана команда, с помощью которой можно установить соответствующий параметр запуска.

Примечание

Все параметры запуска, с которыми была запущена операционная система Windows Vista, хранятся в параметре строкового типа SystemStartOptions ветви реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.

• /3GB – позволяет увеличить пользовательскую часть адресного пространства, выделяемого для одного процесса, с 2 до 3 Гбайт. Естественно, что увеличение данного пространства происходит не просто так – оно достигается путем уменьшения системного адресного пространства с 2 до 1 Гбайт. Повышение размера пользовательского адресного пространства позволяет ускорить работу приложений, которые интенсивно обращаются к виртуальной памяти (если эти приложения поддерживают увеличенное адресное пространство).

Данный параметр влияет только на 32-разрядные системы. В 64-разрядных системах по умолчанию пользовательское и системное пространство равны по 8 Тбайт.

• /BASEVIDEO – при указании данного параметра операционная система будет загружаться с использованием стандартного графического драйвера vga. sys. Если вы подозреваете, что операционная система не может загрузиться именно из-за драйвера графической карты, то можно попробовать загрузить ее с помощью стандартного драйвера.

В операционной системе Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> VGA <TRUE или FALSE>.

• /BAUDRATE=<количество бод> – определяет скорость обмена данными, которая будет применяться во время отладки запуска операционной системы. Он должен использоваться только вместе с параметром /DEBUG. По умолчанию используется скорость 9600 бод для модемного соединения (с помощью службы RAS) и 19 200 бод для нуль-модемного кабеля.

В операционной системе Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> BAUDRATE <скорость>.

• /BOOTLOG – при использовании данного параметра во время загрузки операционной системы в каталоге %systemroot% будет создаваться файл NTBTLOG.ТХТ, хранящий сведения обо всех удачно загруженных драйверах, а также о драйверах, которые загрузить не удалось. При этом сначала все сведения о загрузке помещаются в ветвь реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\BootLog, и лишь потом, после загрузки Диспетчера сеансов (smss.ехе) и проверки целостности файловой системы, создается файл NTBTLOG.TXT.

Параметр /BOOTLOG используется по умолчанию при безопасной загрузке операционной системы.

В Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> BOOTLOG <TRUE или FALSE>.

• /BOOTLOGO – при использовании данного параметра во время запуска операционной системы будет отображаться не стандартная заставка операционной системы Windows, а заставка, представленная файлом boot. bmp, расположенным в каталоге %systemroot%. Этот файл должен представлять собой растровое 16-цветное изображение размером 640 х 480 пикселов.

• /BREAK – в процессе инициализации операционной системы вызывает остановку HAL на точке прерывания. Это может быть необходимо при работе отладчика (с установленным параметром /DEBUG). При использовании параметра /BREAK без запуска отладчика будет появляться «синий экран смерти».

В операционной системе Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> HALBREAKPOINT <TRUE или FALSE>.

• /BURNMEMORY=<количество мегабайт оперативной памяти> – определяет объем оперативной памяти, который операционная система не будет использовать в своей работе (будет считать его несуществующим).

В Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> REMOVEMEMORY <объем неиспользуемой памяти>.

• /CHANNEL – определяет канал порта IEEE 1394, по которому будет передаваться отладочная информация, если значение параметра /DEBUGPORT равно 13 94 и используется параметр /DEBUG.

Параметр /CHANNEL может принимать значения от 0 до 62. По умолчанию используется канал 0.

В операционной системе Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> CHANNEL <канал>.

• /CLKLVL – если используется многопроцессорная версия HAL для систем х86 (halmps.dll), то установка данного параметра говорит о том, что распознавание сигналов системного таймера будет выполняться не по фронту, а по потенциалу.

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

• /DEBUG – загружает отладчик, который активируется основным отладчиком при возникновении ошибки запуска операционной системы. В этом случае сведения об ошибке будут передаваться по СОМ-порту на удаленный компьютер для выполнения отладки операционной системы.

В Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> BOOTDEBUG TRUE. Можно также воспользоваться командой bcdedit.ехе/set <элемент загрузочного меню> DEBUG <TRUE или FALSE>.

• /DEBUGPORT=<COM-порт> – позволяет указать номер СОМ-порта, по которому будет передаваться отладочная информация на удаленный компьютер. По умолчанию используется порт СОМ1. Кроме СОМ-портов (с первого по четвертый), можно использовать значения USB и 13 94 этого параметра.

В операционной системе Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> DEBUGPORT <номер портах Можно также воспользоваться командой bcdedit.exe/set <элемент загрузочного меню> DEBUGTYPE <тип порта, например, SERIAL, 1394 или USB>, чтобы определить тип порта, по которому происходит процесс отладки.

• /DETECTHAL – разрешает при загрузке определять HAL и файл ядра операционной системы.

В ОС Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> DETECTHAL <TRUE или FALSE>.

• /EXECUTE – после установки этого параметра защита DEP будет отключена.

• /FASTDETECT – при использовании данного параметра во время загрузки операционной системы не будет запускаться файл ntdetect. com для определения оборудования, установленного на компьютере и подключенного к последовательным и параллельным портам. Вместо этого оборудование будет определяться системой Plug and Play.

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

• / INTAFFINITY – применяется при использовании многопроцессорной версии HAL для х86-совместимых компьютеров (halmps.dll). По умолчанию прерывания может обрабатывать любой из процессоров многопроцессорной системы. Если же этот параметр будет установлен, то прерывания будет разрешено обрабатывать только одному процессору (с наибольшим порядковым номером).

• /KERNEL=<файл ядра операционной системы> – с его помощью можно изменить файл ядра операционной системы, используемый для ее загрузки. По умолчанию используется файл ntoskrnl.ехе из каталога %systemroot%\ system32.

В операционной системе Windows Vista значение этого параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> KERNEL <имя файла>.

• /НАL=<файл HAL> – позволяет загрузить операционную систему на основе файла HAL, отличного от используемого по умолчанию.

В Windows Vista значение этого параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> HAL <имя файлах

Файл HAL позволяет определить основные возможности, которые доступны операционной системе. Именно от него зависит, может ли операционная система поддерживать работу с несколькими процессорами, механизм энергосбережения ACPI и т. д.

При обновлении операционной системы версия HAL, применяемая в предыдущей операционной системе, будет применяться и в новой системе.

По умолчанию в 32-рязрядной операционной системе Windows Vista доступны следующие HAL:

– Hal.dll – представляет собой HAL для стандартного компьютера, используется по умолчанию;

– Halacpi.dll – HAL для компьютеров, поддерживающих ACPI (ACPI PIC HAL);

– Halmacpi.dll – представляет собой HAL для многопроцессорных систем с поддержкой спецификации ACPI.

• /LASTKNOWNGOOD – загружает операционную систему в режиме запуска последней удачной конфигурации.

В операционной системе Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> LASTKNOWNGOOD <TRUE или FALSE>.

• /МАХМЕМ=<количество мегабайт оперативной памяти> – определяет максимальное количество оперативной памяти, которое будет доступно операционной системе.

• /MAXPROCPERCLUSTER=<KonH4ecTBo процессоров> – может применяться при использовании многопроцессорной версии HAL для х86-совместимых компьютеров. В этом случае она разрешает кластерный режим адресации контроллера прерываний APIC.

В ОС Windows Vista значение этого параметра можно изменить с помощью следующей команды: bcdedit.ехе/set <элемент загрузочного меню> CLUSTERMODEADDRESSING <количество процессоров;-.

• /MININT – при установке этого параметра раздел реестра SYSTEM будет загружаться в систему как изменяемый. При этом все изменения в нем будут храниться в памяти, а не заноситься на жесткий диск (то есть после перезагрузки все изменения будут потеряны). Параметр используется операционной системой Windows РЕ.

В операционной системе Windows Vista значение этого параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> WINPE <TRUE или FALSE>.

• /NODEBUG – при использовании данного параметра на экран компьютера не будет выводиться отладочная информация, а отладочные параметры (/ DEBUG и т. д.) будут игнорироваться.

• /NOEXECUTE=<уровень работы DEP> – позволяет включить работу механизма DEP, а также настроить способ его работы. Существует четыре способа работы механизма DEP, которые включаются установкой определенного значения данного параметра:

– OptIn – механизм DEP защищает только основные системные файлы;

– OptOut – он включен для всех программ, запускаемых пользователем, при этом пользователь может указать программы-исключения;

– AlwaysOn – механизм DEP включен для всех программ, запускаемых пользователем, при этом нельзя указать программы-исключения;

– AlwaysOf f – он всегда отключен, даже если аппаратно поддерживается процессором.

В Windows Vista значение параметра /NOEXECUTE=<уровень работы DEP> можно изменить с помощью команды bcdedit.exe/set Олемент загрузочного меню> пх <значение параметрах Например, bcdedit.ехе /set {current} nx AlwaysOff.

• /NOGUIBOOT – во время запуска операционной системы вместо графической заставки будет отображаться информация о текущих действиях системы.

В ОС Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.ехе /set <элемент загрузочного меню> GRAPHICSMODEDISABLED <TRUE или FALSEX

Отключить загрузочную заставку можно и с помощью команды bcdedit.ехе/set <элемент загрузочного меню> QUIETBOOT TRUE.

• /NOLOWMEM – может применяться только вместе с параметром /РАЕ и только на компьютерах, которые имеют более 4 Гбайт оперативной памяти. В этом случае все драйверы, приложения и пулы оперативной памяти будут загружаться в область памяти за пределами первых 4 Гбайт. Иными словами, этот параметр используется для проверки совместимости установленных в операционную систему драйверов с таким большим объемом оперативной памяти.

В Windows Vista значение этого параметра можно изменить с помощью команды bcdedit.ехе /set <элемент загрузочного меню> NOLOWMEM <TRUE или FALSE>.

• /NOSERIALMICE=<COM-порт> – позволяет запретить поиск мыши на указанных СОМ-портах (СОМ-порты пишутся через запятую). Все дело в том, что некоторые устаревшие источники бесперебойного питания, подключаемые к СОМ-порту, могут посчитать переданный на порт сигнал как сигнал к отключению компьютера.

• /NOPAE – запрещает запуск версии ядра операционной системы, поддерживающего механизм РАЕ.

В операционной системе Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> рае ForceDisable.

• /NUMPROC=<количество процессоров> – определяет количество процессоров, установленных на компьютере, которые будут использоваться в данной операционной системе.

В Windows Vista значение этого параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> NUMPROC <количество процессоров;-.

• /ONECPU – может использоваться в многопроцессорных системах для того, чтобы заставить операционную систему работать только с одним процессором.

В операционной системе Windows Vista значение этого параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> ONECPU <TRUE или FALSE>.

• / РАЕ – при использовании данного параметра будет запускаться версия ядра операционной системы, использующего механизм РАЕ. Механизм РАЕ позволяет драйверам устройств использовать 64-разрядную адресацию, что повышает максимальный объем оперативной памяти, доступный в операционной системе (до 64 Гбайт для 32-разрядных систем и до 1024 Гбайт для 64-разрядных систем).

Файл ядра, использующего механизм РАЕ, называется ntkrnlpa.ехе.

В ОС Windows Vista значение параметра / РАЕ можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> рае Значение параметра, которое может быть равно Default, ForceEnable или ForceDisable>.

• /PCILOCK – при использовании этого параметра операционной системе будет запрещено динамически назначать IRQ, и другие ресурсы ввода-вывода доступным PCI-устройствам. В этом случае все данные о работе PCI будут браться из настроек BIOS.

• /RDPATH=<путь к файлу SDI> – с его помощью можно указать путь к образу среды предустановки, который будет использоваться для загрузки операционной системы. Указанный файл может храниться как на локальном, так и на удаленном компьютере.

В операционной системе Windows Vista значение данного параметра можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> RAMDISKSDIPATH <путь к файлу>.

Кроме RAMDISKSDIPATH <путь к файлу>, вы можете воспользоваться следующими параметрами команды:

– RAMDISKIMAGELENGTH <длина> – определяет длину образа в файле SDI;

– RAMDISKIMAGEOFFSET <смещение> – указывает смещение, по которому начинается образ нужной операционной системы в файле SDI;

– RAMDISKSDIDEVICE <устройство> – определяет устройство, на котором находится файл SDI;

– RAMDISKTFTPCLIENTPORT <номер порта> – указывает порт, по которому клиент TFTP будет взаимодействовать с компьютером, где хранится файл WIM.

• / SAFEBOOT: <режим> – с его помощью можно определить режим запуска операционной системы. Доступны следующие значения.

– MINIMAL – обычный безопасный режим. При этом список драйверов, загружаемых в данном режиме, определяется дочерними разделами ветви HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ SafeBoot\Minimal.

– MINIMAL (ALTERNATESHELL) – безопасный режим с поддержкой командной строки. При этом файл оболочки, используемый в данном режиме (по умолчанию cmd.exe), определяется параметром строкового типа AlternateShell, расположенным в ветви реестра HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\SafeBoot.

– NETWORK – безопасный режим с загрузкой сетевых драйверов. При этом список драйверов, загружаемых в данном режиме, определяется дочерними разделами ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\SafeBoot\Network.

– DSREPAIR – безопасный режим для восстановления каталога Active Directory.

В операционной системе Windows Vista значение параметра / SAFEBOOT: <режим> можно изменить с помощью команды bcdedit.exe/set Олемент загрузочного меню> SAFEBOOT <Minimal, Network или DsRepair>. Можно также воспользоваться командой bcdedit.ехе/set Олемент загрузочного меню> SAFEBOOTALTERNATESHELL <TRUE или FALSE> для указания запуска в безопасном режиме с загрузкой командой строки.

• /SCSIORDINAL: <идентификатор> – позволяет явным образом указать идентификатор SCSI-контроллера для операционной системы.

• /SDIBOOT=<путь к файлу SDI> – используется в операционных системах класса Embedded и указывает путь к образу среды предустановки, с помощью которого запускается операционная система.

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

В ОС Windows Vista значение этого параметра можно изменить с помощью команды bcdedit.ехе /set Олемент загрузочного меню> SOS <TRUE или FALSE>.

• /USERVA=<от 2048 до 3072>– позволяет определить использование большего объема адресного пространства (до 3072 Мбайт). Назначение этого параметра сходно с назначением параметра /3GB.

В Windows Vista значение параметра/USERVA=<от 2048 до 3072> можно изменить с помощью команды bcdedit.exe/set <элемент загрузочного меню> INCREASEUSERVA <объем неиспользуемой памяти>.

• /YEAR=<год> – позволяет переопределить год, который будет использоваться операционной системой. Значение, определенное в данном параметре, подменяет год, определенный в BIOS.

Windows Vista. Для профессионалов

Подняться наверх