BootMgr відсутній, звичайні виправлення не працюють


19

Я знаю, що це питання було поставлено раніше, але я спробував всі звичайні виправлення і нічого не працює.

В основному жорсткий диск був два розділи з Vista і Windows 7. Я видалив розділ Vista, щоб зробити більше місця і розширений розділ Windows 7 для заповнення диска (за допомогою GParted).

Я намагався:

  1. Запуск ремонту при запуску - він не знаходить жодних проблем.
  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, яку ви намагаєтеся відновити?
David Schwartz

Так, учора я створив DVD для ремонту.
parsley72


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 CD).
Martin Del Vecchio

1
Це божевільне переповнення, і я майже спокушався зробити це, тому що у мене була та ж проблема на Windows 8. Одне рішення, яке працювало для мене, однак, полягало у використанні bcdboot в консолі відновлення, як описано також в це питання .
Stefan Seidel

2
Ну, на жаль інший переінсталювати з нуля виправити ... :( Напевно ремонт встановити достатньо.
phoeagon

5

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

На жаль, Windows ідентифікує свої розділи за їхніми номерами, так що всі посилання на розділи в реєстрі Windows 7 зараз неправильні і непридатні для використання.

Я вважаю, що вам доведеться перевстановити Windows 7. Простий Ремонт установки має бути достатньо, і тільки оновить Windows і не порушить встановлені програми.

Або, для підлий рішення, ви можете створити невеликий порожній простір на диску раніше Розділ Windows 7 і відформатувати його як NTFS, по суті відновлюючи сурогатний фіктивний розділ 1, який відновить розділ Windows 7 на його номер 2 на диску. Можливо, вам знову доведеться робити ремонт.

[EDIT]

Ви можете змусити 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 Ви зараз робите резервні копії?
Frank Kusters

2

Якщо у мене була така ж проблема, що і нижче, то, припускаючи, що ви вже знаєте і запустили рятувальний диск в Command Promt, я використав інструмент bcdboot.exe для відтворення BCD:

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

Де x є диск, який має System етикетці.


1
Це працювало для мене, коли bootrec не зробив. Дуже дякую. Мені не потрібно було вказувати x :. "bcdboot c: Windows / l en-us" було достатньо
Dmiters

@DmitryNarkevich Будь ласка. Те ж саме для мене в той час, тому я розмістив цю відповідь
Eduard Florinescu

1

Завантажувач Windows ідентифікує розділи шляхом зсуву в секторах + 4-байтовий підпис диска в MBR. Тому, коли ви перемістили системний розділ з GParted, сталося дві незвичайні речі:

1) Зміщення диска Win7 системного розділу змінилося, всі посилання, що зберігаються в BCD і SYSTEM hives реєстру, тепер порушені.

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

В основному вам потрібно видалити кущ реєстру BCD і відновити його з нуля, а також виправити посилання на диск C: у Win7's MountedDevices в системному кущі реєстру.

Використання CD аварійного завантаження Ви можете видалити BCD у "Менеджері файлів", а потім відтворити BCD з нуля та виправити "MountedDevices" у "Mount & Boot Center".



1

Хочу поліпшити розчин петрушки 72: \ t

Замість того, щоб копіювати розділ, встановлювати вікна, а потім копіювати:

Ви можете завантажитися на компакт-диск (або System Rescue Disk або Windows, створений диск) - я використовую SRD, щоб виправити мій - потім, виберіть варіант Fix your windows. Це робить магію!

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

Логічно так?


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

1

Це лише пояснювальний коментар до зауваження Наркевича (я хотів просто додати коментар, але, здається, заборонено робити це

Причина, чому вам не потрібен параметр / s x: полягає в тому, що за замовчуванням завантаження bcd змінює bcd на об'єм, який наразі є активним. Це майже завжди те, що ви хочете. Якщо вказувати / s і букву диска, то або 1. Буквою диска є активний том, і команда буде робити те ж саме без / s x: як і з ним; 2. Літера диска відрізняється від поточного активного гучності. У цьому випадку, що насправді відбувається під час завантаження, може вплинути лише на те, чи пошкоджено bcd на активному диску, або 2. У якийсь пізніший час ви зміните диск, який позначено активним, до того, який названий після / s.

Привітання


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