Как загрузить Windows 8 с устаревшего раздела MBR в режиме UEFI через GRUB?
Этот вопрос аналогичен ответу двойной загрузки Ubuntu 12.10 для UEFI в Windows 8 (GRUB - ошибка: не удается найти карту диска с командой), но Windows 8 установлена на устаревшем многораздельном диске.
Какие шаги необходимо выполнить, чтобы установка загрузилась в режиме UEFI без преобразования в GPT или использования DISM?
Я знаю, что в общем случае не рекомендуется смешивать UEFI и устаревшую загрузку, но это может быть удобно в некоторых случаях.
1 ответ
Да, можно загрузить 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 }
Обратите внимание, что вам потребуется изменить следующие параметры, если ваша конфигурация отличается:
- Эта запись настроена для загрузки со 2-го раздела (
msdos2
) 1-го жесткого диска (hd0
или жеahci0
). - Вам также необходимо заменить UUID файловой системы (
2ACC7043CC700B79
) с твоим. В этом примере вы можете запуститьsudo blkid /dev/sda2
чтобы получить UUID или запустить GParted. - Напоминание. В этом примере рассматривается диск, на котором имеется устаревшая таблица разделов. Если у вас GPT, то замените
msdos
сgpt
,
- Эта запись настроена для загрузки со 2-го раздела (
Наконец запустить
sudo update-grub
создать новую конфигурацию.
Ответ перенесен с https://Ask-ubuntu.ru/q/377807/40581 поскольку там он выглядел неуместно.