Grub2 не может обнаружить Windows 8 [дубликат]

На этот вопрос уже есть ответ здесь:

При установке не обнаружил Windows. Я смонтировал раздел Windows и запустил os-prober, но никаких результатов не дало.

Я могу загрузить Windows или Ubuntu, указав раздел в порядке загрузки UEFI. Похоже, что BIOS не позволяет загрузиться с устаревшими версиями. SecureBoot включен.

Это с Ubuntu 12.04 LTS на Inspiron 15.

Вот gdisk:

   1            2048         1026047   500.0 MiB   EF00  EFI system partition
   2         1026048         1107967   40.0 MiB    FFFF  Basic data partition
   3         1107968         1370111   128.0 MiB   0C01  Microsoft reserved part
   4         1370112         2394111   500.0 MiB   2700  Basic data partition
   5         2394112       544743423   258.6 GiB   0700  Basic data partition
   6       606183424       625140399   9.0 GiB     2700  Microsoft recovery part
   7       544743424       545230847   238.0 MiB   0700  (/boot)
   8       545230848       556949503   5.6 GiB     8200  (swap)
   9       556949504       606181375   23.5 GiB    0700  (/)

При установке ubuntu, я полагаю, я указал, что загрузчик должен быть установлен на / dev / sda.

Я добавил следующее в /etc/grub.d/40_custom, но при загрузке ubuntu не предлагал меню grub:

menuentry "Windows 8" {
set root = "(hd0,4)"

  chainloader +1

  }

Я думаю, что при загрузке очень быстро мигает сообщение «Ошибка диска EFI», прежде чем Ubuntu начнет загрузку.

0
задан 1 November 2013 в 06:31

2 ответа

Сначала попробуйте отключить безопасную загрузку. Хотя Ubuntu теоретически поддерживает безопасную загрузку, все еще есть много сообщений о проблемах, связанных с безопасной загрузкой, особенно в конфигурациях с двойной загрузкой. Я думаю, что маловероятно, что отключение Secure Boot немедленно решит ваши проблемы, но это повысит вероятность того, что любая вещь, которую вы пытаетесь исправить, удастся.

Во-вторых, вы можете попытаться решить проблему с загрузкой несколькими способами, в том числе:

  • Установить мой менеджер загрузки rEFInd. Обратите внимание, что есть флэш-накопитель USB и образы CD-R, которые вы можете попробовать, прежде чем попробовать все это; однако они не загрузят ваши ядра Linux напрямую, если вы не нажмете F2 или Insert дважды и не добавите ro root=/dev/sda9. Если вы устанавливаете пакет Debian, вам больше не нужно это делать. Образы USB / CD-R также должны успешно загружать как Windows, так и Linux через GRUB.
  • Запустите инструмент Boot Repair . Эта программа может решить множество проблем с загрузкой, хотя иногда она не срабатывает, а в редких случаях она может даже усугубить ситуацию, делая Ubuntu не загружаемой.
  • Создайте правильную /etc/grub.d/40_custom запись для Windows. Тот, что в вашем первоначальном вопросе, мог бы работать в системе на основе BIOS, но в EFI он потерпит неудачу. Вы хотели бы что-то, что будет выглядеть примерно так:

.

menuentry "Windows" {
    insmod part_gpt
    insmod chain
    set root='(hd0,gpt1)'
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}

Обратите внимание, что эта точная 40_custom запись не всегда работает; вам может понадобиться настроить его для вашей системы. (То, что работает на одном компьютере, часто с треском проваливается на другом.)

0
ответ дан 1 November 2013 в 06:31

Вы можете полностью удалить разрешение на выполнение из /etc/grub.d/30_os-prober, потому что, даже если он ничего не находит, он устанавливает тайм-аут на 0, поэтому экран grub не виден. Затем исправьте команду chainloader, +1 для диска с разделами msdos, и у вас есть диск с разделами gpt, поэтому он должен выглядеть следующим образом:

chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi

update-grub создаст новый grub. файл cfg, но он помещается в / boot / grub. Вам нужно либо скопировать его в / boot / efi / EFI / ubuntu, либо убедиться, что файл grub.cfg в ... ubuntu является просто заглушкой, которая тянет его в / boot / grub (я думаю, что более поздние выпуски делают это по умолчанию, но 12.04 - нет.)

Даже с фиксированным загрузчиком цепей Windows может все еще не загружаться успешно (ошибка 1091464), поэтому вам все равно придется загружать Windows по умолчанию или через меню загрузки UEFI, как и сейчас.

Убедитесь, что флаг загрузки установлен в разделе EFI. Расположение загрузчика на самом деле - / EFI / ubuntu в разделе efi даже при выборе диска. Файлы должны быть shim.efi, grubx64.efi (подписанная версия), grub.cfg (и, возможно, gcdx64.efi). Они должны подходить для успешной загрузки с безопасной загрузкой из меню UEFI.

0
ответ дан 1 November 2013 в 06:31
  • 1
    Я думаю, что это порвет с пробелами в словах также. – Martin Ueding 3 May 2015 в 09:31

Другие вопросы по тегам:

Похожие вопросы: