3

Можно ли использовать диспетчер загрузки Windows для цепной загрузки другого диспетчера загрузки Windows?

Например, (как) я могу использовать менеджер загрузки на C:\bootmgr который читает C:\boot\BCD для цепной загрузки другого менеджера загрузки D:\bootmgr который использует D:\boot\BCD?

4 ответа4

0

BOOTMGR будет искать hive \boot\bcd в разделе, который он считает активным загрузочным разделом (обычно активный раздел на диске 0). На машинах EFI EFI-версия bootmgr будет загружать \boot\bcd из ESP (системного раздела EFI), который всегда равен FAT32 и обычно составляет около 100 МБ или около того.

Ваш вопрос, однако, очень запутанный. Вы заявляете

который читает C:\boot\BCD для цепной загрузки другого менеджера загрузки D:\bootmgr, который использует D:\boot\BCD

Но тогда скажи

А? Я пытаюсь избежать двух магазинов BCD, если это возможно

В приведенном вами примере того, чего вы пытаетесь достичь, не являются ли эти два разных файла BCD в двух разных разделах?

Так что я не совсем уверен, что вы пытаетесь сделать. Если вы пытаетесь заставить устаревшую версию BOOTMGR загружать ту же базу данных BCD, которую использует EFI BOOTMGR, да, это было бы возможно. Вам нужно будет изменить загрузочную запись эмуляции на вашем диске (поддельная MBR, которая используется для остановки машин, которые не понимают GPT, от повторной инициализации дисков и потери данных), чтобы указать наличие по крайней мере двух разделов - ESP и Windows. раздел с ESP, помеченным как активный.

Таким образом, если BIOS в унаследованном режиме (или BIOS, который не поддерживает UEFI) пытается запустить компьютер с GPT-диска с измененной MBR эмуляции, он увидит раздел ESP как "обычный" загрузочный раздел и загрузить из него (через его загрузочный сектор, который вам нужно убедиться, что он был правильно написан с помощью такого инструмента, как bootsect или bootrec) BOOTMGR, который, в свою очередь, будет читать \boot\bcd в том же разделе.

0

Ты хочешь:

Загрузка C: запуск bootmgr со специально настроенным BCD в C:\Boot .
Одна загрузочная запись в этой BCD должна запустить другую bootmgr на D:\ которая загружает BCD на d:\Boot с разными загрузочными записями.

Правильный?


Для этого:

Получить образ загрузочного сектора D:\

  1. Запустите Linux, dd if=/dev/sda2 of=bootsec_D.img bs=512 Count=1^
  2. mount /dev/sda2 /media/sda2
  3. cp bootsec_D.img /media/sda2
  4. umount /dev/sda2

Этот bootsec_D.img может быть загружен по цепочке с помощью bootmgr обычным способом.
Например, с Visual_BCD добавление нового загрузчика загрузочного сектора. Настройте раздел и путь правильно.


Надеюсь, что это помогло.

Он работал на моем компьютере, надеюсь, у вас тоже.

0

Вы хотите, чтобы первый bootmgr загружал вторичный bootmgr вместо загрузки одного из типичных загрузчиков ОС

"если это работает", вы должны добавить следующие записи в первый C:\boot\BCD

bcdedit /create /d "Chainloaded Bootmgr" /application BOOTSECTOR
bcdedit /set {ID} device partition=d:
bcdedit /set {ID}  path \bootmgr
bcdedit /displayorder {ID} /addlast

это должно создать пункт меню "Chainloaded Bootmgr"; при запуске он должен загрузить второй bootmgr из D:

0

Вопрос не ясен, однако вы можете попробовать инструмент EasyBCD Скачать EasyBCD здесь ! & VisualBCD Загрузите VisualBCD здесь !

Эти инструменты помогут вам редактировать и модифицировать загрузчики.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .