我刚刚在我的新笔记本电脑上安装了Ubuntu12.04(预装了Win7 64位),现在我不能再加载Win7了( Ubuntu只是从grub加载得很好)。当我在grub菜单中选择Windows 7条目时,会得到以下错误:
Invalid EFI file pathgrub.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) ) 有以下文件(不包括grub文件夹和引导根目录上的其他文件):
./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我怎么才能解决这个问题?
谢谢
发布于 2012-11-12 15:33:33
对于Windows,GRUB条目适用于BIOS模式的引导,而不是EFI模式的引导。这是个稀饭虫。您可以尝试将条目替换为如下内容:
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之外使用不同的引导管理器,或者代替GRUB。例如,rEFInd,将自动检测Windows和GRUB;如果您使用的是3.3.0或更高版本的内核(Ubuntu12.10附带的内核,而不是Ubuntu12.04提供的内核),则可以直接使用rEFInd引导Linux,完全绕过GRUB。胶靴是另一个具有类似引导功能的选项,但如果您想直接使用gummiboot引导Linux,则需要更多的手动维护。
发布于 2012-11-13 09:31:15
最后,我从零开始解决了格式化和重新安装所有的问题。基本上(不知道为什么) grub覆盖了windows 7加载程序,这就是问题所在。
发布于 2022-10-28 15:16:24
到今天为止,在Xubuntu22.04中,我一直在使用UEFI为我的笔记本电脑提供上述信息。但是,现在我不得不将ESP分区的位置添加到链加载程序行中。
这就是我现在的工作配置:
menuentry "Windows 10" {
insmod part_gpt
insmod chain
set root='(hd0,gpt4)'
chainloader (hd0,gpt2)/EFI/Microsoft/Boot/bootmgfw.efi}
此外,为了使它工作,我不得不插入它的文件是位于/etc/grub.d/proxifiedScripts下面的文件“定制”。
同时还发生了另一个麻烦:同一Xubuntu安装(而不是几个安装)的Grub引导节中出现了几组条目。我使用了从PPA安装的grub自定义程序来修复它.
在我看来,不同的条目是通过位于/etc/grub.d (可能是10_linux_proxy、31_linux_proxy和41_linux_proxy )下的几个代理文件生成的。
当然,我不敢手动更改默认设置。
https://askubuntu.com/questions/216215
复制相似问题