Двойная загрузка UEFI для Windows 7 и Ubuntu 12.04 (обе 64-битные). W7 запись не появляется в GRUB

8

После попытки установить обе ОС в течение 2 дней я запутался и злюсь ... У меня SSD 128 ГБ и HDD 500 ГБ оба пустые. Мой ноутбук Asus K55VM. BIOS поддерживает UEFI.

Что я наделал:

  1. Установите новый SSD (Samsung 830 128GB)

  2. Используйте GParted на liveCD для создания новой таблицы разделов (GPT) и создания 3 разделов (в SSD) для различных целей:

    • Раздел 1: 80 ГБ (w7);
    • Раздел 2: 30 ГБ (Ubuntu 12.04 - Just / -);
    • Раздел 3: 10 ГБ не используется (для дальнейшего расширения других разделов)
  3. Установите Windows 7 (с UEFI) в разделе 1. Это создаст:

    • / dev / sda1 -> 100 МБ для системы (загрузка UEFI, я думаю) - FAT32
    • / dev / sda2 -> 100 МБ. для MSR
    • / dev / sda3 -> 79 800 МБ. для данных Windows7

В этом пункте все работает отлично. У меня есть W7. Теперь я устанавливаю Ubuntu 12.04 amd64 (с UEFI) следующим образом:

  1. Устанавливаем / в Раздел 2 -> / dev / sda4 30 Гб ext4, а в hdd устанавливаю / home и меняю местами.

  2. Я выбираю загрузчик в / dev / sda1 (где он должен быть загрузочным UEFI).

  3. Я устанавливаю обновления и перезагружаюсь.

Проблема: теперь просто появляется меню grub с записями Ubuntu, а не Windows 7.

Обнаружено альтернативное решение : когда я включаю ноутбук, перед загрузкой GRUB я нажимаю клавишу ESC и отображаю загрузку BIOS, так что я могу выбрать для загрузки раздел Windows, раздел Ubuntu, DVD, USB и т. Д., Но я думаю, что это не лучший способ загрузки разных ОС.

Я пробовал: sudo update-grub2 безуспешно.

Что я могу делать??

Джо
источник

Ответы:

6

Найдите, где находится загрузчик Windows, смонтировав раздел efi:

sudo mount -t vfat /dev/sdx1 /mnt/efi/

И искать bootmgfw.efi. Затем найдите UUID накопителя:

sudo grub-probe --target=fs_uuid /mnt/efi/EFI/Microsoft/Boot/bootmgfw.efi

Добавьте этот UUID к /etc/grub.d/40_custom:

menuentry "Windows x86_64 UEFI-GPT" {
    search --fs-uuid --no-floppy --set=root UUID
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Наконец-то беги update-grub.

jarondl
источник
Ты мой кровавый герой !! Большое спасибо, что работало довольно хорошо. Вы сделали мой день =)
Джо
1
Для информации, Boot-Repair добавил бы запись в 1 клик. help.ubuntu.com/community/Boot-Repair
LovinBuntu
За исключением Boot-ремонт не работает на моей системе ...
fccoelho
3

Решение jarondl прекрасно, но другое - использовать отдельную программу менеджера загрузки для выбора между GRUB и загрузчиком Windows. Мне известны три менеджера загрузки EFI, которые вы можете установить:

  • ПОМОЩЬ , которая доступна в репозиториях Ubuntu. Обратите внимание, что версия с сайта rEFIt не будет работать на компьютерах на основе UEFI, поскольку она использует формат файлов, специфичный для Mac. Даже версия Ubuntu имеет ряд незначительных глюков на ПК на основе UEFI. В идеале, rEFIt представляет симпатичное меню загрузки GUI (хотя он также имеет текстовый режим).
  • rEFInd - это обновленная версия rEFIt с исправлениями для различных сбоев и расширений UEFI для работы со встроенным загрузчиком EFI ядра 3.3.0. Обратите внимание, что я разветвлял / поддерживаю REFInd.
  • gummiboot, который является текстовым менеджером загрузки. (Этот сайт постоянно забывает, кто я, и не позволяет мне публиковать более двух гиперссылок, в противном случае я бы предоставил одну.)

Обе команды rEFIt и rEFInd автоматически обнаруживают другие загрузчики, поэтому после их настройки они должны обнаружить загрузчик любой ОС и предоставить вам меню. Я еще не пробовал gummiboot, поэтому я не знаю, как это просто настроить, но концептуально он похож на rEFIt / rEFInd. Использование любой из этих программ усложняет процесс загрузки, поэтому, если GRUB работает и вы довольны этим, нет смысла использовать любую из этих программ. Они наиболее полезны, если GRUB темпераментный или просто обычный не работает, как я часто вижу в случае GRUB 2 в системах UEFI. В такой ситуации вы можете отказаться от GRUB 2 в пользу ELILO или загрузчика EFI ядра версии 3.3.0 или новее. Эти загрузчики не могут перенаправить процесс загрузки в Windows, что делает отдельный менеджер загрузки очень полезным.

Род Смит
источник
Refind не поддерживает разделы ntfs ...
fccoelho
1
Тот факт, что rEFInd не поставляется с драйвером NTFS, не имеет значения. Загрузчик Windows EFI находится в системном разделе EFI (ESP), который является FAT, поэтому rEFInd не требуется доступ к тому NTFS. Кроме того, несправедливо выделять РЕЗУЛЬТАТЫ на этот счет; ни rEFIt, ни gummiboot не поставляются с драйвером NTFS.
Род Смит
0

ОБРАТИТЕ ВНИМАНИЕ: только для x64

grub-probe --target=fs_uuid /boot/efi/efi/Microsoft/Boot/bootmgfw.efi

Добавьте это к /etc/grub.d/40_custom:

menuentry "Boot bootx64.efi, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root UUID

**chainloader (${root})/EFI/Boot/bootx64.efi**
}

Другой код не работает.

Проверено на ASUS N56V

Криштиану Занка
источник