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

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

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

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

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

The requested system device cannot be found.
120
задан Jherico 2012-08-12 22:06:22
" target="_blank" rel="nofollow noreferrer noopener">источник

10 ответов

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

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

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

введите 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 tool ввод 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 локализовать для локали Великобритании / ГБ. По умолчанию используется американский английский или en-US.

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

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

[EDIT]

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

bcdedit /set {default} hypervisorlaunchtype Auto
bcdedit /set {default} nx OptIn
181
отвечен Alex 2014-12-08 08:30:40
" target="_blank" rel="nofollow noreferrer noopener">источник

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

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

Я не хотел потерять все свои данные, поэтому я вошел в командную строку, загрузившись с моего Windows 8 install USB drive (отметив, что вы не можете загрузить версию 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
отвечен Paul 2012-12-12 14:50:51
" target="_blank" rel="nofollow noreferrer noopener">источник

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

во-первых, это может произойти так:

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

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

  1. вы, надеюсь, проигнорировали все дерьмо об исправлении основной загрузочной записи (MBR), таблицы разделов, флагов разделов и другого мусора, который не применяется к сценарию загрузки EFI. ВООБЩЕ. В лучшем случае, вы сможете полностью перестроить новый,связаны, не EFI boot solution. Это не может быть тривиальным, однако, потому что:

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

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

  4. вы немного ознакомились с BCDEDIT.EXE и понял, что это позволит вам "макет" загрузки Конфигурации базы данных в промежуточный файл, используя "/CREATESTORE" (и, пожалуйста, не называете его "плавучести"), что вы можете явно указать промежуточный файл с "/магазин" вариант, что можно добавить в меню для загрузки Windows Диспетчере через "/создать {bootmgr}", и что вы должны быть в состоянии импортировать его через "импорт/экспорт"...

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

  6. вы пытались использовать" MOUNTVOL " для монтирования раздела EFI, но он даже не отображается в списке, так что вы не можете.

Если все это относится довольно близко к вам, вот что может происходить:

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

  2. поэтому он знает, где искать файл BCD-- однако, он либо каким-то образом имеет неправильное расположение (не эта проблема, но аналогично) или BCD был удален.

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

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

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

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

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

хорошо...как далеко назад ваши корни DOS идут? Вы помните команду "назначить"? Что.

  1. старт СРЕДСТВО DISKPART.

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

  3. используйте "список разделов" и "список Тома" (Примечание во множественном числе), чтобы получить некоторое представление и определить свой раздел EFI.

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

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

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

  2. "назначить". Вот и все. Не указывайте букву диска; просто "назначить".

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

  4. "EXIT" DISKPART.

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

S:\EFI\Boot

также:

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\Boot использование и "dir"и" dir a:h". Для 64-разрядной версии Windows 7 Professional вы должны увидеть набор языковых шаблонов ("en_US" и т. д.).) и следующие файлы:

bootmgr.efi bootmgfw.efi мемтест.efi BCD BCD.Резервный.Ноль ноль один BCD.Резервный.002

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

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

  2. скопируйте резервную копию, которую вы решили использовать, в "BCD".

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

  4. скажите Windows, чтобы начать нормально. В этот момент она должна начаться.

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

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

Q: можете ли вы дать мне пример сценария, в котором "BCDEDIT / SYSSTORE" можно использовать для чего угодно все по системе EFI?

A: до сих пор нет.

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

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

Ура, Matt "Breakpoint" Heck

8
отвечен Matt Heck 2017-04-02 05:17:17
" target="_blank" rel="nofollow noreferrer noopener">источник

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

bootrec /rebuildbcd

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

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

[EDIT]

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

восстановление загрузчика Windows с DVD

Проблема Восстановления Диспетчера Загрузки Windows 7

Windows 7 внезапно не загружается-восстановление загрузчика Windows 7

5
отвечен harrymc 2012-08-28 00:08:03
" target="_blank" rel="nofollow noreferrer noopener">источник

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

  • следуйте инструкциям из сообщения выше, чтобы найти файл BCD и перейдите в его каталог.

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

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

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

  • выход из командной строки и выключить. Удалите носитель восстановления Windows и перезагрузите компьютер. Вы закончили!

3
отвечен Rodolfo Philipp 2012-11-29 10:25:53
" target="_blank" rel="nofollow noreferrer noopener">источник

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

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

bootrec /fixboot
bootrec /rebuildbcd

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

bootrec /fixmbr

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

2
отвечен Halberdier 2013-02-06 15:50:32
" target="_blank" rel="nofollow noreferrer noopener">источник

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

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

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

после нескольких часов взлома ума, я, наконец, решил его.

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

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

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

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

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

1
отвечен Roko 2012-12-05 19:45:49
" target="_blank" rel="nofollow noreferrer noopener">источник

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

Bcdedit / set {bootmgr} раздел Устройства=з:

вид с: bcdedit.exe / enum прошивка

0
отвечен James Risto 2015-12-19 17:57:30
" target="_blank" rel="nofollow noreferrer noopener">источник

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

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

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

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

-1
отвечен soandos 2012-08-13 04:06:38
" target="_blank" rel="nofollow noreferrer noopener">источник

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

 bootcfg C:\Windows /l en-us
-4
отвечен Sorin Dumitru 2012-09-24 01:00:47
" target="_blank" rel="nofollow noreferrer noopener">источник

Другие вопросы windows-7 windows-8 bootloader uefi

X