Недопустимый путь к файлу EFI

я только что установил Ubuntu 12 на своем новом ноутбуке (с 64 битами Win7 пред установленный) в режиме EFI, и теперь я не могу больше загружать Win7 (Ubuntu просто загружается прекрасный от личинки). Когда я выбираю запись Windows 7 в меню личинки, я получаю эту ошибку:

Invalid EFI file path

grub.cfg запись (сгенерированный восстановлением начальной загрузки):

menuentry "Windows 7 (loader) (on /dev/sda3)" --class windows --class os {
    insmod part_gpt
    insmod ntfs
    set root='(hd0,gpt3)'
    search --no-floppy --fs-uuid --set=root B8449665449625E2
    chainloader +1
}

Это - разделенный вывод:

GNU Parted 2.3
Viene usato /dev/sda
Benvenuti in GNU Parted. Digitare "help" per l'elenco dei comandi.
(parted) print list
Modello: ATA ST9500325AS (scsi)
Disco /dev/sda: 500GB
Dimensione del settore (logica/fisica): 512B/512B
Tabella delle partizioni: gpt

Numero  Inizio  Fine   Dimensione  File system  Nome                  Flag
 5      1049kB  106MB  105MB       fat32                              avvio
 3      345MB   200GB  200GB       ntfs         Basic data partition
 1      200GB   200GB  1049kB                                         bios_grub
 2      200GB   496GB  296GB       ext4
 4      496GB   500GB  4172MB

Начальная загрузка раздел EFI, смонтированный как

/dev/sda5 on /boot/efi type vfat (rw) ) 

имеет следующие файлы (исключая папку личинки и другие файлы на корне начальной загрузки):

./efi
./efi/efi
./efi/efi/boot
./efi/efi/boot/bootx64.efi
./efi/efi/ubuntu
./efi/efi/ubuntu/grubx64.efi
./efi/efi/Microsoft
./efi/efi/Microsoft/Boot
./efi/efi/Microsoft/Boot/bootmgfw.efi.grb
./efi/efi/Microsoft/Boot/bootmgfw.efi
./efi/efi/Microsoft/Boot/bootx64.efi.grb
./efi/efi/Microsoft/Boot/bootx64.efi

Как я могу зафиксировать это?

Спасибо

10
задан 12 November 2012 в 18:08

2 ответа

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

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

Я не даю никаких гарантий, что это сработает, но это может сработать. Если это так, добавьте эту запись в /etc/grub.d/40_custom, чтобы она снова создавалась всякий раз, когда Ubuntu обновляет свою конфигурацию GRUB.

Другим вариантом является использование другого менеджера загрузки в дополнение к GRUB или вместо него. rEFInd, , например, автоматически обнаружит как Windows, так и GRUB; и если вы используете ядра версии 3.3.0 или новее (поставляются с Ubuntu 12.10, но не с Ubuntu 12.04), вы можете загружать Linux напрямую с помощью rEFInd, полностью минуя GRUB. gummiboot - это еще один вариант с похожими возможностями загрузки, но он требует больше ручного обслуживания, если вы хотите загружать Linux напрямую с помощью gummiboot.

0
ответ дан 12 November 2012 в 18:08

Наконец, я решил отформатировать и переустановить все с нуля ... в основном (не знаю почему) grub перезаписал загрузчик Windows 7, в этом была проблема.

0
ответ дан 12 November 2012 в 18:08

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

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