BOOTMGR wyszuka gałąź \boot\bcd
na partycji, którą uważa za aktywną partycję rozruchową (zazwyczaj aktywną partycję na dysku 0). Na komputerach EFI wersja EFI bootmgr ładuje się \boot\bcd
z ESP (EFI System Partition), który zawsze ma postać FAT32 i zwykle około 100 MiB lub więcej.
Twoje pytanie jest jednak bardzo mylące. Ty mówisz
odczytuje C: \ boot \ BCD, aby załadować inny menedżer rozruchu D: \ bootmgr, który używa D: \ boot \ BCD
Ale powiedz
Co? Staram się unikać dwóch sklepów BCD, jeśli to możliwe
Czy w tym przykładzie, który próbujesz osiągnąć, nie są to dwa różne pliki BCD na dwóch różnych partycjach?
Więc nie jestem pewien, co dokładnie próbujesz zrobić. Jeśli próbujesz sprawić, aby starsza wersja BOOTMGR załadowała tę samą bazę danych BCD, z której korzysta EFI BOOTMGR, tak, byłoby to możliwe. Musisz zmodyfikować emulację bootrecord na dysku (fałszywy MBR, który służy do zatrzymywania komputerów, które nie rozumieją GPT przed ponownym zainicjowaniem dysków i utraty danych), aby wskazać obecność co najmniej dwóch partycji, czyli ESP i Windows partycja, z ESP oznaczonym jako aktywny.
W ten sposób, jeśli BIOS w trybie starszym (lub BIOS, który nie obsługuje UEFI) próbuje uruchomić komputer z dysku GPT ze zmodyfikowanym MBR emulacji, zobaczy partycję ESP jako „zwykłą” partycję rozruchową i wczytaj z niego (za pośrednictwem jego bootsectora, który musisz upewnić się, że został poprawnie napisany za pomocą narzędzia takiego jak bootsect
lub bootrec
) BOOTMGR, który z kolei odczyta ten sam \boot\bcd
na tej samej partycji.