BootMgr отсутствует, обычные исправления не работают


19

Я знаю, что этот вопрос задавался ранее, но я попробовал все обычные исправления, и ничего не работает.

В основном на жестком диске было два раздела с Vista и Windows 7. Я удалил раздел Vista, чтобы освободить место, и расширил раздел Windows 7, чтобы заполнить диск (используя GParted).

Я пробовал:

  1. Запуск Startup Repair - проблем не обнаружено.
  2. Установка раздела в Active - сработало.
  3. bootsect /nt60 c: - работал.
  4. BootRec /FixMbr - работал.
  5. BootRec /FixBoot - работал.
  6. BootRec /ScanOs - Я получаю сообщение "Всего идентифицированных установок Windows: 0"
  7. BootRec /RebuildBcd - Я получаю сообщение "Всего идентифицированных установок Windows: 0"

BcdEdit показывает Диспетчер загрузки Windows и загрузчик Windows, оба в разделе C :.

[Обновить]

  1. Переименуй BCD и перезапусти BootRec /RebuildBcd- сработало.
  2. Скопировать bootmgr с DVD - заблокировано, потому что файл уже там.

[Обновление 2]

Я нашел здесь статью, в которой упоминаются некоторые другие команды.

  1. C:\chkdsk /f /r - работал.
  2. sfc /scannow /offbootdir=c:\ /offwindir=c:\windows- работал (см. здесь ).

Что еще я могу попробовать?


Вы уверены, что используете консоль восстановления для той же версии Windows, которую пытаетесь восстановить?
Дэвид Шварц

Да, я создал ремонтный DVD вчера, прежде чем начал.
parsley72

возможный дубликат Bootmanager отсутствует
JdeBP

1
Я уже все перепробовал в топовых ответах. Я постараюсь отдохнуть сегодня вечером.
parsley72

В следующий раз используйте diskpart из Windows вместо GParted.
ZippyV

Ответы:


7

Я исправил это:

  1. Резервное копирование раздела на внешний диск (с помощью GParted).
  2. Удалить раздел.
  3. Переустановите Windows 7 на (теперь пустой) диск.
  4. Скопируйте содержимое раздела поверх новой установки Windows (используя System Rescue CD).

Теперь Windows загружается правильно и выглядит точно так же, как и раньше.


2
Интересный. Кажется, это указывает на то, что при установке с пустым диском установка Windows выполняет дополнительные инициализации, которые не были выполнены для восстановления. Мой совет по очистке магазина BCD мог иметь такой же эффект, а может и нет, а может и нет. Именно из-за таких неизвестных вещей, если обычные решения не работают, нужно переформатировать диск и начать заново (как я также советовал). Вам очень повезло, что вы смогли сохранить свой раздел Windows, который, вероятно, работал только потому, что вы уже выполнили восстановление при загрузке, которое исправило реестр, но не все файлы загрузочного сектора.
Harrymc

Как упоминалось выше, я попытался экспортировать, переименовать и перестроить bcdedit, и это не сработало.
parsley72

Можете ли вы более подробно рассказать о шагах, которые вы предприняли, чтобы это исправить? Я нахожусь в той же ситуации с Windows 7, и я не могу понять, что вы подразумеваете под «Скопировать содержимое раздела поверх новой установки Windows (с помощью компакт-диска System Rescue). Спасибо!
Мартин Дель Веккио,

1
Это сумасшедшее излишество, и я почти соблазнился сделать это, потому что у меня была та же проблема с Windows 8. Единственное решение, которое работало для меня, было использование bcdbootконсоли восстановления, как описано также в этом вопросе .
Стефан Зайдель

