Несколько записей nt52 в bootmgr

У меня есть машина с Windows XP, Server 2003 R2 и Server 2008 R2.

Прямо сейчас bootmgr имеет одну запись для Server 2008 R2 и одну запись для ntldr, что затем приводит к меню ntldr boot.ini.

Можно ли добавить две разные записи nt52 на два раздела, чтобы я мог получить доступ ко всем трем ОС из меню bootmgr?

В настоящий момент Server 2008 и XP находятся на логических дисках в расширенном разделе, но (я полагаю) я могу создать образ для них при необходимости.

2 ответа

Обычно в BCD (загрузчик Vista/Windows7/Longhorn) вам нужна всего одна запись для всех ОС на основе ntldr, которые вы хотите загрузить. Когда BCD передает управление в NTLDR, NTLDR использует boot.ini для предоставления списка, этот список может и должен содержать все ОС на базе NT, которые вы хотите загрузить.

Например

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP"
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Windows Server 2003"

Вкратце: в основном у вас есть меню загрузки BCD / Vista / Windows 7, в котором есть пункт, позволяющий переключиться в меню загрузки NTLDR/XP/Server 2003. Записи, основанные на Vista/2008, отображаются в меню загрузки BCD, записи на основе NT/XP отображаются в меню NTLDR. И у вас есть возможность загрузить меню NTLDR в список BCD.

Еще короче: вам нужна только одна запись nt52 для NTLDR в bootmgr. Поместите все другие oses на основе nt52 в BOOT.ini этой записи. Boot.ini может обрабатывать загрузку различных ОС на базе nt52 на разных дисках / томах с использованием формата multi-disk-rdisk-partition.

РЕДАКТИРОВАТЬ: это не работает


Я использовал EasyBCD, чтобы добавить запись NTLDR для второго раздела.
Когда я перезагрузился, выбор этой записи дал ошибку NTLDR not found.
Я скопировал NTLDR и boot.ini в этот раздел, и запись сработала, но все же прочитал boot.ini из системного раздела.

Предупреждение: чрезвычайно опасно!

Если бы я действительно хотел, я мог бы открыть вторую копию NTLDR (во втором разделе) в шестнадцатеричном редакторе и изменить ссылки на boot.ini, например, на boXP.ini. Затем я могу создать boXP.ini в системном разделе и указать только запись для XP.

Конечно, если ntldr выполняет проверку целостности, это вообще не сработает.
РЕДАКТИРОВАТЬ: я попробовал это на виртуальной машине, и, когда я перезагрузился в раздел с измененной копией NTLDR, он сказал, NTLDR is corrupt. The system cannot boot.

Это не было бы так опасно, как кажется, потому что реальный системный раздел сохранил бы свой первоначальный NTLDR и имел бы boot.ini, который по умолчанию установлен на Server 2003 с очень небольшим таймаутом.

Несмотря на это, я бы предпочел сделать что-то более вменяемое.

Другие вопросы по тегам