Хорошо, у меня было время, чтобы составить правильный план здесь. Это долго, но это довольно полно и должно помочь вам увидеть, что происходит.
Во-первых, это может произойти одним способом:
- Ваш BIOS теряет свои настройки.
- Нет проблем, все это хранится в разделе EFI.
- ... за исключением SATA IDE и AHCI, по понятным причинам.
- Вы использовали SATA-AHCI? Вы, наверное, сейчас используете SATA-IDE.
- Вы пытались загрузиться до того, как поняли это?
- Если вы сделали, это не удалось. Вы позволили Windows попытаться это исправить?
- Если вы это сделаете, BLAM, возможно, вы уничтожили базу данных конфигурации загрузки.
- Убедитесь, что вы используете правильные настройки SATA, которые вы использовали в прошлый раз.
Вот что вы, вероятно, уже сделали. ЕСЛИ ЭТО НЕ СООТВЕТСТВУЕТ, ВНИМАТЕЛЬНО ОЦЕНИТЕ, СУЩЕСТВУЕТ ЛИ ЭТО В ВАШЕЙ ПРОБЛЕМЕ, и ПРОЧИТАЙТЕ это для идей, но НЕ СЛЕДУЕТ СЛЕДОВАТЬ, не подумав сначала.
Вы НАДЕЖДУ проигнорировали всю чушь, связанную с исправлением основной загрузочной записи (MBR), таблицы разделов, флагов разделов и прочего мусора, который НЕ ПРИМЕНЯЕТСЯ к сценарию загрузки EFI. ВСЕ. В лучшем случае вы сможете полностью перестроить новое, не связанное с загрузкой решение без EFI. Это может быть не тривиально, потому что:
Вы выяснили, что Windows уверена, что у нее нет базы данных конфигурации загрузки, но, к сожалению, она либо совершенно не знает, либо ОЧЕНЬ уверена в том, куда она идет - вы не можете точно сказать, какая именно.
Вы знаете, что загрузочное хранилище обычно (где-то)\Boot\BCD и что файл HIDDEN; просмотреть его с помощью «dir /a:hs».
Вы немного ознакомились с BCDEDIT.EXE и выяснили, что он позволит вам "смоделировать" базу данных конфигурации загрузки в промежуточном файле с помощью «/CREATESTORE» (и, пожалуйста, не называйте его "BCD"), что вы можете явно использовать промежуточный файл с параметром «/STORE», добавить пункт меню для диспетчера загрузки Windows с помощью «/CREATE {bootmgr}», и вы ДОЛЖНЫ иметь возможность импортировать его с помощью «/IMPORT» ...
... но когда вы пытаетесь это сделать, вы не можете. Вы смотрите на параметр /SYSSTORE, который звучит правильно, но вы не можете заставить его использовать другой магазин, потому что он "неоднозначный". У вас есть предчувствие, что он знает, где находится магазин - или должен быть - но вы не можете его найти.
Вы пытались использовать "MOUNTVOL" для монтирования раздела EFI, но он даже не отображается в списке, поэтому вы не можете.
Если ВСЕ это относится довольно близко к вам, вот что МОЖЕТ происходить:
Windows может сказать, что вы настроили EFI (вы загрузили DVD с помощью загрузки UEFI, у вас есть раздел EFI и т.д.).
Поэтому он знает, ГДЕ СМОТРЕТЬ для файла BCD - однако он либо каким-то образом имеет неправильное расположение (не эта проблема, но похоже), либо BCD был удален.
Очевидно, потому что он знает, где он ДОЛЖЕН быть, это breaks /SYSSTORE - и на самом деле это, вероятно, правильное поведение, потому что в противном случае вы бы поместили его не в то место.
Насколько я могу судить, MOUNTVOL преднамеренно скрывает раздел EFI (или не в состоянии это заметить). Это предотвращает монтирование файловой системы, что предотвращает поиск правильного подкаталога, проверку наличия базы данных и т.д.
Итак, вот, наконец, то, что вам нужно с этим делать. Хорошей новостью является то, что это, вероятно, намного проще, чем вы надеетесь сейчас.
- Вы действительно должны смонтировать раздел EFI.
На самом деле, у меня есть предчувствие, что это не совсем правильно - я сильно подозреваю, что раздел EFI уже смонтирован какой-то внутренней подсистемой, поэтому BCDEDIT начинает капризничать - он не видит базу данных, но знает, куда должен идти. Что бы там ни было, это буква диска. Так что делать?
Ну ... как далеко назад уходят ваши корни DOS? Вы помните команду ASSIGN? Угадай, что.
Запустите DISKPART.
Если вы не знакомы с DISKPART, то в принципе он работает как иерархия наборов; Вы должны выбрать ровно один элемент на одном уровне, чтобы перейти к следующему. Итак, "СПИСОК ДИСКОВ", а затем "ВЫБЕРИТЕ ДИСК n", где n - это то, что вам подходит.
Используйте "LIST PARTITION" и "LIST VOLUME" (обратите внимание, не во множественном числе), чтобы получить некоторое представление и определить свой раздел EFI.
Обычно это раздел размером 100 МБ FAT32 с пометкой "SYSTEM". Имейте в виду, что на вашем диске уже должна быть таблица разделов GPT, поэтому вы можете увидеть довольно много разделов. Некоторые из них предназначены для экстренного восстановления - много хорошего они делают для проблем с EFI, а? Ну что ж.
Обратите внимание, что раздел EFI и некоторые другие не имеют букв дисков. Если вы так склонны, вы также можете просмотреть атрибуты раздела GPT, что также может дать вам несколько моментов, связанных с тангенциальной связью "Ага".
"ВЫБЕРИТЕ РАЗДЕЛ n", где n - раздел EFI. (Я ожидаю, что вы могли бы выбрать громкость вместо этого, если вам нужно.)
"ASSIGN". Вот и все. Не указывайте букву диска; просто "НАЗНАЧИТЬ".
"ОБЪЕМ СПИСКА". Теперь вы должны увидеть букву диска, назначенную разделу EFI.
"ВЫХОД" ДИСКПАРТ.
А теперь ... большое жирное предупреждение. Вы, вероятно, перейдете непосредственно к S: (или к тому, что вы получили от ASSIGN) и заметите раздел /Boot. "АГА!«Вы скажете.» Здесь нет файла BCD!"Во-первых ... помните, что файл скрыт. Во-вторых ... копайте еще немного, и вы заметите, что пока есть:
S:\EFI\ Загрузочный
существует также:
S:\EFI\Microsoft\Boot
Вы должны проверить оба из них на наличие проблем.
S:\EFI\ Загрузочный для материнской платы, и содержит Windows Boot Loader (и , возможно , другие вещи для других операционных систем). У него такое название, потому что материнская плата не знает, будет ли у вас Windows или нет, и ей нужен фиксированный путь, который имеет смысл.
- Осмотрите S:\EFI\Boot. Для Windows 7 Professional, 64-битная, вы должны увидеть:
BOOTX64.EFI
Если вы установили оболочку EFI (это всегда хорошая идея), вы можете дополнительно увидеть «shellx64.efi».
ПРИМЕЧАНИЕ. Пользователи Linux с двойной загрузкой, использующие «chainloader +1», не увидят здесь дополнительную запись.
- Проверьте S:\EFI\Microsoft\Boot , используя как "реж" и "реж а: ч". В 64-разрядной версии Windows 7 Professional вы должны увидеть несколько языковых шаблонов ("en_US" и т.д.) И следующие файлы:
bootmgr.efi bootmgfw.efi memtest.efi BCD BCD.Backup.001 BCD.Backup.002
... кроме того, что вы, вероятно, не видите BCD, не так ли? Но эти резервные файлы выглядят заманчиво.
Определите, какой файл резервной копии вы хотите использовать. Независимо от того, какие недавние изменения в нем отсутствуют, они не так важны, как ваша способность загружать систему, так что выбирайте тот, который наиболее исправен. Вероятно, вы увидите один большой и один довольно маленький. Маленький уже поврежден и является артефактом неудачного процесса восстановления - не используйте его. Если они оба большие, используйте более старый. В ЛЮБОМ СЛУЧАЕ сделайте ДОПОЛНИТЕЛЬНЫЕ РЕЗЕРВНЫЕ КОПИИ РЕЗЕРВНЫХ КОПИЙ в другом месте.
Скопируйте резервную копию, которую вы решили использовать, в "BCD".
Выйдите из оболочки, завершите работу и перезагрузите компьютер.
Скажите Windows, чтобы начать НОРМАЛЬНО. На данный момент, это должно начаться.
Q: Что делать, если у вас нет резервной копии BCD?
A: Хорошо, это действительно не должно случиться. Скорее всего, это означает, что вы находитесь не в том каталоге, поддерживаете EFI, но фактически не используете его, или каким-то образом перестраиваете весь раздел EFI без всех необходимых материалов Windows (возможно, особенно при использовании нескольких версий Windows). В этом случае вам нужно будет скопировать материалы EFI с DVD-диска, а затем либо изменить, либо пересоздать базу данных конфигурации загрузки с помощью BCDEDIT.
Вопрос: Можете ли вы привести пример сценария, в котором «BCDEDIT /SYSSTORE» может использоваться для выполнения каких-либо действий в системе EFI?
A: Пока нет.
В любом случае, надеюсь, что это поможет решить некоторые проблемы людей или, по крайней мере, заставит их задуматься. В качестве очень важного заключительного замечания, обратите внимание, что вы можете подключить и проверить раздел EFI под Windows, как правило, используя метод DISKPART ASSIGN, описанный выше. Вы должны сделать это хотя бы один раз, чтобы получить полную резервную копию вашего раздела EFI, ДО того, как вы столкнетесь с подобными проблемами. Я рекомендую одну резервную копию в подкаталог на вашем диске C: и одну на USB-накопителе.
Извините, что так затянуто. Мне нужно в какой-то момент превратить это в правильную статью, но есть так много людей, которые настолько разочарованы, что я почувствовал необходимость документировать свой опыт настолько полно и быстро, насколько мог.
Ура, Мэтт "Точка останова" Heck