Восстановление файлов EFI Windows 10 без порчи существующих разделов

Восстановление файлов EFI Windows 10 без порчи существующих разделов

tl;dr: GPT, EFI, двойная загрузка Antergos-Windows 10, раздел EFI Windows удален, поэтому я могу загрузиться только в Antergos и хочу это исправить.

У меня была двойная загрузка Debian-Windows-10 с использованием MBR для запуска grub2. Недавно я переключил Debian на Antergos и использовал эту возможность для перехода на формат раздела GPT с загрузкой EFI.

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

  1. Зарезервировано системой Windows
  2. Виндовс 10
  3. Дебиан
  4. Менять

После переустановки это изменилось на:

  1. Зарезервировано системой Windows
  2. Виндовс 10
  3. Антергос
  4. Менять
  5. Раздел EFI

После этого os-probeWindows не нашёлся, поэтому я попытался добавить его в grub вручную, но, видимо, эта настройка была предназначена для установки MBR. Затем я попытался переустановить Windows с помощью настройки UEFI. В итоге у меня получилась такая конфигурация:

  1. Восстановление системы Windows
  2. Раздел Windows EFI
  3. Зарезервировано системой Windows
  4. Виндовс 10
  5. Зарезервировано системой Windows
  6. Антергос
  7. Менять
  8. Angergos EFI

(Понятия не имею, почему при наличии большого участка пустого пространства установленная Windows решила создать 5 отдельных разделов...)

Очевидно, Antergos перестал загружаться, так как у меня 2 раздела EFI. Я думал, что нужен только 1, а Windows EFI содержит только загрузчик, который можно заменить grub, поэтому я удалил 2-й раздел.

Только после этого я смог восстановить работоспособность grub. Видимо, некоторые файлы из этого раздела нужны для запуска Windows. Поэтому я попытался восстановить этот раздел с помощью установочного диска Windows и автоматического восстановления, а также создания раздела EFI и его восстановления с помощью bcdboot. Однако я получил только ошибку failure when attempting to copy boot files.

В настоящее время - в зависимости от того, какой вариант я пробую, я вижу такие ошибки:

  • NTLDR отсутствует
  • В EFI отсутствует некоторая конфигурация

В настоящее время я не уверен, что мне следует попробовать, так как применение случайных решений из интернета уже заняло у меня целые выходные и не является эффективным способом выяснить, что делать. Поэтому мой вопрос: что можно сделать, чтобы восстановить Windows 10, не переустанавливая все с нуля?

У меня есть доступ к разделу Windows, установочному диску Windows, Antergos Live cd для chrooting. Я могу предоставить все логи и листинг, которые могут помочь.

решение1

Мне удалось создать копию Windows EFI.

Сначала я смонтировал раздел EFI с помощью diskpart:

> diskpart      # start diskpart tool
list volumes    # prints all disks I have: C:, D:, etc
sel vol 8       # on my list EFI partition was unmounted and next to a number 8
assign letter=Z # since I marked EFI partition as selected I can now assign it a letter so that I could use it later on
exit            # I am leaving the tool

Ранее это не удавалось - когда я пытался использовать его, assign mount=zя видел ошибку типа «невозможно смонтировать системный раздел EFI», хотя helpкоманда предлагала это.

С установленным EFI я мог бы

bcdboot C:\Windows /s Z:

Он помещает файлы Windows EFI в раздел EFI.не затрагивая существующие файлы grub. В результате grub не сломался, но теперь у меня есть файлы, необходимые для загрузки Windows в настройках UEFI.

После этого os-probeудалось найти Windows, поэтому update-grubдобавил отсутствующую запись в список.


Думаю, если кто-то окажется в такой же ситуации, как я, он должен быть готов к тому, что:

  • Windows создаст несколько новых разделов, и EFI будет одним из них.
  • Поскольку этот раздел будет иметь размер около 100 МБ, и я думаю, что предполагается, что он должен быть больше, мы можем заменить его на тот, который предоставлен нами (есть много хороших ресурсов о том, как это сделать, как на Arch Wiki, так и в документации Microsoft, в зависимости от того, какой инструмент мы будем использовать).
  • перед этим мы можем сделать копию файлов с раздела Windows EFI - они скрыты, если вы их не видите - или удалить его, как я сделал, а затем пройти всю процедуру выше. Для этого вам понадобится установочный CD Windows.

решение2

Мне сложно создать хорошую ментальную модель текущего состояния вашего компьютера, поскольку вы внесли так много изменений, и не всегда ясно, каким может быть результат любого предпринятого вами шага. (Это не критика вашего вопроса; просто сложно понять, что делает сам компьютер, внося некоторые из этих изменений.) Поэтому я рекомендую вам сделать резервную копию важных пользовательских файлов, удалитьвсеразделы на диске и начните заново. Начните с установки Windows, затем установите Linux поверх нее. Затем вы можете восстановить свои пользовательские файлы.

Если начать с нуля не представляется возможным, запуститеУтилита восстановления загрузкии выберите опцию «Создать сводку BootInfo». (НЕнажмите «Рекомендуемое восстановление», по крайней мере, пока!) Когда вас спросят, загружать ли отчет, нажмите «Да», а затем разместите предоставленный здесь URL. Это предоставит подробную информацию о текущем состоянии вашего компьютера, необходимую для диагностики проблемы.

Чтобы помочь вам понять процесс загрузки EFI и реализовать конфигурацию двойной загрузки, я настоятельно рекомендую вам прочитать хотя бы некоторые из следующих страниц:

Если вы прочтете хотя бы одну из них, сделайте ее моей страницей об установке Linux на системы EFI; это самое практичное руководство из этих четырех страниц. Запись в блоге Адама Уильямсона является второй по приоритету или пост Superuser, если вы торопитесь; эти страницы предоставят необходимую справочную информацию. Моя страница о загрузчиках EFI, вероятно, будет полезна, если вы не хотите использовать любой загрузчик или менеджер загрузки, который ваш дистрибутив использует по умолчанию.

Связанный контент