Linux(Fedora 20) EFI 啟動Windows出錯 \EFI\Microsoft\Boot\bootmgfw.efi is missing


電腦是雙系統,Windows 8.1+Fedora 20,安裝Fedora時,磁盤上增加了新的EFI System分區,由於本來Windows也有EFI System分區,就出現了兩個EFI System分區,從Fedora的EFI啟動Fedora不會有問題,但是啟動Windows就會出現“\EFI\Microsoft\Boot\bootmgfw.efi is missing”,原因是Windows引導程序根本就沒在Fedora的EFI System分區,要正常啟動Windows,可以在UEFI設置(類似以前的BIOS)中,使用Windows的EFI,既可以啟動Windows,也可以啟動Fedora。要通過Fedora的EFI,我們要知道Windows的EFI System分區安裝位置,使用fdisk命令,能得到分區信息,其中“dev/sda2       2050048      2582527   260M EFI System”,就告訴我的Windows的EFI System分區位置。解決方法1,找到修改“/boot/efi/EFI/fedora/grub.cfg”文件,添加”set root='hd0,gpt2'“(去掉不帶引號),重啟就行。

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager' {
   set root='hd0,gpt2'
   chainloader /EFI/Microsoft/Boot/bootmgfw.efi
   boot
}
### END /etc/grub.d/30_os-prober ###

這種方法出現一個問題,因為grub.cfg文件根據/etc/grub.d/中的文件生成,如果運行”grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg“重新生成文件,你的修改就會失效。

解決方法2,根據grub.cfg中的信息,能確定Windows Boot Manager根據/etc/grub.d/30_os-prober文件生成,修改”/etc/grub.d/30_os-prober“文件,找到,如下位置,添加”set root='hd0,gpt2'“(去掉不帶引號),運行”grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg“,命令,重啟就行。

menuentry '$(echo "${LONGNAME}" | grub_quote)' {
EOF
   save_default_entry | grub_add_tab
   cat << EOF
   set root='hd0,gpt2'
   chainloader /EFI/${DEVICE}
   boot
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM