Как определить и удалить неиспользуемые загрузочные записи на сервере 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
B.) Затем используйте команду 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.
Надеюсь это поможет.