я только что установил 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
Как я могу зафиксировать это?
Спасибо
Ваша запись 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.
Наконец, я решил отформатировать и переустановить все с нуля ... в основном (не знаю почему) grub перезаписал загрузчик Windows 7, в этом была проблема.