- Восстановление UEFI запуска Windows 8/8.1/10.
- Восстановление загрузки Windows 10 в режиме UEFI
- 6 комментариев
- Восстановление удаленного загрузочного EFI раздела в Windows 10
- Структура разделов GPT диска для Windows
- Что будет, если в Windows 10 отсутствует раздел EFI?
- Как вручную создать EFI и MSR разделы на GPT диске?
- Восстановление EFI загрузчика и BCD в Windows
Восстановление UEFI запуска Windows 8/8.1/10.
Автор: STRIDER · Опубликовано 05.01.2018 · Обновлено 17.03.2018
Добрый день! В этой статье я расскажу о восстановлении UEFI запуска Windows 8/8.1/10, а так же о том что же такое UEFI. Поехали!
Вспомните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? Это были насколько помню 1990 годы. И все было неизменным, менялись только характеристики оборудования. Но развитие серверов и технологий толкнули Intel к разработке EFI.
Изначально EFI создавалась для первых систем Intel-HP Itanium в середине 1990-х годов. Ограничения PC-BIOS были, очевидно, недопустимы в больших серверных платформах, для использования в которых планировался Itanium. После того как Intel передала разработку UEFI Forum (альянс AMD, American Megatrends, ARM, Apple, Dell, Hewlett Packard Enterprise, HP Inc., IBM, Insyde Software, Intel, Lenovo, Microsoft, Phoenix Technologies). 7 января 2007 года была выпущена первая версия универсальной платформы UEFI 2.1. И впервые на смену пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).
Терминология
UEFI (Unified Extensible Firmware Interface, Единый расширяемый интерфейс прошивки). В отличие от 16-битного BIOS’а UEFI работает в 32- или 64-битном режиме, что позволяет использовать намного больше памяти для сложных процессов.
MBR («Master Boot Record» — основная загрузочная запись) использует 32-битные идентификаторы для разделов, которые размещаются в очень маленьком кусочке пространства (64 байта) в самом начале диска (в конце первого сектора диска). Из-за такого маленького объёма поддерживаются только четыре первичных раздела. Поскольку используется 32-битная адресация, то каждый раздел может быть не более 2,2 ТБ. Кроме того, загрузочная запись не имеет никакой запасной MBR, так что если приложение перезапишет основную загрузочную запись, то вся информация о разделах будет потеряна.
GPT («GUID Partition table» — таблица разделов GUID) использует уже 64-битные идентификаторы для разделов, поэтому кусочек пространства, в котором сохраняется информация о разделах, уже больше чем 512 байт, кроме того, не существует ограничения на количество разделов. Заметьте, ограничение на размер раздела в этом случае почти 9,4 ЗБ (да-да, вы всё прочитали правильно — зеттабайт, единичка с двадцатью одним нулём!). А в конце диска имеется копия GPT, которая может использоваться для восстановления повреждённой основной таблицы разделов в начале диска.
Как происходит загрузка в UEFI?
С GPT-раздела с идентификатором EF00 и файловой системой FAT32, по умолчанию загружается и запускается файл \efi\boot\boot[название архитектуры].efi, например: \efi\boot\bootx64.efi.
То есть чтобы, например, создать загрузочную флешку с Windows, достаточно просто разметить флешку в GPT, создать на ней активный FAT32-раздел и скопировать все файлы с компакт-диска с дистрибутивом операционной системы
Пример создания GPT диска в Linux:
- gdisk: создать раздел, указав тип EFI System (EFI System в fdisk или ef00 в gdisk). Затем отформатировать его в файловую систему FAT32 командой mkfs.fat -F32 /dev/ ;
- GNU Parted: создать раздел FAT32 и затем установить (активировать) загрузочный флаг (но не флаг legacy_boot) на этот раздел.
Также в большинстве реализаций UEFI возможна загрузка в режиме совместимости с диска с разметкой MBR.
Менеджер загрузки
Менеджер загрузки EFI используется для выбора и загрузки ОС, исключая потребность в специализированном механизме загрузки (загрузчик ОС является приложением EFI). То есть сам загрузчик к которому мы так сильно привыкли, ни куда не делся. Он теперь универсальный для всех операционных систем и находится в ПЗУ основной прошивки системной платы (где раньше был BIOS). И для того что бы загрузить нужную нам операционную систему, нужно всего лишь загрузочный файл с расширением .efi на загрузочном разделе. Теперь нет надобности в загрузочной записи в MBR, вот и все!
Восстанавливаем запуск
Чтобы восстановить конфигурацию загрузчика (BCD), необходимо загрузится с оригинального установочного DVD диска с Windows 8
(или диска восстановления, или специально подготовленной загрузочной флешки)
и открыть окно командной строки: выбрав Восстановление системы -> Диагностика -> Командная строка (System Restore – > Troubleshoot-> Command Prompt ),
или нажав комбинацию клавиш Shift + F10 .
В открывшейся командной строке вводим последовательно:
diskpart
list volume
Выберите загрузочный раздел (100mb, и файловая система у него FAT32)
select volume 3
format fs=fat32 (форматируем загрузочный раздел, перед копированием новых загрузочных файлов).
assign letter=Z (присваиваем букву Z этому разделу).
exit (выходим из Diskpart)
bcdboot C:\Windows /s Z: /f ALL (где С: — диск с файлами Windows, Z: — буква, которую мы присвоили скрытому разделу).
Если у вас несколько OC Windows , повторите команду для второй копии (с новым расположением файлов).
diskpart
list volume
select volume N (номер скрытого раздела, которому мы присваивали букву)
remove letter=Z (удаляем букву, чтобы том не отображался в системе, когда мы перезагрузимся).
exit (выходим из diskpart).
Перезагружаемся, извлекаем все носители. И грузимся в обычном режиме. Если все сделано правильно, система начнет загрузку.
Восстановление загрузки Windows 10 в режиме UEFI
Недавно знакомые принесли ноутбук DELL Inspirion 15, с не загружающейся Windows 8/10. Загрузившись с загрузочного диска, проверив на ошибки структуру раздела и файловую систему, я пришел к выводу что поврежден загрузчик.
Для начала я попробовал автоматическое и ручное восстановление загрузчика, однако в первом случае выскакивала ошибка «Диск на котором установлена система Windows заблокирован. Разблокируйте диск и попробуйте ещё раз», а во втором случае, команды просто не применялись.
Ответ на вопрос, как восстановить загрузчик, подсказал Google и Yandex. Как оказалось, проблема заключалась в том, что конфигурация загрузчика BCD, установленная в режиме UEFI, хранится на отдельном скрытом разделе EFI, имеющим файловую систему FAT32 и размер от 100 Мбайт, который утилита bcdedit не видит, именно поэтому, ручное или восстановление из командной строки, не помогало.
Для решение этой проблемы, необходимо указать нужный раздел для восстановления, в котором пересоздать и скопировать загрузочные файлы.
И так приступим, загрузитесь с оригинального установочного DVD диска с Windows 8/10 или специально подготовленного диска восстановления, в командную строку, затем выполните последовательно все команды.
1. Запускаем утилиту
diskpart
2. Выводим количество жестких дисков
list disk
3. Выбираем нужный жесткий диск*
sel disk 0
4. Выводим количество разделов
list vol
5. Делаем активным нужный нам раздел**
select volume 2
6. Присваиваем букву выбранному разделу
assign letter m
7. Выходим из утилиты
exit
8. Переходим в каталог загрузчика скрытого раздела
cd /d m:\efi\microsoft\boot\
9. Восстанавливаем загрузочный сектор (загрузчик) раздела
bootrec /fixboot
10. Удаляем файл BCD, а перед удалением делаем копию
ren BCD BCD2.bak
11. Создаем новое хранилище BCD, скопировав файлы загрузки из системного каталога***
bcdboot C:\Windows /l ru-ru /s M: /f ALL
* Если у вас несколько жестких дисков, выберите нужный, поменяв 0, на 1 или более.
** Выберите нужный раздел, как правило, раздел имеет файловую систему FAT32 и размер более 100 Мбайт.
*** Если у вас английская версия ОС, то вместо «ru-ru», подставьте «en-us»
После появления надписи об успешном создании файлов загрузки, перезагрузите компьютер.
Автор: Ruterk
25 ноября 2016 г.
Предлагаемый для скачивания “Диск восстановления” создан в оригинальной операционной системе Windows 10 Pro.
6 комментариев
Спасибо, помогло восстановить систему после того, как удалил UEFI раздел на диске, с клонируемого (старого) диска.
Не знаю как так произошло, но подозреваю, что дело в одинаковые идентификаторах при клонировании. Потому что 2 этих диска (старый и новый) вместе не загружались, я поэтому и решил удалить раздел на старом. (по одиночке системы загружались)
После того как удалил, а удалял я в windows на новом диске через утилиту diskpart, видимо что-то там записалось куда-то на новом диске.
Был бы признателен, если прояснили бы для самообразования.
А вы не могли бы дать ссылку на образ восстановочного диска, только не 32, а 64 разрядной системы?
Помогите понять в чем дело. Слетел загрузчик. Загружаюсь с диска восстановления, использую «Восстановление при загрузке» и получаю «…не удалось восстановить компьютер …». Захожу в Командную строку и выполняю diskpart, list volume, exit, bcdboot c:\windows, загружаю Windows и пытаюсь понять, почему не сработало «Восстановление …» Пытаюсь заново создать диск восстановления и получаю обломс — «в системе отсутствуют необходимые файлы». DISM.exe /Online /Cleanup-image /RestoreHealth вроде бы все восстанавливает, но «необходимые файлы» по прежнему отсутствуют. Делаю чистую установку Windows, при этом удаляю все существующие разделы на диске. При установке в начале диска создается раздел «Зарезервировано системой». Создаю диск восстановления и моделирую ситуацию с восстановлением загрузчика — все повторяется один в один вплоть до «отсутствуют необходимые файлы». Качаю актуальный дистрибутив и делаю обновление из под Windows — в результате снова появляется возможность создать диск восстановления, а в конце диска появляется «Раздел восстановления». Делаю еще один круг и прибегаю все к тому же : «Восстановление при загрузке» не работает, а применение bcdboot приводит к нарушению целостности системных файлов и невозможности создать диск восстановления. В качестве примечания — UEFI нет.
Попробуй восстановится с контрольной точки
Нужен соответствующий системе DaRT
«9. Восстанавливаем загрузочный сектор (загрузчик) раздела»
В UEFI загрузочный сектор не работает. UEFI BIOS(firmware, прошивка) в отличие от классческого(legacy) BIOS загружает, а точнее запускает файл \efi\boot\bootx64.efi
Дополнительная информация об UEFI на странице DUET моего сайта (multiboot точка ru), например о доступе к NTFS из UEFI.
Восстановление удаленного загрузочного EFI раздела в Windows 10
В этой статье мы покажем, как вручную восстановить случайно удаленный загрузочный EFI раздел Windows на компьютере с UEFI. Мы рассмотрим простой способ ручного пересоздания загрузочного EFI и MSR разделов в Windows, который позволит вам загрузить ОС после случайного форматирования или удаления EFI раздела. Инструкции в статье актуальны для всех версий Windows, начиная с Win 7 и до Windows 10.
Итак, предположим, что каким-то образом случайно (или не очень случайно, например при попытке удалить с диска OEM разделы производителя) был удален или отформатирован загрузочный EFI раздел на компьютере с UEFI (не BIOS), в результате чего Windows 10 / 8.1 / 7 перестала загружаться, циклически предлагая выбрать загрузочное устройство (Reboot and select proper boot device or insert boot media in selected). Разберемся можно ли восстановить работоспособность Windows при удалении раздела с загрузчиком Boot Manager без переустановки ОС.
Структура разделов GPT диска для Windows
Рассмотрим, как должна выглядеть таблица разделов загрузочного жесткого диска с GPT разметкой на UEFI системе. Как минимум должны присутствовать следующие разделы:
- Системный раздел EFI (Extensible Firmware Interface, или EFI System Partition — ESP) с загрузчиком – 100 Мб (тип раздела — EFI);
- Резервный раздел Майкрософт – 128 Мб (тип раздела — MSR);
- Основной раздел Windows – раздел с Windows.
Это именно минимальная конфигурация. Эти разделы создает установщик Windows при чистой установке системы на неразмеченный диск. Производители ПК или сами пользователи могут дополнительно создавать собственные разделы, содержащие, к примеру среду восстановления 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 размер MSR раздела – всего 16 Мб (в Windows 8.1 размер MSR раздела – 128 Мб), файловая система – NTFS. MSR раздел должен находиться между разделами EFI (ESP) и первичным разделом с операционной системой Windows.
На основном разделе находится установленная Windows, программы и данные пользователя. Могут присуствовать дополнительные разделы с данными.
Что будет, если в Windows 10 отсутствует раздел 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.
Если раздел EFI удален или поврежден, вы не сможете загрузить Windows с такого диска. Появится ошибка UEFI: could not locate \efi\boot\bootx64.efi – not found , пустой UEFI Shell с предложением указать загрузочное устройство .
Также вы не сможете загрузить Windows, если EFI раздел отформатирован в файловой системе NTFS. Даже при чистой установке Windows в таком случае вы получите ошибку:
Как вручную создать EFI и MSR разделы на GPT диске?
Т.к. ОС не загружается корректно, нам понадобится установочный диск с Windows 10 (Win 8 или 7) или любой другой загрузочный диск. Итак, загрузитесь с установочного диска и на экране начала установки нажмите комбинацию клавиш Shift+F10. Должно открыться окно командной строки:
Запустите утилиту управления дисками и разделами:
Выведите список жестких дисков в системе (в этом примере он один, disk 0. Звездочка (*) в столбце Gpt означает, что диск использует GPT таблицу разделов).
Выберите этот диск:
Выведите список разделов на диске:
В нашем примере в системе осталось всего 2 раздела:
- Раздел MSR — 128 Мб
- Системный раздел с Windows – 9 Гб
Как вы видите, раздел EFI отсутствует (удален).
Наша задача удалить оставшийся MSR раздел, так чтобы на диске осталось неразмечено как минимум 228 Мб свободного места (для разделов MSR и EFI). Удалить оставшийся раздел можно с помощью графической GParted или непосредственно из командной строки (именно так и поступим).
Выберите раздел для удаления:
Select partition 1
И удалите его:
Delete partition override
Убедитесь, что остался только раздел с Windows размером 9 Гб (в нашем случае):
Теперь вы можете ручную пересоздать разделы EFI и MSR для размещения загрузчиков. Для этого в контексте утилиты diskpart последовательно выполните команды:
Создайте EFI раздел размером 100 Мб, отформатируйте его в файловой системе FAT32 и назначьте ему букву диска:
create partition efi size=100
Убедитесь, что в diskpart выбран раздел 100 Мб (звездочка напротив строки Partition 1):
list partition
select partition 1
format quick fs=fat32 label=»System»
assign letter=G
Теперь нужно создать MSR раздел размером 128 мб (в Windows 10 размер MSR раздела можно сделать всего 16 Мб).
create partition msr size=128
list partition
list vol
В нашем случае основному разделу с Windows уже назначена буква диска C:, если это не так, назначьте ему букву следующим образом:
select vol 1
assign letter=C
exit
Восстановление EFI загрузчика и BCD в Windows
После того, как вы создали минимальную структуру разделов для GPT диска на компьютере с UEFI, можно переходить к копированию загрузочных файлов 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
bcdedit /store BCD /create /d “Windows 7” /application osloader
Вы можете заменить надпись “My Windows 10”, на любую другую.
Команда возвращает GUID созданной записи. Этот GUID нужно подставить в следующей команде вместо
bcdedit /store BCD /set
bcdedit /store BCD /set
bcdedit /store BCD /set
Дальнейшие команды bcdedit выполняются в контексте
bcdedit /store BCD /set
bcdedit /store BCD /set
bcdedit /store BCD /set
bcdedit /store BCD /set
exit
Перезагрузите компьютер … В нашем случае с первого раза он не загрузился, пришлось дополнительно поплясать с бубном:
- Отключите питание компьютера;
- Отключите (физически) жесткий диск;
- Включите ПК, дождитесь появления окна с ошибкой загрузки Operating System not found. Выключите компьютер;
- Подключите диск обратно.
Затем в нашем случае (тестирование проводилось на виртуальной машине VMWare с UEFI средой) пришлось добавить новый загрузочный пункт меню, выбрав файл EFI\Microsoft\Boot\bootmgrfw.efi на EFI разделе.
В некоторых UEFI меню по аналогии нужно изменить приоритет загрузочных разделов.
После всех рассмотренных манипуляций Windows должна загрузиться корректно.