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 - сработало (см. здесь).

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

8 ответов8

7

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

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

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

5

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

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

Я считаю, что вам придется переустановить Windows 7. Простая Ремонтная Установка должна быть достаточной, и только обновит 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

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

5

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

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

2

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

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

Где x - диск с меткой System .

1

Попробуйте исправления, перечисленные здесь: в bootmgr отсутствуют исправления

Есть целый ряд различных исправлений. Решение № 2 сработало для меня. Надеюсь, что это помогает другим.

1

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

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

ура

1

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

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

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

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

Логично, а?

1

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

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

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

В основном вам нужно удалить куст реестра BCD и восстановить его с нуля, а также исправить ссылку на диск C: в Win7DD MvicesDevices в кусте реестра SYSTEM.

С помощью аварийного загрузочного CD вы можете удалить BCD в "Диспетчере файлов", затем воссоздать BCD с нуля и исправить MountingDevices в "Центре монтирования и загрузки".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .