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

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

Что я сделал:

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

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

    • Раздел 1: 80 ГБ (w7);
    • Раздел 2: 30 ГБ (Ubuntu 12.04 -Просто / -);
    • Раздел 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 и swap .

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

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

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

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

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

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

8
задан 26 September 2012 в 15:49

3 ответа

Найдите, где находится загрузчик 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
}

Наконец запустите updateate-grub.

6
ответ дан 26 September 2012 в 15:49

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

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

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

3
ответ дан 26 September 2012 в 15:49

КӨҢҮЛ БУРУҢУЗ: 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 аркылуу сыналган

0
ответ дан 26 September 2012 в 15:49

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

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