2
Ну, к сожалению, еще одно исправление переустановки с нуля ... :( Я полагаю, достаточно установить исправление .
phoeagon

5

Я предполагаю, что у вас была Vista на диске в качестве раздела 1, а затем Windows 7 в качестве раздела 2, а затем удалил Vista, что означает, что Windows 7 теперь находится в разделе 1.

К сожалению, Windows идентифицирует свои разделы по их номерам, так что все ссылки на разделы в реестре Windows 7 теперь неверны и непригодны для использования.

Я считаю, что вам придется переустанавливать Windows 7. Достаточно простой установки Repair , которая будет только обновлять Windows и не мешать установленным приложениям.

Или, для хитрого решения, вы можете создать небольшое пустое пространство на диске перед разделом Windows 7 и отформатировать его как NTFS, фактически воссоздав суррогатный фиктивный раздел 1, который восстановит раздел Windows 7 на его позицию 2 на диск. Возможно, вам все еще нужно будет выполнить Восстановление при загрузке.

[РЕДАКТИРОВАТЬ]

Вы можете заставить Windows воссоздать раздел хранилища BCD, загрузившись с DVD-диска в командной строке параметра Восстановить и введя:

bcdedit /export C:\BCD_Backup
ren c:\boot\bcd bcd.old
bootrec /rebuildbcd

В случае проблем с разрешениями, используйте команду attrib bcd -s -h -rперед переименованием. Перезагрузите компьютер, и если он не работает, снова выполните Восстановление при загрузке.

Другое отчаянное решение состоит в том, чтобы предположить, что bootmgr был поврежден и загрузиться, как указано выше, и сделать:

ren c:\bootmgr deletemelatter
bootrec /rebuildbcd
bootrec /fixboot

Если ничего не работает, просто переформатируйте весь диск и установите его с нуля. Не каждая проблема может быть проанализирована или имеет решение.


Вы можете исправить ссылку? Я думаю, что я уже попробовал это, но я хочу проверить, что вы предлагаете.
parsley72

Готово - ссылка восстановлена.
Harrymc

Я попробовал это на днях, но я выбрал вариант установки новой версии Windows 7, и он сказал мне, что мне не хватает места. Я понимаю, что вы говорите о ссылках на разделы, но почему для загрузки BootMgr требуется реестр Windows 7? Конечно, BootMgr требуется для загрузки Windows 7, чтобы реестр мог быть загружен, а не наоборот?
parsley72

Значения из реестра считываются BootMgr во время загрузки, поэтому реестр необходим для запуска Windows. Мне довольно интересно, почему у вас не было достаточно места. Восстановление Установка может не дать вам ту же ошибку, но заметьте, что запуск Windows без достаточного свободного места на системном диске опасен. Если возможна новая установка Windows, то вы также можете отформатировать диск и переустановить.
Harrymc

1
«все ссылки на разделы в реестре Windows 7 теперь некорректны и непригодны для использования» ... какие именно ссылки вы имеете в виду? Я знаю только одно место в реестре, в котором хранятся ссылки на разделы ( HKLM\SYSTEM\MountedDevices), и это можно исправить вручную - и я уверен, что оно отслеживает разделы по начальному сектору, а не по номеру ...
Mehrdad

5

Пожалуйста, убедитесь, что раздел восстановления Windows 7 установлен в качестве активного !!

У меня были проблемы, потому что активный раздел был установлен в C: \


Я хотел бы дать вам миллион голосов. Ваш ответ выручил мою докторскую степень. Я уже думал о форматировании. Будьте здоровы. Я перепробовал все на Bing, Google и почти на всех поисковых сайтах. Это действительно спасло меня. Огромное спасибо.
afaolek

@afaolek Вы делаете резервные копии сейчас?
Фрэнк Кастерс

2

Если бы та же проблема была исправлена ​​ниже, я решил, что вы уже знаете и запустил аварийный диск в командной строке, я использовал инструмент bcdboot.exe для воссоздания BCD:

bcdboot c:\Windows /l en-gb /s x:

Где xнаходится диск с Systemэтикеткой.


1
Это сработало для меня, когда Bootrec не сделал. Спасибо. Мне не нужно было указывать x :. «bcdboot c: \ Windows / l en-us» было достаточно
Dmiters

@DmitryNarkevich Пожалуйста. То же самое для меня в то время, поэтому я опубликовал этот ответ
Эдуард Флоринеску

1

Загрузчик Windows идентифицирует разделы по смещению в секторах + 4-байтовая подпись диска в MBR. Поэтому, когда вы переместили системный раздел с помощью GParted, произошли две странные вещи:

1) Изменено смещение диска системного раздела Win7, все ссылки, хранящиеся в кустах реестра BCD и SYSTEM, теперь повреждены.

2) Системный раздел Win7 теперь имеет тот же идентификатор, что и системный раздел WinVista, поэтому две ссылки теперь сталкиваются: загрузчик со старыми настройками пытается загрузить Win7 как Vista, но не удается.

По сути, вам нужно удалить куст реестра BCD и восстановить его с нуля, а также исправить ссылку на диск C: в Win7's MountingDevices в кусте реестра SYSTEM.

С помощью аварийного загрузочного CD вы можете удалить BCD в «Диспетчере файлов», затем воссоздать BCD с нуля и исправить MountingDevices в «Mount & Boot Center».



1

Я хочу улучшить решение, которое дал parsley72:

Вместо того, чтобы копировать раздел, установите Windows, затем скопируйте обратно:

Вы можете загрузиться с компакт-диска (либо с диска восстановления системы, либо с диска установки Windows) - я использую SRD для исправления моего - затем выберите опцию «Исправить ваши окна». Это делает волшебство!

Я думаю, причина в том, что у вас уже есть все на C: (восстановленная ОС, MBR и т. Д.), Остается только Windows найти информацию о загрузке (то, что может сделать только программное обеспечение Windows).

Логично, а?


1
Так что это будет первым в списке вещей, которые я попробовал, но это не помогло?
parsley72

1

Это просто поясняющий комментарий к замечанию Наркевича (я хотел просто добавить комментарий, но, похоже, мне было запрещено это делать

Причина, по которой вам не нужен параметр / sx:, заключается в том, что по умолчанию bcd boot изменяет bcd на томе, который активен в данный момент. Это почти всегда то, что вы хотите. Если указать / s и букву диска, то либо 1. Буква диска является активным томом, и команда будет делать то же самое без / sx: как с ним, либо 2. Буква диска отличается от текущего активного объем. В этом случае то, что действительно происходит во время загрузки, может быть затронуто только в том случае, если поврежден либо bcd на активном диске, либо 2. Если позднее вы измените, какой диск помечен как активный, на диск с именем / s.

ура


Ответы зарезервированы для решения вопроса. Недостаточное количество повторений для комментариев не превращает это в решение. Неполученные ответы привлекают отрицательные отзывы, что задержит ваше посещение комментария. Возможно, имеет смысл сохранить это, пока вы не сможете опубликовать его в качестве комментария.
fixer1234
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.