Windows 7 / Ubuntu, установленная на отдельных дисках, получает сообщение Invalid EFI при выборе Windows при загрузке

Недавно я решил попробовать Linux, установив, как я понимаю, самый удобный для пользователя дистрибутив Ubuntu. У меня был запасной жесткий диск, после переключения на SSD для моей установки Win 7. Поэтому я чувствовал, что было бы относительно безопасно экспериментировать с Linux на пустом диске.

Я установил Ubuntu, используя рекомендованные настройки (после возни с разделами и разделами подкачки и, я думаю , сумев установить Ubuntu без загрузчика -_-), и все, казалось, было хорошо, и я был рад обнаружить меню, которое предлагало несколько вариантов загрузки, включая недавно установленную Ubuntu и Win 7 на другом диске.

Когда я выбираю Ubuntu, он загружается и работает отлично. Когда я выбираю Win 7, это дает мне неверную ошибку EFI. Когда я меняю порядок загрузки, чтобы сначала использовать SSD, Win 7 загружается, как всегда. С моими установками проблем нет, полагаю, проблема с менеджером загрузки.

Посмотрев похожие вопросы и темы о проблеме EFI, я устанавливаю и запускаю boot-repair, выбирая параметр по умолчанию. В нем упоминалась проблема, связанная с GPT (которую я не совсем помню сейчас), и предлагалось включить опцию отдельного раздела efi, что я и сделал, и перезапустил ее безрезультатно. Я еще не попробовал другой совет в сообщении об ошибке, которое должно было создать раздел с чем-то вроде gParted.

Я пытался установить rEFInd из пакета debian, но он не был выполнен и не завершился.

Буду признателен за любой совет, как исправить мою проблему или правильно установить rEFInd (если это поможет).

Я бы предпочел не менять порядок загрузки каждый раз, когда я хочу сменить ОС, тем более что я использую беспроводную клавиатуру, которая не обнаруживается при запуске. :)

Это 64-битная машина.

http://paste.ubuntu.com/5758960/ - Мой вывод для восстановления загрузки.

РЕДАКТИРОВАТЬ: Попытка переустановки rEFInd, по-видимому, это работало на этот раз, хотя вариант Win 7 только отправил меня в то, что я думаю, GRUB, где его вариант Win 7 все еще дал недопустимую ошибку EFI.

Я прочитал в этой теме Неверный путь к файлу EFI , как загрузчик окон мог быть переименован. Переименование файла в соответствии с инструкциями приводило только к ошибке при запуске из rEFInd. Является ли файл grubx64.efi релевантным?

РЕДАКТИРОВАТЬ 2: В папке Windows на твердотельном накопителе есть файл bootmgfw.efi, стоит ли указывать на параметр загрузчика цепей grub.cfg?

0
задан 13 April 2017 в 15:25

3 ответа

Ваша Windows установлена ​​в устаревшем режиме, но Ubuntu установлена ​​в режиме UEFI. Это не может работать.

Вам нужно конвертировать Ubuntu в режиме Legacy .

Для этого:

  1. через Gparted , удалите раздел sda1. В свободном пространстве создайте раздел BIOS-Boot (неформатированная файловая система, флаг bios_grub).
  2. затем запустите Boot-Repair '111
0
ответ дан 13 April 2017 в 15:25

Ваша установка Windows, кажется, находится на диске MBR. Учитывая, что Microsoft связывает тип таблицы разделов (MBR и GPT) с режимом загрузки (BIOS / CSM / legacy vs. EFI / UEFI), это означает, что Windows почти наверняка была установлена ​​в режиме BIOS. Тот факт, что у вас есть загрузчики Windows на /dev/sdb и /dev/sdc, еще более подтверждает этот анализ. Смешивать Windows в режиме BIOS с Linux в режиме EFI довольно сложно, и GRUB не может справиться с этим.

Самое простое решение, которое не гарантировано, - это отредактировать файл /boot/efi/EFI/refind/refind.conf (или там, где вы установили rEFInd). Раскомментируйте строку scanfor и убедитесь, что среди опций указан hdbios. Если вам повезет, это создаст новый значок в rEFInd, который позволит перенаправить процесс загрузки на загрузчик в режиме BIOS. Это не будет работать, если в вашей прошивке отсутствует CSM; и это также не будет работать, если ваш CSM настроен на загрузку только из /dev/sda. Тем не менее, это достаточно простая вещь, чтобы попробовать, и если она работает, она должна работать нормально. Обратите внимание, что если вы пойдете по этому пути, вы, вероятно, захотите удалить каталог /boot/efi/EFI/Microsoft (из Linux), поскольку он явно не содержит реального загрузчика Windows, а является только копией GRUB, созданной Boot Repair. (Вот почему при выборе Windows из rEFInd запускается GRUB.)

Другое решение - установить версию GRUB в режиме BIOS (из пакета grub-pc; при его установке следует автоматически удалить версию GRUB в режиме EFI) и перенастроить прошивку для загрузки только в режиме BIOS / CSM / legacy. Последнюю часть задачи невозможно описать подробно, потому что то, как вы это делаете, варьируется от одного компьютера к другому.

Если все это не помогло, вам может потребоваться преобразовать /dev/sda из GPT в MBR. Вы можете сделать это с помощью gdisk: Запустите gdisk на диске, введите r, чтобы войти в recovery & amp; В меню преобразования введите g для преобразования из GPT в MBR, введите p, чтобы просмотреть таблицу разделов, чтобы убедиться, что все ваши разделы включены, и введите w, чтобы сохранить изменения. Затем вам нужно будет переустановить версию GRUB в режиме BIOS. (Весь этот процесс в основном является последней попыткой загрузить компьютер в режиме BIOS, а не в режиме EFI.)

0
ответ дан 13 April 2017 в 15:25

Определенно, «chainloader +1» не подходит для загрузки EFI, но я думал, что восстановление загрузчика исправило эти ошибки как «chainloader ($ {root}) / EFI / Microsoft / Boot / bkpbootmgfw.efi« Обратите внимание » bkp "в названии (может быть, в конце), это оригинальный загрузчик Windows. У вас должен быть отдельный раздел efi на новом диске Ubuntu, но, возможно, установщик фактически смонтировал тот раздел на ssd (Если вы запустили установку с рабочего стола «try», вы можете иметь оболочку, готовую размонтировать неправильный efi и смонтировать правый). Если EFI пуст на новом диске, просто установите его вручную - скопируйте тот, который на SSD, будет работать. Теперь файл grub.cfg для 12.04.2, я думаю, находится в разделе EFI, а не в / boot / grub, так что, возможно, именно так boot-repair пропустил исправление. Проверьте два файла, /boot/grub/grub.cfg и /boot/efi/EFI/ubuntu/grub.cfg, и исправьте один в пути EFI (должен просто быть в состоянии скопировать другой, если это для вас исправлен один ремонт багажника). 13.04 все изменилось, поэтому путь EFI grub.cfg использует другой.

0
ответ дан 13 April 2017 в 15:25

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

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