Когдато у меня был диск 250Гб, где был установлен Windows 7. После этого был куплен диск 500Gb и на него установлен Windows 10. При установке, Windows 10 использовал загрузчик со старого диска и после чего появилась возможность при загрузке выбирать между Windows 10 и Windows 7.
Недавно появилась потребность из системы убрать диск 250Гб, после чего Windows перестала грузиться. Это было связано с тем, что на диске 500Гб отсутствовал EFI загрузчик в скрытом разделе диска.
Для начала необходимо загрузиться в командную строку Windows. Это можно сделать например загрузившись с установочной флешки с Windows. Установочную флешку можно сделать с помощью утилит, скачиваемых с сайта Microsoft: https://www.microsoft.com/ru-ru/software-download/windows10 или https://www.microsoft.com/ru-ru/software-download/windows11
Загрузившись с флешки на экране выбора языка необходимо нажать Shift+F10 после чего запуститься командная строка.
Запускаем утилиту работы с диском diskpart:
diskpart
Изучаем, какие диски и тома есть у нас в системе
list disk
list volume
Находим по размеру основной раздел (том) в котором у нас стоит Windows. Например это диск D Том 5
Теперь мы можем от данного тома откусить кусочек (100Мб) для загрузочного EFI раздела. Также временно обзовем его буквой S
select volume 1 (вместо 1 указываете тот номер, под которым выше значится ваш раздел с системой)
shrink desired=100
create partition efi
format fs=FAT32
assign letter=S
выйдем из утилиты diskpart:
exit
Теперь скопируем в загрузочный раздел необходимые файлы (Windows лежит на диске D, Том 5, EFI-раздел на диске S)
bcdboot d:\windows /s S:
Более полная команда:
bcdboot d:\windows /s S: /f ALL /l ru-ru
где d:\windows - раздел Windows
/s S: - раздел EFI-загрузчика
/f ALL - копирование файлов загрузки для UEFI и BIOS (необязательно, но можно форсить)
/l ru-ru - язык загрузчика
Ну и теперь можно убрать установленную нами букву S с раздела EFI-загрузчика
diskpart
list volume
select volume 5
remove letter=S
exit
Еще команды diskpart:
list disk - Показать диски
select disk 0 - Выбрать диск 0 (Впереди выбранного диска ставится *)
list partition - Показать список разделов выбранного диска
list volume - Показать список томов
select volume 1 - Выбрать том 1 (Впереди выбранного тома ставится *)
detail volume - Информация о выбранном томе (если несколько одинаковых томов и надо определить к какому диску он относится)
detail disk - Информация о выбранном диске
assign letter=S - Назначить выбранному тому букву S
exit - Выход из утилиты diskpart
Команды можно сокращать, например:
lis dis = list disk
lis vol = list volume
sel dis 0 = select disk 0
lis par = list partition
Теги:
Администрирование
Windows