Восстановление удаленного загрузочного EFI раздела в Windows
30.11.2022
itpro
Windows 10, Windows 11, Windows 7, Windows Server 2019
комментариев 119
В этой статье мы покажем, как вручную восстановить случайно удаленный загрузочный EFI раздел Windows на компьютере с UEFI. Этот простой способ ручного пересоздания загрузочного EFI и MSR разделов Windows позволит вам загрузить ОС после случайного форматирования или удаления загрузочного EFI раздела. Инструкции в статье актуальны для всех версий Windows (в том числе Windows 10 и 11, и Windows Server).
Если вы случайно (или не очень случайно, например при попытке удалить с диска OEM разделы производителя) удалили или отформатировали загрузочный EFI раздел на компьютере с UEFI (не BIOS), ваша Windows 11/10/8.1 /7 перестанет загружаться и будет циклически предлагать выбрать загрузочное устройство ( Reboot and select proper boot device or insert boot media in selected или Windows Boot Manager: No media ). Далее мы покажем, как восстановить загрузку Windows при удалении раздела диска с загрузчиком Boot Manager без переустановки ОС.
Предупреждение. Инструкция предполагает работу с разделами диска и не предназначена новичкам. В случае неверной интерпретации команд, вы можете случайно удалить все данные на жестком диске. Также настоятельно рекомендуется создать резервную копию важных данных на отдельном носителе.
Структура разделов GPT диска для Windows
Рассмотрим, как должна выглядеть таблица разделов загрузочного жесткого диска Windows с GPT разметкой на UEFI компьютере. Как минимум должны присутствовать следующие разделы:
- Системный раздел EFI (Extensible Firmware Interface, или EFI System Partition — ESP) с загрузчиком – 100 Мб (тип раздела — EFI);
- Резервный раздел Майкрософт (Microsoft Reserved) – 128 Мб (тип раздела — MSR);
- Основной раздел Windows – раздел с Windows.
Это именно минимальная конфигурация. Эти разделы создает установщик Windows при чистой установке системы на неразмеченный диск.
Производители компьютеров или сами пользователи могут дополнительно создавать собственные разделы, содержащие, к примеру раздел Recovery со средой восстановления Windows в файле winre.wim (Windows RE), раздел с резервным образом системы от производителя (позволяет откатится к исходному состоянию компьютера), пользовательские разделы и т.д.
Раздел EFI c файловой системой FAT32 является обязательным на дисках с GPT разметкой на UEFI системах и имеет GUID c12a7328-f81f-11d2-ba4b-00a0c93ec93b . Стандартный размер EFI раздела 100Мб (на дисках расширенного формата с секторами 4Кб /4K Native / размер EFI раздела 260Мб).
MSR раздел раздел (Microsoft System Reserved) на GPT диске используется для упрощения управления разделами и используется для служебных операций (например, при конвертировании диска из простого в динамический). Это резервный раздел c GUID e3c9e316-0b5c-4db8-817d-f92df00215ae , которому не назначается код раздела. На этом разделе нельзя хранить данные пользователя. В Windows 10 и 11 размер MSR раздела – всего 16 Мб (в Windows 8.1 размер MSR раздела – 128 Мб), файловая система – NTFS. MSR раздел должен находиться между разделами EFI (ESP) и первичным разделом с операционной системой Windows.
На основном разделе с файловой системой NTFS находится установленная Windows, программы и данные пользователя. Также на диске могут присутствовать дополнительные разделы с данными.
Что будет, если в Windows отсутствует раздел EFI?
На EFI разделе (по аналогии с разделом System Reserved на дисках с MBR разметкой) хранится хранилище конфигурации загрузки (BCD) и ряд файлов, необходимых для загрузки Windows. При загрузке компьютера среда UEFI загружает загрузчик (EFI\Microsoft\Boot\bootmgfw.efi) с раздела EFI (ESP) и передает управление ему. Исполняемый файл bootmgfw.efi выполняет запуск основного загрузчика Windows Boot Manager, который загружает данные конфигурации из BCD. После загрузки BCD начинается загрузка Windows через winload.efi.
При загрузке UEFI компьютера он ищет системный раздел EFI на всех подключенных дисках. Если раздел EFI удален или поврежден, вы не сможете загрузить Windows с такого диска. Появится ошибка UEFI: could not locate \efi\boot\bootx64.efi – not found , пустой UEFI Shell с предложением выбрать загрузочное устройство.
Также вы не сможете загрузить Windows, если EFI раздел отформатирован в файловой системе NTFS. Даже при чистой установке Windows в таком случае вы получите ошибку:
Windows detected that the EFI system partition was formatted as NTFS. Format the EFI system partition as FAT32, and restart the installation.
Установлено, что системный раздел EFI отформатированный в NTFS. Отформатируйте системный раздел EFI в формате FAT32 и перезапустите программу установки.
Как вручную создать EFI и MSR разделы на GPT диске?
Т.к. Windows не загружается корректно, нам понадобится загрузочное устройство с Windows 10/11 или любой другой загрузочный диск (см. как создать загрузочную USB флешку c Windows для UEFI компьютера). Загрузите компьютера с установочного диска и на экране начала установки нажмите комбинацию клавиш Shift+F10. Должно открыться окно командной строки
Запустите утилиту управления дисками и разделами:
Выведите список жестких дисков в системе:
В этом примере к компьютеру подключен только один disk 0. Звездочка (*) в столбце Gpt означает, что на диск создана таблица разделов GPT).
Если в столбце GPT отсутствует *, значит на диске MBR таблица разделов. Вам нужно убедиться, что ранее вы загружали компьютер в нативном UEFI режиме (иначе следовать данной инструкции бессмысленно). Если вы уверены, что тип таблицы разделов сменился, возможно его нужно стоит переконвертировать из MBR в GPT.
Выберите этот диск:
Выведите список разделов на диске:
В нашем примере в системе осталось всего 3 раздела:
- Раздел Reserved (MSR) — 16 Мб
- Системный раздел с Windows – 30 Гб
- Recovery (раздел восстаовления0) – 541 Мб
Как вы видите, раздел EFI (может называться System) отсутствует (удален).
Совет. Если на разделе EFI были повреждены только файлы среды EFI, а сам раздел остался на месте, вы можете пропустить процесс пересоздания разделов с помощью diskpart. В большинстве случаев достаточно восстановить загрузчик по статье Восстановление EFI загрузчика в Windows . Если у вас компьютер с BIOS и MBR диск, вы можете пересоздать BCD так.
Наша задача удалить оставшийся MSR раздел, так чтобы на диске осталось неразмечено как минимум 228 Мб свободного места (для разделов MSR и EFI). Вы можете удалить оставшийся раздел с помощью графической утилиты GParted или непосредственно из командной строки (именно так и поступим).
Важно! Здесь будьте максимально внимательными и не удалите случайно раздел с Windows или разделы с пользовательскими данными (если таковые имеются).
Выберите раздел для удаления:
Select partition 1
И удалите его:
Delete partition override
Убедитесь, что остался только Primary раздел с Windows размером 30 Гб (в нашем случае) и раздел восстановления:
Теперь вы можете вручную создать разделы EFI и MSR для размещения загрузчика Windows. Для этого в контексте утилиты diskpart последовательно выполните команды:
Создайте EFI раздел размером 100 Мб, отформатируйте его в файловой системе FAT32 и назначьте ему букву диска:
create partition efi size=100
Убедитесь, что в diskpart выбран раздел 100 Мб с именем System (звездочка напротив строки Partition 1):
list partition
select partition 1
format quick fs=fat32 label=»System»
assign letter=G
Теперь нужно создать MSR раздел размером 16 Мб (для Windows 10 и 11):
create partition msr size=16
list partition
list vol
В нашем случае основному разделу с Windows уже назначена буква диска C:. Если это не так, назначьте ему букву следующим образом:
select vol 1
assign letter=C
exit
Назначьте букву диска вашему EFI разделу:
Select vol 3
Assign letter=G
При создании EFI или MSR раздела может появится ошибка
No usable free extent could be found. It may be that there is insufficient free space tocreate a partition at the specified size and offset. Specify different size and offset values or don't specify either to create the maximum sized partition. It may be that the disk is partitioned using the MBR disk partitioning format and the disk contains either 4 primary partitions, (no more partitions may be created), or 3 primary partitions and one extended partition, (only logical drives may be created).
В этом случае вам нужно уменьшить раздел основного раздела с Windows на 128 Мб(в нашем примере это volume 1):
select volume 1
shrink desired=128 minimum=128
После этого создайте разделы EFI и MSR как описано выше.
Восстановление EFI загрузчика и BCD в Windows
После того, как вы создали минимальную структуру разделов для GPT диска на компьютере с UEFI, нужно скопировать загрузочные файлы EFI на ваш диск и создать конфигурационный файла загрузчика (BCD).
Теперь с помощью утилиты bcdboot.exe скопируйте файлы среды загрузки UEFI из системного каталога Windows в загрузочный EFI раздел и пересоздайте конфигурацию загрузчика BCD. Выполните команду:
bcdboot c:\windows /s G: /f UEFI
Boot files successfully created.
В результате на EFI разделе будет создана структура каталогов. На системном разделе EFI должны обязательно присутствовать следующие файлы:
- \EFI\Microsoft\Boot\bootmgfw.efi
- \EFI\Microsoft\Boot\bootmgr.efi
- \EFI\Microsoft\Boot\memtest.efi
- \EFI\Microsoft\Boot\BCD
- \EFI\Microsoft\Boot\Fonts\wgl4_boot.ttf
- \EFI\Boot\bootx64.efi
Выведите текущую конфигурацию загрузчика Windows Boot Manager. В разделе должна появиться запись, которая указывает на раздел с файлом управления загрузкой UEFI ( \EFI\MICROSOFT\BOOT\bootmgfw.efi ). В этом примере это partition=G , или partition=\Device\HarddiskVolume2 (если вы не назначили букву EFI разделу).
Загрузчик UEFI затем должен передать управление файлу загрузчика Windows Boot Loader \Windows\system32\winload.efi на partition=C:
Перезагрузите компьютер (для перезагрузки из среды WinPE нужно выполнить команду wpeutil reboot) и извлеките загрузочную флешку.
Опционально! Вы можете вручную выполнить действия, которые выполняет команда bcdboot. Далее мы покажем, как самостоятельно скопировать системные файлы EFI и пересоздать BCD.
Скопируйте загрузочные файлы среды EFI из каталога вашего диска, на который установлена ваша Windows:
xcopy /s C:\Windows\Boot\EFI\*.* G:\EFI\Microsoft\Boot
Пересоздайте конфигурацию загрузчика Windows:
g:
cd EFI\Microsoft\Boot
bcdedit /createstore BCD
bcdedit /store BCD /create /d “Windows Boot Manager”
bcdedit /store BCD /create /d “Windows 10” /application osloader
Команда возвращает GUID созданной записи. Этот GUID нужно подставить в следующей команде вместо .
bcdedit /store BCD /set default
bcdedit /store BCD /set path \EFI\Microsoft\Boot\bootmgfw.efi
bcdedit /store BCD /set displayorder
Дальнейшие команды bcdedit выполняются в контексте :
bcdedit /store BCD /set device partition=c:
bcdedit /store BCD /set osdevice partition=c:
bcdedit /store BCD /set path \Windows\System32\winload.efi
bcdedit /store BCD /set systemroot \Windows
exit
Если с первого раза Windows не загрузился, выполните следующие действия:
- Отключите питание компьютера;
- Отключите (физически) жесткий диск;
- Включите ПК, дождитесь появления окна с ошибкой загрузки Operating System not found. Выключите компьютер;
- Подключите диск обратно.
Если это не помогло, опять загрузитесь с установочной USB флешки и выполните команду:
Затем в нашем случае (тестирование проводилось на виртуальной машине VMWare с UEFI средой) пришлось добавить новый загрузочный пункт меню, выбрав файл EFI\Microsoft\Boot\bootmgrfw.efi на EFI разделе.
В некоторых UEFI меню по аналогии нужно изменить приоритет загрузочных разделов.
После всех рассмотренных манипуляций Windows должна загрузиться корректно.
Совет. Если что-то не заработало, рекомендуем проверить, что загрузочный флаг (boot flag) установлен только у раздела EFI. Проще всего в этом убедится с помощью LiveCd GParted.
В некоторых случаях после пересоздания разделов EFI и MSR и восстановления BCD Windows может перестать корректно выключаться. Если у вас проявляется эта проблема, чтобы исправить ее нужно отключить функцию быстрого запуска в Windows в настройках электропитания компьютера:
- Откройте панель управления электропитанием powercfg.cpl ;
- Выберите Choose what the power buttons does;
- Нажмите кнопку Change settings that are currently unavailable и отключите опцию «Turn on fast startup» в разделе «Shutdown settings».
Предыдущая статья Следующая статья
Восстановление EFI-загрузчика программой EasyUEFI
Находясь внутри Live-диска, первым делом прибегнем к помощи программы EasyUEFI. Она может бэкапить и восстанавливать содержимое EFI-раздела с данными загрузчика, а также умеет его пересоздавать, если ранее никаких бэкапов не делалось. Запускаем EasyUEFI.
В окне программы выбираем менеджер EFI-раздела.
Далее запускаем функцию пересоздания EFI-раздела.
Вверху выбираем жёсткий диск, где нужно восстановить EFI-загрузчик. По центру окна ставим галочки системных разделов в их визуальной таблице. Первой ставим галочку диска С, второй – галочку EFI-раздела. Затем жмём «Rebuild».
По завершении операции закрываем программу, завершаем работу Live-диска и пробуем загрузить Windows.
При тестировании EasyUEFI не всегда удавалось пересоздать сам загрузчик, но программа стабильно восстанавливала файлы его хранилища. Если система не запускалась из-за отсутствия или повреждения каких-то данных в хранилище, после манипуляций с EasyUEFI проблема должна решиться. Если причина не в этом, и Windows всё равно не загружается, можно попробовать пересоздать EFI-загрузчик другими средствами Live-диска.
Как восстановить Efi? Полностью удалил.
По ошибке попытался форматировать SSD-диск на 128 Гб (перепутал с флэшкой, в итоге BIOS не видит загрузчик Windows и Grub (на ноуте 2 системы). Каталог /boot/efi пустой. Как можно восстановить EFI? Желательно и для Linux, и для WIndows, хоть и «Windows must die».
DenisStrannik
14.11.21 20:03:38 MSK
Если оно успело что-то зетереть , то забей и установи заново.
BceM_IIpuBeT ★★☆☆☆
( 14.11.21 20:20:00 MSK )
Насчёт винды хз, а для лини grub-install(8)
QsUPt7S ★
( 14.11.21 20:20:06 MSK )
Сначала восстанавливай загрузку винды с установочного носителя винды (есть в пункте меню). Потом тоже самое с линуксового носителя (resque режим)
zemidius ★
( 14.11.21 20:24:10 MSK )
Кстати, если форматнул efi-раздел не в vfat, а в другой фс, то прежде чем инсталить grub и загрузчик венды, переформатируй в vfat. Но тут есть пара тонкостей: 1.При размере раздела в 128GiB и размере логического сектора диска в 4KiB, на FAT32 получается слишком мало кластеров, из-за чего некоторые UEFI прошивки не видят такой раздел. Выход — либо использовать размер сектора в 512 байт, что не есть гуд для современных накопителей, либо форматировать в FAT16. 2.Поскольку при монтировании разделов в fstab используются ID тома, а он при форматировании изменяется, необходимо либо отредактировать fstab, либо при форматировании раздела задать тот ID тома, что прописан в fstab, с помощью ключа -i утилиты mkfs.vfat
QsUPt7S ★
( 14.11.21 20:47:37 MSK )
Ответ на: комментарий от QsUPt7S 14.11.21 20:47:37 MSK
При размере раздела в 128GiB и размере логического сектора диска в 4KiB
65527*4кбайт = 256 Мбайт
mky ★★★★★
( 14.11.21 21:06:36 MSK )
Я как-то фиксил, но сейчас не вспомню. Посмотри в доках на сайте оффтопа.
Как исправить ошибку «Системный раздел EFI не найден»?
Вы хотели выполнить двойную загрузку Windows и Linux на своем компьютере, но не смогли этого сделать? На рабочем столе появилась следующая информация: «Системный раздел EFI не найден». Сначала нужно выяснить, что это такое. Если вы когда-либо сталкивались с этой ошибкой, есть несколько способов, с помощью которых вы можете попробовать исправить ошибку в Windows или Ubuntu. В этой статье мы рассмотрим все это и расскажем вам, как устранить ошибку «Системный раздел EFI не найден».
В этой статье:
Часть 1. Что нужно знать перед устранением ошибки «Системный раздел EFI не найден»?
Прежде чем исправить ошибку «Системный раздел EFI не найден», необходимо понять несколько вещей.
1. Что такое «Системный раздел EFI»?
На ПК под управлением Windows, раздел EFI (Extensible Firmware Interface) — это скрытое пространство на компьютере, где находится BIOS UEFI. Когда ПК загружается, UEFI загружает файл, хранящийся в разделе EFI, а затем запускает его. Здесь хранятся все необходимые файлы операционной системы.
Раздел EFI — это относительно небольшая (100 МБ), но критически важная часть Windows. Вы не можете просмотреть его в проводнике файлов, поскольку он не имеет буквы диска. Тем не менее, вы можете открыть управление дисками, чтобы найти этот раздел и просмотреть диск.
2. Нужен ли системный раздел EFI для загрузки компьютера?
Удаление раздела EFI приведет к удалению всех функций, и ваша система не загрузится. Поэтому, если вы хотите защитить BIOS, стоит сохранить раздел EFI нетронутым.
Однако вы можете выполнить загрузку с диска без создания EFI-раздела, если у вас внешний жесткий диск, а не обычный внутренний.
Часть 2. Как исправить ошибку «Системный раздел EFI не найден»?
Если на вашем компьютере появляется сообщение «Системный раздел EFI не найден», не паникуйте; скорее всего, вы удалили системный раздел EFI. Следующие два руководства объяснят, как восстановить EFI в вашей системе.
Способ 1: Восстановление удаленного системного раздела EFI
Мы упоминали выше, что Windows защищает раздел EFI. Это означает, что вы не можете получить доступ к внутренним данным через проводник файлов или управление дисками. Одним из отличных решений для восстановления доступа к жесткому диску является использование сторонних инструментов, например, Wondershare Recoverit. Это программное обеспечение поможет вам восстановить раздел EFI независимо от того, какую операционную систему вы используете, Windows 11/10/8/7 или XP.