Тонкости реестра Windows Vista. Трюки и эффекты - Страница 8
В качестве примера рассмотрим некоторые команды bcdedit.ехе, которые могут вам понадобиться. Например, если вы просто введете в командной строке cmd.ехе строку bcdedit, то сможете просмотреть текущее содержимое загрузочного меню Windows (для примера выводимых данных посмотрите листинг 2.1). При этом следует заметить, что вы сможете воспользоваться программой bcdedit, только если зайдете в систему под учетной записью Администратор. В противном случае вы не сможете запустить программу bcdedit. Чтобы заново не входить в систему под учетной записью администратора, можно просто запустить командный интерпретатор cmd.ехе от его имени. Для этого достаточно воспользоваться командой runas /user: administrator cmd.ехе. Система попросит вас ввести пароль для учетной записи администратора, после чего отобразится окно cmd.ехе, и вы сможете воспользоваться программой bcdedit.ехе.
–
identifier
device partition=D:
description Windows Boot Manager
locale en-US
inherit
default
resumeobject {50c73d4d-e6b3-11da-bc73-d30cdb1ce216}
displayorder
toolsdisplayorder
timeout 30
Windows Legacy OS Loader
–
identifier
device partition=D:
path ntldr
description Earlier version of Windows
Windows Boot Loader
–
identifier
device partition=F:
path Windowssystem32winload.exe
description Microsoft Windows
locale en-US
inherit
osdevice partition=F:
systemroot Windows
resumeobject {50c73d4d-e6b3-11da-bc73-d30cdb1ce216}
nx OptIn
Windows Boot Loader
–
identifier
device partition=C:
path Windowssystem32winload.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 – определяет идентификатор элемента загрузочного меню и может принимать следующие значения:
– – говорит о том, что операционная система, определяемая этим элементом меню, загружена в данный момент;
– – означает, что операционная система, определяемая этим элементом меню, загружается по умолчанию;
– – определяет элемент загрузочного меню, с помощью которого можно загрузить содержимое файла boot. ini (фактически определяет название файла ntldr, расположенного на системном диске, который раньше применялся в качестве загрузчика);
– – данный идентификатор говорит о том, что этот блок данных определяет параметры самого загрузочного меню (фактически определяет название файла bootmgr, расположенного на системном диске, который применяется в качестве загрузчика для операционной системы Windows Vista);
– – определяет элемент загрузочного меню, с помощью которого можно выполнить диагностику состояния оперативной памяти компьютера;
– {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 и определять текущие параметры загрузочного меню, рассмотрим другие ее команды.
Экспорт и импорт загрузочного меню. Самой первой командой, которой желательно воспользоваться, является команда bcdedit /export <путь к файлу и его название без расширениях С ее помощью вы создаете копию загрузочного меню, которую потом сможете использовать для его восстановления, если нечаянно испортите текущее загрузочное меню. После выполнения экспортирования загрузочного меню в указанном вами каталоге будут созданы два файла – один с расширением LOG, а другой вообще без расширения. Файл без расширения как раз и хранит сведения о загрузочном меню. По сути, данный файл является просто разделом реестра и с помощью команды Файл → Загрузить куст редактора реестра regedit.ехе вы сможете загрузить его в реестр и просмотреть содержимое.
Для восстановления загрузочного меню из экспортированного файла достаточно воспользоваться командой bcdedit /import <путь к файлу и его название без расширениях
Переименование элементов загрузочного меню. Итак, мы хотели переименовать какой-нибудь элемент загрузочного меню. Для этого нужно воспользоваться командой вида bcdedit /set [содержимое поля identifier данного элемента меню] description <новое название элемента меню>. Если вы не укажете содержимое поля identifier, то будет переименован элемент меню, имеющий значение поля identifier. Например, bcdedit /set description «Vista Build 5384» или bcdedit /set description «Vista Build 5384 (TEST)».
Обратите внимание на то, что в предыдущей команде после содержимого поля identifier идет ключевое слово description. Если еще раз перечитать описание вывода команды bcdedit, то можно заметить, что такое же слово встречается среди полей блоков данных (см. листинг 2.1). Это не просто совпадение – именно название поля и нужно указывать в данной команде. Например, вы можете изменить значение поля systemroot с помощью команды bcdedit /set "содержимое поля identifier данного элемента меню] systemroot <новый каталог, содержащий файлы Windows>.