Вопрос: Как я могу восстановить загрузчик EFI Windows 8?


Несколько дней назад я установил Windows 7 и Windows 8 в режиме EFI на жестком диске. Сегодня загрузчик пропал / поврежден.

В настоящее время у меня установлен установщик Windows 8 на флеш-накопителе и попробовал использовать параметр «Автоматическое исправление» для восстановления загрузчика, но он ничего не делал. Параметр «Восстановление при загрузке» также отсутствует в установщике Windows 8.

Как я могу восстановить / воссоздать загрузчик EFI из командной строки?

BCDEDIT возвращает следующее сообщение:

The requested system device cannot be found.

118
2017-08-12 18:06


Источник


Что не так с текущими решениями? - soandos
@soandos У меня была такая же проблема. Я выполнил команды от вас и harrymc, и теперь все работает отлично! Большое спасибо вам обоим. - ComFreek
Так же, как FYI, но недавно мы выпустили автоматизированный инструмент восстановления EFI для Windows 8: neosmart.net/blog/2013/... - Mahmoud Al-Qudsi
Я не ожидал, что у людей будет столько проблем с окнами UEFI 8 ... Как системный раздел просто исчезнет или все испортится? Он даже не монтируется в Windows, поэтому повреждение файловой системы не может быть. И все текущие операционные системы достаточно без ошибок, чтобы не заглушить существующую установку Windows. На самом деле, даже окна не развязывают Linux на UEFI, удивление неожиданностей. - Milind R
Это не применяется, если вы используете динамические диски - rainabba


Ответы:


Я потратил много времени, пытаясь заставить мой ПК с Windows 8 снова загрузиться после клонирования на новый SSD и попытаться обобщить, как я наконец получил все это,

Во-первых, загрузка с диска восстановления UEFI Windows 8 (CD / DVD / USB) - я обнаружил, что автоматизированный процесс восстановления не нашел нужного раздела Windows, и когда мне удалось добавить его в настройки BCD, он сделает его надежно загрузочным например используя BCDEDIT Я получил его, чтобы найти и запустить раздел Windows, но он отказался от холодной загрузки или не «сохранил» настройки после второй перезагрузки или отключения питания.

Перейдите в раздел «Дополнительные параметры» и запустите командную строку.

Войти diskpart для использования инструмента DiskPart, чтобы убедиться, что у вас есть все нужные разделы и определить раздел EFI - главное, что ваш раздел EFI отформатирован как FAT32:

DISKPART> sel disk 0

Disk 0 is now the selected disk.

DISKPART> list vol

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     E                       DVD-ROM         0 B  No Media
  Volume 1     C                NTFS   Partition    195 GB  Healthy    Boot
  Volume 2         WINRE        NTFS   Partition    400 MB  Healthy    Hidden
  Volume 3                      FAT32  Partition    260 MB  Healthy    System

Затем назначьте букву диска разделу EFI:

DISKPART> sel vol 3

Volume 3 is the selected volume.

DISKPART> assign letter=b:

DiskPart successfully assigned the drive letter or mount point.

Выйдите из инструмента DiskPart, введя exit и в командной строке выполните следующие действия:

cd /d b:\EFI\Microsoft\Boot\

bootrec /fixboot

Удалите или переименуйте файл BCD:

ren BCD BCD.bak

использование bcdboot.exe для воссоздания магазина BCD:

bcdboot c:\Windows /l en-gb /s b: /f ALL

/f ALL параметр обновляет параметры BIOS, включая прошивку UEFI / NVRAM, /l en-gb является локализация для локали Великобритании / Великобритании. Локализация по умолчанию используется для американского английского или используется в США.

Перезагрузитесь и скрестите пальцы.

Это дало мне головные боли. Я долго шел по кругу. На момент написания статьи UEFI / Windows 8 не было достоверной информации об исправлении UEFI / Windows 8.

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

Чтобы снова включить Hyper-V, я также должен был запустить следующее из командной строки администратора в Windows после перезагрузки:

bcdedit /set {default} hypervisorlaunchtype Auto
bcdedit /set {default} nx OptIn

179
2017-11-12 00:27



Это из Windows 10 загружает ISO. сначала не работал, но после этого запускал запуск в меню GUI, и это сделало это, спасибо G-d. :-) Я ценю помощь :-) - Abbafei
этот рецепт считался самым перспективным, но я ударил BFSVC Error: Could not open the BCD template store. STatus = [c000000f ] :( - Dusan Bosnjak 'pailhead'


Другие ответы полезны, но это то, что я должен был сделать, чтобы исправить мою.

У меня был жесткий диск емкостью 1,5 ТБ с установленной Windows 7. Затем я установил Windows 8 на SSD емкостью 150 ГБ, которую я купил. Жесткий диск емкостью 1,5 ТБ вышел из строя, и я слышал, как он шумит, мой компьютер больше не запускается, говоря «пожалуйста, вставьте системный диск». Я думал, что загрузчик отсутствует, поскольку он, должно быть, был на диске с частотой 1,5 ТБ. Оказывается, это была проблема, но тогда руководство, за которым я следил, не перестраивало загрузчик или что бы то ни было, так как у меня не было раздела EFI на более компактном диске объемом 150 ГБ (это могло существовать на неисправном диске), это только 1 раздел, который заполнил весь диск.

Я не хотел потерять все свои данные, поэтому я ввел Командную подсказку, загрузившись с моего установочного USB-диска Windows 8 (отметив, что вы не можете загрузить версию UEFI этого, если это появляется, выберите для загрузки с только USB-накопителя без UEFI появляется перед ним).

В командной строке (см. Другие ответы для инструкций) вам необходимо сжать раздел. Для этого введите следующие команды, нажав Войти после каждого:

diskpart

list disk

select disk 0

list partition

select partition 1

shrink desired=200 minimum=200

create partition efi

list partition

select partition 2

format fs=fat32

Эти команды создадут раздел EFI. Дважды проверьте все, набрав list vol, Вы должны увидеть раздел размером 200 МБ. Теперь вам нужно назначить ему письмо. Сделайте это, набрав assign, тогда list vol снова, чтобы увидеть, какая буква была назначена.

Теперь вам нужно скопировать файлы загрузки в этот вновь созданный раздел:

bcdboot C:\Windows /l en-gb /s B: /f ALL

Заметка: вы должны заменить C: с буквой диска раздела, содержащей Windows, и B: с буквой, назначенной на раздел EFI, который вы только что создали.

Я также ввел следующие команды:

bootrec /fix

bootrec /fixmbr

Они оба вернулись успешно, не знаю, действительно ли они что-то сделали, кроме тех, кого это волнует. Теперь Windows полностью восстановлена.


20
2017-12-12 06:01



bootrec / fix не является действительной командой в Windows 8, но в остальном инструкции работали и решали все мои проблемы. Благодаря! - Ciaran Fisher
i: мой раздел EFI (сначала на диске), но он пуст. Когда я бегу bcdboot c:\windows /s i: /f ALLЯ получаю «Ошибка BFSVC: не удалось установить устройство приложения emement. Status = [c00000bb]« Я сражался в этой битве в течение нескольких месяцев и с каждой попыткой продолжал работать с флеш-накопителем, который, как представляется, содержит мои загрузочные файлы EFI, потому что II может загрузиться с него, но если я удалю его, я не смогу загрузиться. - rainabba
Большое спасибо! Это спасло мой день. Я пробовал практически все, и ничего не получилось. Шаг, который я отсутствовал, - это форматирование объема EFI. После форматирования объема EFI. Команда bcd boot успешно работала, и у меня снова появились резервные копии Windows 10. - Sahil
+1 за то, что он сказал мне выбрать букву диска Windows вместо обычного C: - ptetteh227


Хорошо, у меня было время собрать здесь правильный план. Это долго, но это довольно полно и должно помочь вам понять, что происходит.

Во-первых, это может случиться так:

  1. Ваш BIOS теряет свои настройки.
  2. Нет проблем, все эти вещи хранятся в разделе EFI.
  3. ... за исключением установки SATA IDE и AHCI по очевидным причинам.
  4. Вы использовали SATA-AHCI? Вероятно, вы используете SATA-IDE.
  5. Вы пытались загрузить, прежде чем вы это поняли?
  6. Если вы это сделали, это провалилось. Вы позволили Windows исправить это?
  7. Если вы это сделали, BLAM, он вполне может уничтожить базу данных конфигурации загрузки.
  8. Убедитесь, что вы используете правильную настройку SATA, которую вы использовали в прошлый раз.

Вот что вы, наверное, уже сделали. ЕСЛИ ЛЮБОЙ ИЗ ЭТОГО НЕ СОБИРАЕТСЯ, ТЩАТЕЛЬНО ОЦЕНИВАЙТЕ, ЧТО ЭТО В ВАШЕЙ ПРОБЛЕМЕ, И ПРОЧИТАЙТЕ это для идей, но НЕ ПОСЛЕДУЙТЕ это, не думая в первую очередь.

  1. Вы ВПЕРВЫЕ проигнорировали всю хрень об исправлении главной загрузочной записи (MBR), таблицы разделов, флагов разделов и других мусора, которые НЕ ПРИМЕНЯЮТСЯ к сценарию загрузки EFI. ВООБЩЕ, В лучшем случае вы сможете полностью перестроить новый, несвязанный, NON-EFI. Однако это может быть не тривиально, потому что:

  2. Вы поняли, что Windows уверена, что у нее нет базы данных конфигурации загрузки, но она, к сожалению, либо совершенно невежественна, либо ОЧЕНЬ уверена в том, куда она идет - вы не можете сказать, что именно.

  3. Вы знаете, что загрузочный магазин обычно (где-то) \ Boot \ BCD и что файл HIDDEN; просмотрите его, используя «dir / a: hs».

  4. Вы немного познакомились с BCDEDIT.EXE и выяснили, что он позволит вам «макетировать» базу данных конфигурации загрузки в промежуточном файле с помощью «/ CREATESTORE» (и, пожалуйста, не называть его «BCD»), что вы можете явно использовать промежуточный файл с параметром «/ STORE», который вы можете добавить в пункт меню для диспетчера загрузки Windows с помощью «/ CREATE {bootmgr}» и что вы ДОЛЖНЫ иметь возможность импортировать его с помощью «/ IMPORT», ...

  5. ... но когда вы пытаетесь это сделать, вы не можете. Вы смотрите на параметр / SYSSTORE, который звучит правильно, но вы не можете заставить его использовать другой магазин, потому что он «неоднозначный». У вас есть подозрение, что он знает, где находится магазин или должен быть ... но вы не можете его найти.

  6. Вы пытались использовать «MOUNTVOL» для монтирования раздела EFI, но он даже не отображается в списке, поэтому вы не можете.

Если ВСЕ, что справедливо относится к вам, вот что МОЖЕТ продолжать:

  1. Windows может сказать, что вы настроены для EFI (вы загрузили DVD через загрузку UEFI, у вас есть раздел EFI и т. Д.).

  2. Поэтому он знает, ГДЕ СМОТРЕТЬ для BCD-файла - однако, он либо имеет неправильное расположение (не эта проблема, а аналогичная), либо BCD был удален.

  3. По-видимому, потому что он знает, где это ДОЛЖНО быть, это ломается / SYSSTORE - и на самом деле, это, вероятно, правильное поведение, потому что иначе вы бы поставили его не в том месте.

  4. Насколько я могу судить, MOUNTVOL намеренно скрывает раздел EFI (или как-то не в состоянии его заметить). Это предотвращает установку файловой системы, что предотвращает поиск правильного подкаталога, проверку наличия базы данных и т. Д.

Итак, вот, наконец, это то, что вам нужно сделать. Хорошая новость заключается в том, что это, наверное, намного проще, чем вы надеетесь.

  1. Вам действительно нужно установить раздел EFI.

На самом деле, у меня есть догадка, что это не строго Правильно. Я сильно подозреваю, что раздел EFI уже установленный какой-то внутренней подсистемой, поэтому BCDEDIT запутан - он не видит базу данных, но знает, куда она должна идти. Однако все, что у него нет, является буквой диска. Так что делать?

Ну ... как далеко уходят ваши корни DOS? Вы помните команду ASSIGN? Угадай, что.

  1. Запустите DISKPART.

  2. Если вы не знакомы с DISKPART, то, как он в основном работает, является иерархией наборов; вы должны выбрать ровно один элемент на одном уровне, чтобы перейти к следующему. Итак, «LIST DISKS», а затем «SELECT DISK n», где n - это то, что вам подходит.

  3. Используйте «LIST PARTITION» и «LIST VOLUME» (обратите внимание на множественное число), чтобы получить представление о себе и определить раздел EFI.

Обычно это раздел 100 МБ FAT32 с надписью «SYSTEM». Имейте в виду, что на вашем диске теперь должна быть таблица разделов GPT, поэтому вы можете увидеть довольно много разделов. Некоторые из них предназначены для экстренного восстановления - жирная много пользы, которую они делают для проблем EFI, а? Ну что ж.

Обратите внимание, что раздел EFI и несколько других не имеют букв дисков. Если вы так склонны, вы также можете просмотреть атрибуты раздела GPT, что может привести к нескольким касательным аспектам «Aha».

  1. «SELECT PARTITION n», где n - раздел EFI. (Я думаю, вы могли бы выбрать том вместо этого, если вам нужно.)

  2. "ASSIGN". Вот и все. Не указывайте букву диска; просто «ASSIGN».

  3. "СПИСОК ОБЪЕМА". Теперь вы должны увидеть букву диска, назначенную разделу EFI.

  4. «EXIT» DISKPART.

А теперь ... большое толстое предупреждение. Вероятно, вы перейдете непосредственно к S: (или независимо от того, что вы получили от ASSIGN) и обратите внимание на раздел / Boot. "АГА!" Вы скажете. «Здесь нет файла BCD!» Сначала ... помните, что файл скрыт. Во-вторых ... копайте немного больше, и вы заметите, что пока есть:

S: \ EFI \ Загрузочный

Есть также:

S: \ EFI \ Microsoft \ Boot

Вам нужно проверить оба эти вопроса.

S: \ EFI \ Boot для материнская плата, и содержит загрузку Windows ПОГРУЗЧИК (и, возможно, другие вещи для других операционных систем). У этого есть это имя, потому что материнская плата не имеет понятия, если у вас будет Windows или нет, и нужен определенный путь, который имеет смысл.

  1. Проверьте S: \ EFI \ Boot. Для Windows 7 Professional, 64-бит, вы должны увидеть:

BOOTX64.EFI

Если вы установили оболочку EFI (всегда хорошая идея), вы можете дополнительно просмотреть «shellx64.efi».

ПРИМЕЧАНИЕ. Пользователи с двумя загрузками Linux, использующие «chainloader + 1», не будут видеть дополнительную запись здесь.

  1. Проверьте S: \ EFI \ Microsoft \ Загрузка с помощью и то и другое «dir» и «dir a: h». Для Windows 7 Professional, 64-бит, вы должны увидеть набор языковых шаблонов («en_US» и т. Д.) И следующие файлы:

bootmgr.efi Bootmgfw.efi memtest.efi BCD BCD.Backup.001 BCD.Backup.002

... кроме того, что вы, вероятно, не видите BCD, не так ли? Но эти резервные файлы наверняка выглядят соблазнительными.

  1. Определите, какой файл резервной копии вы хотите использовать. Независимо от того, какие недавние изменения отсутствуют, они не так важны, как ваша способность загружать систему, поэтому используйте тот, который наиболее неповрежден. Вероятно, вы увидите один большой и один довольно маленький. Маленький уже поврежден и является артефактом неудачного процесса восстановления - не используйте его. Если они оба большие, используйте более старый. В ЛЮБОМ СЛУЧАЕ сделайте ДОПОЛНИТЕЛЬНЫЕ РЕЗЕРВНЫЕ КОПИИ РЕЗЕРВОВ где-нибудь еще.

  2. Скопируйте резервную копию, которую вы решили использовать для «BCD».

  3. Выйдите из оболочки, выключите ее и перезагрузите.

  4. Скажите Windows, чтобы начать НОРМАЛЬНО. На этом этапе это должно начаться.

В: Что делать, если у вас нет резервной копии BCD?

A: Ну, это действительно не должно произойти. Скорее всего, вы находитесь в неправильном каталоге, поддерживаете EFI, но на самом деле не используете его, или каким-то образом перестроили весь раздел EFI без всех необходимых материалов Windows (возможно, особенно при использовании нескольких версий Windows). В этом случае вам нужно будет скопировать материалы EFI с DVD-диска, а затем изменить или перестроить базу данных конфигурации загрузки с помощью BCDEDIT.

В: Можете ли вы привести мне пример сценария, где «BCDEDIT / SYSSTORE» можно использовать для чего-либо вообще в системе EFI?

A: Пока нет.

Во всяком случае, надеюсь, что это поможет решить некоторые проблемы для людей или, по крайней мере, заставляет их думать. Обратите внимание, что в качестве очень важного конечного пункта вы можете установить и проверить свой раздел EFI под Windows обычно используя технику DISKPART ASSIGN выше. Вы должны сделать это хотя бы один раз, чтобы получить полную резервную копию своего раздела EFI, ДО вы сталкиваетесь с такими неприятностями. Я рекомендую одну резервную копию в подкаталоге на вашем диске C: и на USB-накопителе.

Извините, это так долго. Мне нужно в какой-то момент превратить это в подходящую статью, но есть так много людей, которые так расстроены, что я почувствовал необходимость документировать свой опыт как можно быстрее и быстрее.

Ура,    Мэтт «Точка прерывания» Хек


8
2017-11-28 03:14



На самом деле MOUNTVOL позволяет монтировать ESP. Вы используете букву MOUNTVOL: / S. - Yuhong Bao
Итак, когда вы монтируете этот раздел EFI и ничего не обнаруживаете, как действовать? Я думал, что bcdboot c:/windows /s i: /f ALLили это заставило бы меня начать, но это только что привело меня к ошибке BFSVC: не удалось установить элементное приложение элемента. Status = [c00000bb] " - rainabba
Несмотря на то, что когда-либо видели эту ошибку, теперь появляется, что у меня есть папка EFI на этом диске, где я раньше не был. Все еще не может сделать ничего другого без ошибок и не может загрузиться, но это по крайней мере. - rainabba
Решил попробовать еще один маршрут целиком. Я подключил еще один флеш-накопитель, вытер его, передал ему букву диска, а затем повторил ее использование в качестве цели вместо моего раздела EFI. Короче говоря, я не загружаюсь в свою Windows-установку, но с этого флеш-накопителя. Мне не удалось загрузить с моего раздела EFI, несмотря на то, что у него есть файлы, это первый раздел (EFI, fat32, есть файлы) на моем первом диске. Напротив, это интересный способ удержать кого-то из моя система. Я просто беру этот «ключ» из своей системы, и он не загружается. - rainabba


Windows 8 все еще не в финальной форме, поэтому проблем ожидать не стоит. Вы находитесь в области, новой для большинства из нас, где команды, которые мы использовали, могут больше не работать. К командам, перечисленным @soandos, я добавляю этот, который полностью восстанавливает BCD:

bootrec /rebuildbcd

Попробуйте также использовать расширенное меню загрузки из Windows 8 и сообщите нам, что произойдет.

Если ничего не работает, статья Восстановление Windows 7, когда они не загружаются имеет некоторые советы по использованию Bcdedit для исправления ошибок загрузки. В любом случае это было бы интересно чтобы узнать, что является результатом работы bcdedit на вашем компьютере.

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

Эти ссылки могут содержать некоторые полезные идеи:

Восстановление загрузчика Windows с DVD-диска
Проблема восстановления диспетчера загрузки Windows 7
Windows 7 неожиданно не загружается - восстановление загрузчика Windows 7


5
2017-08-25 20:45



Я добавил некоторые ссылки, которые могут быть полезны, хотя и относится к Windows 7. - harrymc


Самый простой способ:

  • Выполните шаги из поста выше, чтобы найти BCD-файл и перейти в его каталог.

  • Если файл BCD скрыт, введите attrib bcd -s -h -r и нажмите Войти, Это позволит вам изменить и перезаписать файл.

  • Тип ren bcd bcd.old и нажмите Войти, Это переименовывает текущий BCD-файл.

  • Тип Bootrec /RebuildBCD и нажмите Войти заставить Windows 8 перестроить загрузочное меню с нуля.

  • Выйдите из командной строки и завершите работу. Удалите Windows Recovery Media и перезагрузитесь. Все готово!


3
2017-11-29 01:17





В разделе DISKPART у меня были только vol 0 или D (DVD) и vol 1 или C (раздел Windows NTFS). Ничто не работало для меня, пока я не сделал vol 1 ACTIVE.

После выхода из DISKPART я только набрал:

bootrec /fixboot
bootrec /rebuildbcd

то система была должным образом отремонтирована. Я не использовал

bootrec /fixmbr

потому что я использовал GAG (gestor de arranque gràfico) на MBR для мультизагрузки.


2
2018-02-06 11:50





После 6 часов боев мне удалось исправить мою проблему с загрузкой Windows 8.

Сегодня, после обычного перезапуска, я получил сообщение MBR not found или что-то подобное, я больше не помню. Я пытался bootrec команды, автоматический ремонт Windows (он не мог найти любую установленную Windows), миллион других способов и ничего.

Проблема была в том, когда я выполнил bootrec /rebuildbcd он пошел нормально, а затем, когда мне пришлось войти yes если я хочу сохранить конфигурацию, я получил сообщение, the file is not accessible because it is used by a another process,

После нескольких часов разлома я окончательно решил.

В этом порядке...

  • Во-первых, я загрузил мастер разделов easup и FORMATED системный зарезервированный том, который я назначил как активный позже (в котором была загружена моя загрузочная папка). Когда я перезагрузился, я получил ошибку NTLDR missing,

  • Затем я загрузился в режиме восстановления Windows, открыл командную строку и ввел bootrec /fixmbr, /fixboot, /scanos, /rebuildbcd(который теперь выполняется отлично:])

  • Я вышел cmd и нажал на автоматический ремонт.

  • Затем я смог выбрать Windows 8. Когда я перезагрузился, я смог увидеть логотип Windows 8.


1
2017-12-05 14:29



Heads up: этот ответ представляется MBR-диском. На диске GPT diskpart.exe возвращает это сообщение при активном значении тома: «Команда ACTIVE может использоваться только на жестких дисках MBR». - zacharydl


Мой сценарий; Я не потерял системный раздел EFI, но переключение дисков и установка Windows, похоже, завинчило загрузочную запись загрузки Windows Boot Manager UEFI для первого диска; должен был использовать запись UEFI, которая указывает на диск непосредственно для загрузки. я думаю я Исправлено исправление / добавление параметра «device partition = \ Device \ HarddiskVolumeX» (X = 2 в моем случае, мой второй раздел - системный раздел EFI, отображаемый на Z: с помощью diskpart.exe):

Bcdedit / set {bootmgr} device partition = Z:

просмотр с: Прошивка bcdedit.exe / enum


0
2017-12-19 14:57





Использование: bootrec /fixmbr (обновляет MBR, вероятно, ничего не сделает в этом случае, но не повредит)

bootrec /fixboot для перезаписывания загрузочного сектора системного раздела.

bootrec /scanos для сканирования ОС, находящихся на диске, и добавления их в загрузчик.

Просто выполните команды по порядку.


-1
2017-08-13 00:06



Downvoter ухаживает за комментариями? - soandos
bootrec /fixmbr команда не применяется к проблеме или ситуации автора. - Ramhound


Мне удалось исправить это, используя следующую команду в консоли восстановления:

 bootcfg C:\Windows /l en-us

-4
2017-08-25 20:41



Этот инструмент предназначен только для boot.ini, который предназначен для Windows XP и старше. - Elmo
Это не относится к загрузчикам EFI. - Mahmoud Al-Qudsi