Какие bcdedit
команды необходимы для настройки двойной загрузки между различными установками Windows? 5
Задний план
Я недавно установил Windows 8 на отдельный жесткий диск 1 . Теперь, когда установлена Windows 8, я хочу выполнить двойную загрузку обратно в Windows 7.
У меня есть два 2 жестких диска:
Итак, вы можете видеть, что у меня есть два моих диска с разделами, содержащими Windows:
- Windows 7 :
\\PhysicalDisk0
(раздел 0 3 ) - Windows 8 :
\\PhysicalDisk2
(раздел 1)
То, что я пытаюсь выяснить, как это использовать, bcdedit
чтобы проинструктировать вещь, которая загружает Windows, что есть другая установка Windows там.
Запустив bcdedit
сейчас, он показывает текущую конфигурацию:
C:\WINDOWS\system32>bcdedit
Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=\Device\HarddiskVolume2
description Windows Boot Manager
locale en-US
inherit {globalsettings}
integrityservices Enable
default {current}
resumeobject {ce153eb7-3786-11e2-87c0-e740e123299f}
displayorder {current}
toolsdisplayorder {memdiag}
timeout 30
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \WINDOWS\system32\winload.exe
description Windows 8
locale en-US
inherit {bootloadersettings}
recoverysequence {ce153eb9-3786-11e2-87c0-e740e123299f}
integrityservices Enable
recoveryenabled Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {ce153eb7-3786-11e2-87c0-e740e123299f}
nx OptIn
bootmenupolicy Standard
hypervisorlaunchtype Auto
Я не могу найти никакой документации о разнице между Windows Boot Manager и Windows Boot Loader .
Документация
Есть некоторая документация по Bcdedit
:
- Technet: ссылка на командную строку - Bcdedit
- Technet: пакет автоматической установки Windows - параметры командной строки BCDEdit
- Технический документ - Команды BCDEdit для среды загрузки (документ Word)
Но они не объясняют, как редактировать двоичные данные конфигурации загрузки.
Если бы мне пришлось угадывать , я бы подумал, что диспетчер загрузки Windows указывает BIOS, какую программу он должен запускать. Эта программа предоставит пользователю набор вариантов загрузки. Таким образом, Windows Boot Loader будет определенным выбором при загрузке , который представляет собой конкретную установку Windows.
Если это так, мне нужно создать новую запись загрузчика Windows .
Это означает, что я мог бы хотеть использовать /create
параметр:
/Создайте
Создает новую загрузочную запись:
bcdedit [/ store filename ] / create [ id ] / d description [/ application app | / наследовать [ тип приложения ] | / наследовать УСТРОЙСТВО | / устройство ]
Итак, я предполагаю синтаксис:
>bcdedit /create /d "The old Windows 7" /application osloader
Где application
может быть один из следующих типов:
Apptype Description
BOOTSECTOR The boot sector application
OSLOADER The Windows boot loader
RESUME A resume application
К сожалению, единственная документация, о которой osloader
идет речь, это «Загрузчик Windows» . Я не понимаю, как это можно различить между Windows 8 на одном жестком диске и Windows 7 на другом.
Другой возможный параметр, когда /create
загрузчик
>bcdedit /create /D "Windows Vista" /device "The Quick Brown Fox"
К сожалению, документация отсутствует для /device
:
/ устройство
Необязательный. Если для идентификатора не установлен общеизвестный идентификатор, этот параметр используется для указания новой загрузочной записи в качестве дополнительной записи параметров устройства.
Поскольку я не установил id
известный идентификатор, я должен установить / device на «параметр, который используется для указания новой загрузочной записи в качестве дополнительной записи параметров устройства» . Я знаю все эти слова; они все англичане. Но я понятия не имею, что он говорит; эти слова в таком порядке кажутся бессмысленными.
Так что я немного в тупике. Я не хочу быть похожим на Дэна Столтса из Microsoft, который уничтожил свои жесткие диски, пытаясь использовать BCDEdit :
Я не нашел никакого контента, который был бы особенно полезен, когда я использовал свою машину, играя с BCDEdit. Это сообщение было бы хорошо , если там было гораздо больше деталей , особенно на / набор команд OSDevice и т.д. Так что, как только я получил мою машину фиксирована, я задокументировал решение и информация здесь ... .
Я имею в виду, если парень из Microsoft не может даже понять, как использовать BCDEdit для редактирования своего BCD, то какой у меня шанс?
Бонус Чтение
- Параметры командной строки BCDEdit
- Bcdedit
- Система Server 2008 R2 или Windows 7 НЕ будет загружаться после внесения изменений в менеджер загрузки с помощью BCDEdit
- Визуальный редактор BCD 4
- Установка двойной загрузки Windows 7 и Windows 8 RTM
Сноски
- 1 Поскольку установщик Windows 8 мог повредить мою установку Windows 7, я решил отключить мой «основной» жесткий диск во время установки. Это длинное объяснение того, почему установщик Windows 8 не обнаружил существующую установку Windows 7. Обычно установщик автоматически создает необходимые записи для двойной загрузки. Не то, чтобы причина , по которой я задаю вопрос, важна.
- 2 На самом деле есть три диска, но третий - это просто хранилище. Наличие третьего жесткого диска не имеет отношения к вопросу. Я упоминаю об этом только в том случае, если кто-то хочет знать, почему на скриншоте 3 жестких диска, а я упоминаю только два.
- 3 Я произвольно начал нумерацию разделов с «нуля» ; не подразумевать, что разделы нумеруются начиная с нуля. Я упоминаю только разделы, потому что я не вижу, как какой-либо загрузчик мог бы выполнять свою работу, не зная, в каком разделе и в какой папке находится установка Windows.
- 4 Я спрашиваю о BCDEdit. Я попробовал Visual BCD Editor . Кажется, это визуальный редактор BCD. То есть это графический интерфейс, но он использует ту же терминологию, что и BCDEdit, и требует тех же знаний, которые BCD не документирует.
- 5 Для простоты предположим, что все установки Windows, между которыми я хочу выполнить двойную загрузку, - это Windows Vista или более поздняя версия, что делает их совместимыми с BCDEdit и двоичным загрузчиком. Альтернатива потребует углубления в тонкости старого
ntloader
. Я также не спрашиваю о двойной загрузке Linux; или как загрузить образ виртуального жесткого диска (VHD). Просто современные версии Windows на существующих жестких дисках на одной машине.
bcdedit
дляbcdboot e:\windows
(см здесь для вопроса){current}
не работает.Некоторые замечания по поводу критики в оригинальном вопросе об использовании той же терминологии в Visual BCD, что и Microsoft, используемая для bcdedit.
Концепция BCD разработана Microsoft. Это идет со своей собственной терминологией. Я не думаю, что смогу это изменить. Я могу только продлить это.
Microsoft предоставила два способа доступа / редактирования BCD:
Оба интерфейса говорят об объектах и элементах BCD. Это общая концепция, используемая также в программировании / компьютерах, как и в других областях. Мы могли бы пойти даже к философии, которая использует терминологию объектов, свойств и отношений для описания мира и вселенной.
Доступ поставщика BCD WMI является более гибким, поскольку он дает программисту возможность получить доступ к каждому объекту и элементу в BCD и свободно работать с ними.
Visual BCD полностью использует интерфейс поставщика BCD WMI и реализует доступ так же, как мы используем для доступа к реестру Windows с помощью regedit.exe. Более того, инструмент автоматизирует две основные задачи - создание загрузчиков и восстановление двойной загрузки . Никакой другой инструмент не предлагает такую автоматическую функциональность в один клик . Я бы сказал, что это новая терминология и новый уровень абстракции . Я бы не стал менять базу, созданную Microsoft, я могу только опираться на нее.
Начинающие пользователи просто нажимают кнопку, и выполняется сложная операция! Нет фона не требуется! Вам даже не нужно знать, сколько версий Windows вы установили - инструмент пытается найти их все и затем создать загрузчики для них, если соответствующие загрузчики еще не представлены в BCD - используемая терминология - «Создать отсутствующие загрузчики Windows» - I думаю, что все, кто говорит по-английски, могут понять / щелкнуть / подтвердить такую операцию, или я ошибаюсь?
Сложность объектов и элементов в BCD естественна, так как эта концепция охватывает загрузку более новых и старых ОС Windows, а также иностранных ОС, таких как Linux, Unix и т. Д. Кроме того, это общая концепция для загрузки MBR и загрузки EFI на различных устройствах.
Наиболее сложной частью BCD является концепция устройства . У вас есть раздел устройства, диск ramdisk, файловое устройство, найти устройство - вы должны потратить некоторое время на его понимание, и я не думаю, что это для обычного пользователя Windows. Форумы полны вопросов о разделах диска, что является гораздо менее сложной темой. Например, многие пользователи Windows даже не знают о разнице между основным и логическим разделами. Вы должны знать о разделах, если вы хотите двойной / мультизагрузки. Вы должны купить землю, если хотите построить второй дом.
Концепция BCD та же, что и в Vista - в Windows 7/8 определены только новые элементы.
Я думаю, что структура реестра для BCD выбрана, поскольку Windows уже реализует этот интерфейс, и это надежный транзакционный интерфейс, доказавший свою эффективность на протяжении многих лет. Если концепция реестра Windows в целом хороша или плоха, это другая тема.
Программист / разработчик должен создать более удобный интерфейс. Я начал с предоставления того же интерфейса - графического интерфейса, эквивалентного bcdedit, - позже интерфейс можно абстрагировать на более высоком уровне в зависимости от моделей использования. Структурированное представление BCD уже реализовано. Это базовый уровень абстракции.
Следующим уровнем абстракции будет концентрация на отношениях между объектами, поскольку эта тема не рассматривается Microsoft. Задача не из легких. Новая терминология приходит с абстракцией.
источник
Windows
здесь, и еще одинWindows
там. Как я могу загрузиться между ними?». Вместо полного руководства по всем параметрам BCDEdit я надеялся на команды, которые могут решить только эту (на первый взгляд простую) проблему. Возможно, что-то простоеmsconfig
, за исключением того, что он позволяет вам перейти к другой установке Windows, и он добавит ее для вас.Вам нужна
BCDEdit /set
команда для настройки загрузочного тома. Затем добавьте запись в меню операционной системы Windows Boot Manager, вызвавBCDEdit /displayorder
команду.Он идентифицирует раздел другой ОС или следующую команду, а также
Следующая строка делает запись загрузочной, добавляя ее в меню
Чтобы убедиться, что новая запись появится в меню загрузки, выполните команду
bcdedit /enum ACTIVE
и найдите запись загрузчика устаревшей ОС Windows.Примечание :
/create
команда используется для добавления операционной системы не Microsoft в запись загрузчика.Для получения дополнительной информации об этом вы можете прочитать эту статью источника
Относительно вашего вопроса о " Разнице между загрузчиком Windows и менеджером загрузки "
Из википедии
Смотрите также на Technet .
Visual BCD Editor - это расширенная версия графического интерфейса утилиты Windows bcdedit.
Страница загрузки для визуального редактора BCD.
Попробуйте исправить вариант в инструменте.
источник
Хоть и старый, я хочу добавить к ответам, потому что некоторые из ответов выше содержат неверную информацию. Они, вероятно, работают, но вам, конечно, не нужна внешняя программа, или даже
bcdboot
делать это. Для справки правильная информация выглядит следующим образом:Быстрый BCD фон, если он новый
BCD - это загрузочная конфигурация Windows. Он содержит многочисленные разделы, каждый из которых идентифицируется именем (называемым «описанием») и идентификатором, который выглядит примерно так: «{0743bb44-fda6-11e3-90c8-e3ee27f3aec6}».
Существует несколько «общеизвестных идентификаторов», и bcdedit будет полезно использовать их вместо этого, где это возможно (если только вы не используете опцию
/v
(verbose) с/enum
). Они выглядят так: "{bootmgr}", "{memdiag}". Это просто сокращенные имена для полных идентификаторов, но с ними проще работать. Вы можете использовать либо.Вы можете перечислить эти разделы с помощью следующей команды ( «все» не является обязательным , но без него вы не увидите полный список):
bcdedit /enum all
.Типичный вывод:
Точно так же, для простоты, когда он идентифицирует устройства, он будет использовать подобный формат
\Device\HarddiskVolume2
, но распознает раздел по его букве («C:»), если он назначен.Список, созданный командой,
/enum all
начинается с дополнительного раздела менеджера загрузки прошивки (если на вашей материнской плате установлен EFI). Его сокращенное имя "{fwbootmgr}" . Он управляет первоначальным выбором загрузки EFI (будь то использование обычного менеджера загрузки Windows или определенных устройств). Как правило, вы можете игнорировать {fwbootmgr}, если присутствует.Ниже это «Диспетчер загрузки Windows» (идентификатор «{bootmgr}» ). Это тот, с которым вы будете работать. Он содержит конфигурацию для основного меню или чего-либо еще, что вы получаете при запуске (если Windows Boot Manager работает и может найти BCD в первую очередь).
Ниже {bootmgr} указано любое количество разделов «Загрузчик Windows» и, возможно, других разделов, каждый из которых управляет одним действием или параметром загрузки.
Настройка двойной загрузки с использованием bcdedit (больше ничего не нужно)
Для двойной загрузки вы указываете bcdedit
/copy
существующей известной записи загрузчика Windows для вашей первой ОС./copy
скопировать существующую запись{current}
является идентификатором записи, которую вы хотите скопировать. Это ярлык для текущего загрузочного элемента. Если вы не хотите использовать двойную загрузку, используйте правильный идентификатор для того, который вам нужен. Текст описания для каждой записи поможет найти тот, который вы хотите./d "Description for copied entry
будет описание нового элементаОн создаст копию этой записи, даст ей указанное описание и ответит новым идентификатором, который дал копию:
Это создает независимую запись с правильным именем, теперь вам нужно указать, что делать. Поскольку в последних операционных системах почти ничего не изменилось, вы можете просто установить устройство и osdevice в свой раздел Win7, и это, вероятно, будет работать. Если необходимо, посмотрите на вывод / enum при обычной загрузке Win7 и скопируйте записи, которые, как ожидается, ожидаются. Но обычно достаточно временно назначить букву вашей второй ОС, например, «Q», а затем введите команду:
bcdedit /set {NEW_IDENTIFIER} device partition=Q:
или что-то, и то же самое дляosdevice
. bcdedit отсортирует буквы дисков, см. ниже. Вы можете удалить букву временного диска после ее использования в bcd.Затем добавьте его в список записей в {bootmgr} с помощью
bcdedit /displayorder {NEW_ID} /addlast
и, что крайне важно, скажите bcd отображать меню загрузки с помощьюbcdedit /set {bootmgr} displaybootmenu Yes
.Выполнено.
Обратите внимание - в BCD безопасно использовать «нечетные» или «неправильные» буквы дисков, и это безопасно, если вывод / enum также содержит их.
Чтобы было ясно, вам не нужно беспокоиться о том, что ваше новое устройство будет идентифицировано как Q: (или как оно там), когда оно «должно быть C:». bcdedit хранит идентификатор жесткого диска, а не букву. Это просто принятие и отображение Q: чтобы быть полезным. Если устройство имеет букву, оно будет показывать букву по умолчанию вместо идентификатора устройства, для вашего удобства. Это можно увидеть, удалив или назначив букву из 2-й ОС в DISKPART или DISKMGMT.MSC, и вместо этого вывод / enum немедленно вернется в \ Device. На самом деле он сохранил правильный идентификатор жесткого диска, и когда он используется для загрузки, Windows найдет это устройство - буква для удобства и никогда не сохраняется.
источник
{0743bb44-fda6-11e3-90c8-e3ee27f3aec6}
? Вы уже скопировали{current}
загрузчик Windows ; что еще вы делаете копию? (Не менеджер загрузки Windows, я предполагаю)В ответ на конкретный вопрос автора, который повторяется в комментариях (хотя он отличается от его первоначального вопроса относительно
bcdedit.exe
последовательностей для достижения того же самого):EasyBCD - это именно то, что вы ищете (бесплатно для личного использования). Это визуальный инструмент менеджера двойной загрузки для Windows, и добавление новой записи для Windows производится по принципу «укажи и щелкни», в точности, как ты это описал .
В сети EasyBCD много ресурсов, поэтому я не буду здесь все повторять. По сути, EasyBCD оборачивает сложность
bcdedit.exe
и расширяет ее собственными модулями загрузчика, чтобы вы могли настроить двойную загрузку с другими (более новыми или более старыми) версиями Windows, а также с Linux, BSD и другими.Полное раскрытие: я основной автор EasyBCD.
источник
Это может быть указано на файл, подобный файлу .vhd, но созданный как раздел диска и инициализированный и прикрепленный, или смонтированный на лету и перезагруженный как ОС. ОС может быть скрыта внутри другого раздела. другой раздел может быть скрыт внутри другого раздела и ОС внутри него. при запуске
bcdedit
указывать на другой файл .vhd, где бы он ни находился. Он загружается. Мой преподаватель показал это в классе, но не смог или отказался дать другие объясненияbcdedit
. Но это работает, чтобы скрыть и управлять полностью функциональной ОС.bcdboot e:\windows
bcdboot c:\windows
источник