Этот вопрос подобен ответу Двойной загрузки Ubuntu 12.10 на UEFI вдоль Windows 8 (GRUB - ошибка: не может найти команду drivemap), но Windows 8 установлен на разделенном диске наследия.
Что шаги должны быть выполнены, чтобы заставить установку загрузить в режиме UEFI, не преобразовывая в GPT или с помощью DISM?
Я знаю, что обычно не рекомендуется смешать UEFI и начальную загрузку прежней версии, но это может быть удобно в некоторых установках.
Да, возможно загрузить Windows 8 в режиме UEFI даже при установке его на фрагментированном диске прежней версии (MS-DOS/MBR). Конечно, Вам была бы нужна совместимая установка GRUB UEFI на другом фрагментированном диске GPT.
В Windows установите новую загрузочную конфигурацию на объеме C: путем выполнения следующей команды:
bcdboot C:\Windows /s C: /f uefi
При начальной загрузке в режиме UEFI это не только создаст новую загрузочную конфигурацию в C:\EFI\
но также и зарегистрируйте новый загрузчик UEFI в NVRAM. Можно удалить запись позже с efibootmgr
в Ubuntu (для инструкций см.: Как я удаляю "Ubuntu" в меню начальной загрузки BIOS? (UEFI)).
Конечно, можно также выбрать другое местоположение, но этот метод должен быть самым легким. Для получения дополнительной информации на bcdboot
см. соответствующую статью Microsoft Technet.
В Ubuntu добавьте пользовательскую запись меню GRUB путем добавления следующих строк к /etc/grub.d/40_custom
:
menuentry "Windows 8 (BCD-UEFI configuration on system drive /dev/sda2)" --class windows --class os {
insmod part_msdos
insmod ntfs
insmod search_fs_uuid
insmod chain
set root='hd0,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos2 --hint-efi=hd0,msdos2 --hint-baremetal=ahci0,msdos2 2ACC7043CC700B79
else
search --no-floppy --fs-uuid --set=root 2ACC7043CC700B79
fi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
Обратите внимание, что необходимо будет отредактировать следующие параметры, если конфигурация будет отличаться:
msdos2
) из 1-го жесткого диска (hd0
или ahci0
).2ACC7043CC700B79
) с Вашим. В этом примере Вы могли работать sudo blkid /dev/sda2
получить UUID или запустить GParted.msdos
с gpt
.Наконец выполненный sudo update-grub
генерировать новую конфигурацию.
Ответ переместился от https://askubuntu.com/q/377807/40581, поскольку это выглядело неуместным там.