В Windows XP загрузочная информация хранилась в файле boot.ini, и для внесения изменений в меню загрузки достаточно было просто отредактировать этот файл в текстовом редакторе. Начиная с Windows Vista все поменялось, и теперь меню загрузки операционной системы находится в хранилище загрузки (Boot Configuration Data, BCD). Некоторые параметры меню загрузки можно изменить привычным способом, используя графический интерфейс, но полный доступ к BCD возможен только из командной строки.
Мы рассмотрим несколько способов внесения изменений в загрузочное меню. Итак, способ первый.
Апплет панели управления Свойства системы.
Для того чтобы добраться до параметров, отвечающих за загрузку системы, идем в меню Пуск — Панель управления — Система. Откроется окно свойств системы, в котором нужно выбрать пункт «Дополнительные параметры системы».
Затем, из дополнительных свойств системы выбираем раздел «Загрузка и восстановление» и нажимаем кнопку Параметры.
В открывшемся окне мы можем:
- посмотреть список установленных операционных систем и изменить систему, загружаемую по умолчанию.
- установить время ожидания до загрузки выбранной системы (таймаут).
- убрать отображение списка ОС при загрузке.
И все, не добавить новую запись, не изменить или удалить существующую отсюда не получится (в XP была еще кнопка «Правка», при нажатии на которую можно было вручную отредактировать загрузочное меню в Блокноте).
Настроек явно маловато, попробуем другой способ.
Оснастка Конфигурация системы.
Чтобы открыть окно Конфигурация системы, набираем сочетание клавиш Win+R , в строке Выполнить вводим команду msconfig и нажимаем ОК.
В открывшемся окне конфигурации системы переходим на вкладку Загрузка. Здесь мы можем проделать следующие действия:
- посмотреть информацию о том, какая система загружена сейчас и какая загружается по умолчанию.
- изменить систему, загружаемую по умолчанию.
- отредактировать таймаут, по истечении которого будет загружена операционная система по умолчанию.
- удалить запись из меню загрузки.
Добавить или изменить запись мы по прежнему не можем.
А что же делать, если нужно, например изменить положение записи в меню загрузки или переименовать ее? В этом нам поможет третий способ:
Утилита командной строки bcdedit
Утилита bcdedit.exe находится в системной папке Windows\System32. Для работы ей необходим административный доступ к компьютеру, поэтому оболочку командной строки запускаем от имени администратора (иначе при попытке запустить программу будет выдана ошибка).
Если просто ввести команду bcdedit без параметров, то на экран будет выведена информация, хранящаяся в BCD. Информация представлена в виде двух столбцов: слевав расположены названия параметров, справа – их значения.
Вот основные параметры, отвечающие за загрузку:
- идентификатор — идентификационный номер, указывающий на запись в меню загрузки. Представляет из себя 32-значный буквенно-цифровой код, заключенный в фигурные скобки. Для стандартных идентификаторов используются названия, например {current} — текущая система, {default} — система по умолчанию;
- device — указывает раздел, на котором расположен загрузчик операционной системы;
- osdevice — указывает раздел, на котором находится сама операционная система. Как правило, значения device и osdevice идентичны;
- path — остальной путь к загрузчику операционной системы;
- description — описание операционной системы, отображающееся в меню при загрузке;
- default — операционная система, загружаемая по умолчанию;
- timeout — время ожидания перед загрузкой ОС по умолчанию;
- displayorder — порядок, в котором системы отображаются при загрузке.
А теперь рассмотрим варианты применения bcdedit:
bcdedit /default {ID} — задаем систему, загружаемую по умолчанию.
bcdedit /displayorder — управляем порядком размещения записей в меню загрузки:
- bcdedit /displayorder {ID} /addlast — добавляем систему в конец списка;
- bcdedit /displayorder {ID} /addfirst — добавляем систему в начало списка;
- bcdedit /displayorder {ID2} {ID1} — указываем порядок отображения систем в списке;
- bcdedit /displayorder {ID} /remove — удаляем запись из меню загрузки.
Имейте ввиду, что при удалении записи из меню загрузки информация о параметрах выбранной системы не удаляется из BCD и при необходимости может быть восстановлена.
bcdedit /timeout XX — задаем таймаут в секундах.
bcdedit /set {ID} description ″Название системы″ — изменяем название системы, отображаемое в меню загрузки.
bcdedit /create /d ″Windows Vista″ /application osloader — создаем новую загрузочную запись.
bcdedit /create {ntldr} /d ″Windows XP″ — создаем загрузочную запись для ОС предыдущих версий (XP и старше).
bcdedit /copy {ID} /d ″Новая система″ — копируем загрузочную запись. Таким образом тоже можно добавить новую запись в меню загрузки.
bcdedit /delete {ID} /cleanup — удаляем загрузочную запись. При этом удаляется вся информация об установленной операционной системе из BCD и меню загрузки. У этой команды есть одна особенность — если в качестве ID указывается название, например {default}, то команда должна выполняться с ключом /f, если же ID записывается в буквенно-цифровом коде, ключ /f не нужен.
bcdedit /export ″C:\Backup\bcd″ — экспортируем содержимое хранилища в указанный файл.
bcdedit /import ″C:\Backup\bcd″ — восстанавливаем состояние системного хранилища из резервной копии, созданной с помощью команды /export.
Ну и несколько наиболее «жизненных» примеров
Добавление новой загрузочной записи, для мультизагрузки:
bcdedit /copy {current} /d ″New Windows 7 ″ — копируем текущую запись и называем ее по новому;
bcdedit /set {ID} device partition=D: — указываем местоположение загрузчика системы;
bcdedit /set {ID} osdevice partition=D: — указываем местоположение операционной системы;
bcdedit /displayorder {ID} /addlast — добавляем запись о системе в меню загрузки, в конец списка.
Добавление загрузочной записи для загрузки системы с виртуального диска (VHD):
bcdedit /copy {current} /d ″Загрузка с VHD″ — копируем текущую запись;
bcdedit /set {ID} device vhd=[X:]\DIR\filename.vhd — указываем местоположение загрузчика системы;
bcdedit /set {ID} osdevice vhd= [X:]\DIR\filename.vhd — указываем местоположение операционной системы;
bcdedit /set {ID} detecthal on — включаем принудительное обнаружение аппаратно-зависимого уровня (Hardware Abstraction Layer, HAL);
bcdedit /displayorder {ID} /addlast — добавляем запись о системе в меню загрузки, в конец списка.
Примечание. [X:]\DIR\filename.vhd – это полный путь к VHD-файлу и указание имени файла.
Добавление загрузочной записи для загрузки Windows XP:
bcdedit /create {ntldr} /d ″Microsoft Windows XP″ — создаем новую загрузочную запись;
bcdedit /set {ntldr} device partition=\Device\HarddiskVolume1 — указываем расположение файлов загрузки системы;
bcdedit /set {ntldr} path \ntldr — указываем путь к загрузчику системы;
bcdedit /displayorder {ntldr} /addlast — добавляем запись о системе в меню загрузки.
Удалил из диспетчера строку несуществующей ОС с помощью второго способа. До третьего способа буду пробовать по необходимости…
Спасибо за отличный документ!