Как определить и удалить неиспользуемые загрузочные записи на сервере Windows 2008 после сбоя зеркального диска

Как определить и удалить неиспользуемые загрузочные записи на сервере Windows 2008 после сбоя зеркального диска

У меня один из программно-зеркальных дисков на сервере Server 2008 R2 вышел из строя. Он отвалился, перезагрузка восстановила его, но он был устаревшим, поэтому мне пришлось вернуться к зеркалу и восстановить плохой диск (не зная, что он был плохим на тот момент). Затем он снова отвалился, поэтому я заменил его.

Теперь у меня в меню автозагрузки 5 пунктов:

Windows Server 2008 R2
Windows Server 2008 R2 - secondary plex
Windows Server 2008 R2 - secondary plex - secondary plex
Windows Server 2008 R2 - secondary plex
Windows Server 2008 R2 - secondary plex - secondary plex - secondary plex

Запись по умолчанию (Windows Server 2008 R2) не загружается. Вам придется вручную выбрать другую запись, чтобы загрузить сервер.

Мой список bcdedit выглядит следующим образом:

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  unknown
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {default}
resumeobject            {3c1a07d1-3aaf-11e3-be1a-d6c22ece83ca}
displayorder            {default}
                        {current}
                        {3c1a07dc-3aaf-11e3-be1a-d6c22ece83ca}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {default}
device                  partition=\Device\HarddiskVolume2
path                    \Windows\system32\winload.exe
description             Windows Server 2008 R2
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {3c1a07d3-3aaf-11e3-be1a-d6c22ece83ca}
recoveryenabled         Yes
osdevice                partition=\Device\HarddiskVolume2
systemroot              \Windows
resumeobject            {3c1a07d1-3aaf-11e3-be1a-d6c22ece83ca}
nx                      OptOut

Windows Boot Loader
-------------------
identifier              {current}
device                  unknown
path                    \Windows\system32\winload.exe
description             Windows Server 2008 R2 - secondary plex
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {3c1a07d3-3aaf-11e3-be1a-d6c22ece83ca}
recoveryenabled         Yes
osdevice                unknown
systemroot              \Windows
resumeobject            {3c1a07d1-3aaf-11e3-be1a-d6c22ece83ca}
nx                      OptOut

Windows Boot Loader
-------------------
identifier              {3c1a07dc-3aaf-11e3-be1a-d6c22ece83ca}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows Server 2008 R2 - secondary plex - secondary plex
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {3c1a07d3-3aaf-11e3-be1a-d6c22ece83ca}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {3c1a07d1-3aaf-11e3-be1a-d6c22ece83ca}
nx                      OptOut

Я не уверен, какие из них мне следует удалить, а какие следует сделать активными. Тот факт, что запись {current} показывает устройство как "неизвестное", заставляет меня немного стесняться проб и ошибок. Это производственный сервер на удаленном хостинговом сайте, поэтому я не могу по-настоящему экспериментировать, чтобы попытаться сделать все правильно.

diskpart показывает, что диск 1 (из 0 и 1) является загрузочным устройством.

У кого-нибудь есть предложения?

решение1

Для просмотра и сопоставления дисков и разделов можно использовать «Управление дисками» (или использовать diskpart.exe).

Обычно первый диск (диск 0) является кандидатом на загрузку и проверяется на наличие активного раздела. Если на первом диске нет активного раздела, второй диск (диск 1) проверяется на наличие активного раздела и т. д.

Странно, но устройство {bootmgr} также указано как "неизвестное" в текущей системе BCD! Это может создать проблемы.

A.) Лучшее, что вы можете сделать, это перезаписать MBR и PBR на всех дисках и разделах с помощью команды bootsect.exe:

bootsect /nt60 all /mbr

Б.) Затем используйте команду bcdboot.exe для перезаписи (исправления) BCD:

bcdboot Z:\windows 

где Z: - диск, на котором установлена ​​Windows. Позже вам придется исправить загрузчик восстановления с помощью ReAgentC.exe.

C.) Вы также можете записать еще один BCD на несистемный диск (если на нем есть активный раздел), используя

bcdboot z:\windows /s y:

где y: — активный раздел на несистемном диске.

Таким образом, вы сможете загрузиться с любого диска.

Дляпросмотр BCD в графическом и структурированном видеВы можете использовать Visual BCD Editor.

После выполнения команды bcdboot необходимо проверить, что устройства для менеджера загрузки и загрузчика указаны правильно.

После исправления BCD и перезагрузки вы можете удалить все загрузчики, которые имеют «неизвестное» устройство, загрузчики, указывающие на разделы, которые не являются «загрузочным» разделом (где установлена ​​и запускается Windows).

Примечание:

Сделайте резервную копию вашего текущего BCD(!) либо с помощью Visual BCD Editor, либо с помощью

bcdedit /export full_path_filename

(вы можете восстановить BCD в любой момент с помощью "bcdedit /import filename")

Все "ссылки" в BCD через GUID. Например, элемент "порядок отображения" - это список GUID, которые являются GUID загрузчиков. Каждый объект в BCD имеет GUID, который уникален.

Надеюсь это поможет.

Связанный контент