Читаем без скачивания Windows Vista. Для профессионалов - Роман Клименко
Шрифт:
Интервал:
Закладка:
• 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 можно и с помощью набора новых классов, хранящихся в пространстве имен . rootwmi. Непосредственно к свойствам описанных ниже классов обратиться нельзя, однако можно выполнять методы данных классов – результаты некоторых из них возвращают экземпляры на другие классы, свойства которых разрешено модифицировать.
...Примечание
В книге предполагается, что вы уже имеете представление о 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.