Загрузка Legacy Windows из UEFI Grub

Иногда бывает ситуация, когда есть несколько накопителей с установленными операционными системами. Одна из них, допустим, Linux, которая установлена на GPT раздел и, соответственно, загружается в UEFI режиме. И есть Windows, но установленная на диск с MBR. Это начальные условия. Теперь можно поговорить про проблему загрузки Windows из grub, которая заключается в том, что при установке Linux, не добавляется опция загрузки Windows в меню grub.


По разным источникам в интернете было выяснено, что загрузчик может загружать только те системы, которые находятся в том же режиме, что и сам загрузчик. Но при этом legacy загрузчик не сможет загрузить UEFI систему, потому что о ней он естественно не знает.

Для того, чтобы UEFI загрузчик смог загрузить legacy систему, в legacy системе нужно сформировать загрузочную конфигурацию. В Windows это делается так


bcdboot C:\Windows /s C: /f uefi


, где /s — параметр, определяющий букву тома, назначенную целевому системному разделу, в который копируются файлы среды загрузки. По умолчанию используется системный раздел, который определяется микропрограммой,
/f uefi — в сочетании с командой /s, это указание типа встроенного ПО целевого системного раздела.

Команда создаст EFI папку на диске C: и поместит туда файлы, необходимые для успешного чтения UEFI загрузчиком

Теперь осталось добавить пункт меню в grub. Раз через os-prober это не получается, то пишем в файл /etc/grub.d/40_custom следующую конфигурацию:


menuentry "Windows 10" --class windows --class os {
insmod ntfs
insmod chain
set root='hd0,2'
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}


где «set root=’hd0,2′» — выбор раздела на диске с Windows
chainloader — грузит загрузчик из выбранного раздела, а уже он будет грузить legacy систему.

После этого в списке выбора систем появится пункт про Windows 10 и при выборе этого пункта загрузиться система.

Подписаться
Уведомить о
guest

2 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
egf
egf
8 месяцев назад

ef

egf
egf
8 месяцев назад
Ответить на  egf

Извините, короче спасибо за статью